Trên cơ sở đó, luận văn trình bày các bớc chính để xây dựng mô hìnhmạng nơ ron dự báo dữ liệu và ứng dụng mô hình đó trong bài toán dự báo đỉnh lũsông Trà Khúc tại trạm khí tợng Sơn Gian
Trang 1Mở đầu
Dự báo dữ liệu là bài toán quan trọng mang lại nhiều lợi ích thiết thực phục
vụ con ngời, nó giúp con ngời nắm bắt đợc các quy luật vận động trong tự nhiên vàtrong đời sống kinh tế xã hội Trong những năm gần đây, các mạng nơ ron truyềnthẳng nhiều lớp đợc thực tiễn chứng minh là khá mạnh và hiệu quả trong các bàitoán dự báo và phân tích số liệu, đặc biệt trong các bài toán dự báo sử dụng năng l-ợng, dự báo kinh tế, dự báo trong tự nhiên…
Các mạng nơ ron truyền thằng phải đợc huấn luyện trớc khi sử dụng để thựcthi một bài toán dự báo trong thực tế Với một cấu trúc mạng đợc chọn, quá trìnhhuấn luyện mạng là quá trình hiệu chỉnh các trọng số của mạng và thờng đợc phátbiểu dới dạng một bài toán tối thiểu hoá hàm sai số huấn luyện Thủ tục huấn luyệncần một giải thuật tìm kiếm có khả năng tìm lời giải toàn cục, không phụ thuộc vàoquá trình khởi động các trong số ban đầu Ngoài ra, các giải thuật này phải có khảnăng tìm kiếm hiệu quả trong không gian nhiều chiều do số lợng trọng số trong cácmạng nơ ron là khá lớn
Giải thuật GA là giải thuật tìm kiếm dựa trên quá trình chọn lọc tự nhiên, ditruyền và tiến hóa Các nguyên lý cơ bản của giải thuật đợc tác giả J.H.Holland đềxuất lần đầu vào năm 1962, nền tảng toán học của giải thuật GA đợc tác giả công bốtrong cuốn sách “Sự thích nghi trong các hệ thống tự nhiên và nhân tạo” xuất bảnnăm 1975 Giải thuật GA đợc xem nh một phơng pháp tìm kiếm có bớc chuyển ngẫunhiên mang tính tổng quát để giải các bài toán tối u hoá Với những đặc thù riêngcủa mình, giải thuật GA đợc sử dụng khá hiệu quả trong thủ tục huấn luyện mạngnơ ron Tuy nhiên, giải thuật GA gặp khó khăn về sự hội tụ Giải thuật GA đơn giản
do Holland đề xuất đã đợc chứng minh là không bảo đảm sự hội tụ hoặc không hội
tụ tới lời giải toàn cục Ngoài ra, các giải pháp cải tiến chiến l ợc thay thế hoặc toán
tử đột biến tuy giúp cho giải thuật GA hội tụ, nhng sự hội tụ này dễ dẫn đến hiện ợng hội tụ sớm, nghĩa là giải thuật kết thúc tại một cực trị địa phơng mà không cókhả năng tìm thấy cực trị toàn cục
t-Giải thuật huấn luyện kinh điển lan truyền ngợc của sai số (giải thuật BP) đợc
sử dụng rộng rãi nhất trong việc huấn luyện mạng nơ ron truyền thẳng Giải thuậtnày đảm bảo sự hội tụ nhng dễ hội tụ tại một cực trị địa phơng mà không có khảnăng tìm kiếm cực trị toàn cục Mặt khác, kết quả huấn luyện của giải thuật này phụthuộc vào nhiều yếu tố, đặc biệt là quá trình khởi động các trọng số ban đầu
Do nhu cầu cấp thiết phải xây dựng một giải thuật vừa có khả năng tìm kiếmlời giải toàn cục, vừa phải đảm bảo sự hội tụ để huấn luyện cho mạng nơ ron truyềnthẳng thực thi một bài toán dự báo trong thực tế, luận văn tập trung nghiên cứu giải
Trang 2pháp tích hợp giải thuật GA với giải thuật BP trong việc huấn luyện mạng nơ rontruyền thẳng Trên cơ sở đó, luận văn trình bày các bớc chính để xây dựng mô hìnhmạng nơ ron dự báo dữ liệu và ứng dụng mô hình đó trong bài toán dự báo đỉnh lũsông Trà Khúc tại trạm khí tợng Sơn Giang.
Những đóng góp chính của luận văn
Luận văn trình bày các vấn đề lý thuyết về mạng nơ ron, mạng nơ ron truyềnthẳng nhiểu lớp và thuật toán BP dạng tổng quát để huấn luyện mạng, một sốvấn đề về sử dụng giải thuật BP để huấn luyện mạng thực thi một bài toántrong thực tế
Luận văn trình bày các vấn đề lý thuyết về giải thuật SGA và những cải tiếncủa giải thuật SGA
Luận văn xây dựng giải pháp tích hợp giải thuật GA với giải thuật BP thànhmột giải thuật lai GA - BP dể huấn luyện mạng nơ ron truyền thẳng nhiểulớp
Luận văn trình bày ứng dụng giải thuật lai GA - BP trong mô hình mạng nơron dự báo Giải thuật lai GA - BP đã đợc cài đặt và thử nghiệm để huấnluyện mạng nơ ron truyền thẳng trong bài toán dự báo khí tợng thuỷ văn
Cấu trúc của luận văn
Phần mở đầu của luận văn giới thiệu nội dung nghiên cứu, tính cấp thiết của
đề tài và những đóng góp chính của luận văn Chơng 1 giới thiệu các khái niệm cơbản và phạm vi ứng dụng của mạng nơ ron Chơng 2 giới thiệu về giải thuật SGA vàcác cải tiến của giải thuật SGA Chơng 3 giới thiệu về mạng nơ ron truyền thẳngnhiều lớp, giải thuật BP, các vấn đề về sử dụng giải thuật BP và xây dựng giải pháptích hợp giải thuật GA với giải thuật BP trong việc huấn luyện mạng nơ ron truyềnthẳng nhiều lớp Chơng 4 trình bày mô hình thuật toán và cài đặt giải thuật lai GA -
BP Chơng 5 trình bày các bớc xây dựng mô hình mạng nơ ron dự báo và thửnghiệm giải thuật GA - BP trong việc huấn luyện mạng nơ ron để thực thi bài toán
dự báo đỉnh lũ sông Trà Khúc tại trạm Sơn Giang Phần kết luận nêu ra các kết luận
từ luận văn và các hớng nghiên cứu tiếp theo Phần phụ lục đa ra một số chức năngcủa chơng trình đợc viết bằng Visual Basic
Trang 4Chơng 1
Các khái niệm cơ bản về mạng nơ ron
Chơng này đề cập đến các vấn đề sau:
1.1 Nơ ron sinh học và mạng nơ ron sinh học
1.2 Nơ ron nhân tạo
1.3 Mạng nơ ron nhân tạo
1.4 Thủ tục học của mạng nơ ron
1.5 Phạm vi ứng dụng của mạng nơ ron
1.1 Nơ ron sinh học và mạng nơ ron sinh học
Hệ thần kinh ở ngời có khoảng 1010 tế bào thần kinh đợc gọi là các nơ ron[24] Mỗi nơ ron gồm có ba phần: thân nơ ron với nhân ở bên trong, một đầu thần
kinh ra và một hệ thống hình cây các đầu thần kinh vào Độ lớn của các tín hiệu vào
có thể bị thay đổi khi đợc truyền qua các khớp thần kinh có trên các nhánh thần kinh vào Tỷ lệ biến đổi tín hiệu ở khớp thần kinh đợc gọi là độ khuyếch đại khớp và đợc gọi là các trọng số trong các nơ ron nhân tạo Theo các nghiên cứu về sinh học, chức
năng của hệ thần kinh không phụ thuộc nhiều vào vai trò của từng nơ ron đơn lẻ mà
phụ thuộc vào cách mà toàn bộ các nơ ron đợc nối với nhau, gọi là mạng nơ ron sinh
học [24].
1.2 Nơ ron nhân tạo
Nơ ron nhân tạo là mô hình toán học mô phỏng nơ ron sinh học Mỗi nơ ron
nhân tạo đợc gọi là một đơn vị xử lý với chức năng: nhận tín hiệu vào từ các đơn vị
phía trớc (hay một nguồn bên ngoài), tính tín hiệu ra từ các tín hiệu vào và lantruyền tín hiệu ra sang các đơn vị khác
i i ji
a
1
) ( j
Mỗi tín hiệu đầu vào nơ ron thứ j đợc ký hiệu là x i với trọng số tơng ứng là
w ji Đại lợng đo tín hiệu tổng cộng đi vào nơ ron thứ j, ký hiệu là a j, đợc xác địnhmột cách đơn giản nh sau :
a j là hàm của các tín hiệu x i và các trọng số w ji , gọi là Hàm kết hợp
Trang 5 Hàm kết hợp là tổng các tích của tín hiệu x i và trọng số tơng ứng w j :
j n
i
i ji
j w x
1
Trong đó là một tham số đợc gọi là ngỡng của nơ ron Nếu w ji>0, nơ ron
đ-ợc coi là ở trong trạng thái kích thích Nếu w ji < 0, nơ ron ở trạng thái kiềm chế.
Quá trình biến đổi giá trị a j thành tín hiệu đầu ra z j đợc thực hiện bởi hàm
kích hoạt (hàm chuyển) phi tuyến z j = g(a j ) Hàm kích hoạt phải thoả mãn các điều
kiện sau:
Tín hiệu đầu ra z j là không âm với bất kể giá trị nào của a j
Những hàm thỏa mãn điều kiện trên còn đợc gọi là các hàm nén theo nghĩa
chúng nén tín hiệu đầu ra vào một khoảng nhỏ Có khá nhiều hàm thoả mãn các
điều kiện trên, song trong thực tế chỉ có một số hàm thờng đợc sử dụng trong cácmạng nơ ron nh sau
) if(
0
1 ) (
x
x x
g
Vì hàm này rất thuận tiện khi đa câu trả lời có hay không nên nó thờng xuyên
đợc sử dụng cho các tín hiệu ra cuối cùng của mạng
) if(
0
1 ) (
x
x x
g
4) Hàm sigmoid (Sigmoid function (logsig))
x
e x
1
1 ) (Hàm này đặc biệt thuận lợi khi sử dụng cho các mạng đợc huấn luyện bằnggiải thuật BP, bởi vì nó dễ lấy đạo hàm, do đó có thể giảm đáng kể tính toán trongquá trình huấn luyện Mặt khác, hàm này đợc ứng dụng cho các bài toán mà đầu ramong muốn rơi vào khoảng [0,1]
1.3 Mạng nơ ron nhân tạo
Trang 6giữa các nơ ron Cấu trúc mạng nơ ron gồm cơ cấu tổ chức và sơ đồ kết nối.
Cơ cấu tổ chức thờng đợc xác định bởi số lớp mạng và số nơ ron trong mỗi
lớp:
Lớp vào : Các nơ ron trong lớp vào gọi là các nơ ron vào, chúng không xử
lý thông tin mà chỉ mã hóa mẫu đa vào mạng để xử lý Thông thờng, sốthuộc tính của mẫu đa vào mạng bằng số nơ ron vào, chính là số đầu vàocủa mạng
Lớp ẩn : Các nơ ron trong lớp này gọi là các nơ ron ẩn vì chúng khôngthể
quan sát trực tiếp đợc Mạng có thể có một hay nhiều lớp ẩn Chúngcung cấp các mô hình toán học phi tuyến cho mạng
Lớp ra : Các nơ ron ở lớp này gọi là các nơ ron ra, các nơ ron này mã hoágiá trị hay khái niệm của các mẫu đa vào mạng Ví dụ, trong bài toánphân lớp, mỗi đầu ra là đại diện cho một lớp các đối tợng
Sơ đồ kết nối xác định bởi phơng thức kết nối giữa các nơ ron trong mạng
[21]:
Mạng truyền thẳng : Luồng dữ liệu đi từ các nơ ron vào đến các nơ ron rachỉ đợc truyền thẳng Không có các liên kết từ các nơ ron ra tới các nơron vào trong cùng một lớp hay của các lớp trớc đó
ji
w w kj(2)
Hình 1.2: Mạng nơron truyền thẳng nhiều lớp (Feed-Forward Neural Network)
Trang 7 Mạng hồi quy: Có chứa các liên kết ngợc, nghĩa là các liên kết từ nơ ronlớp ra tới nơ ron lớp vào trong cùng một lớp hoặc các lớp trớc đó.
Dới đây là các thông số cấu trúc của mạng nơ ron nhân tạo:
Sơ đồ kết nối (mạng truyền thẳng hay hồi quy)
Số tìn hiệu vào và số tín hiệu ra
Số lớp mạng
Số nơ ron trên mỗi lớp
Số lợng các trọng số của mỗi lớp
1.4 Thủ tục học của mạng nơ ron
Thành phần quan trọng nhất và không thể thiếu của các mạng nơ ron là cácthủ tục học (giải thuật huấn luyện mạng) Có thể chia các thủ tục này thành hai
nhóm chính là học tham số và học cấu trúc Cả hai thủ tục học này có thể đợc thực
hiện đồng thời hoặc tách biệt Các thủ tục học tham số lại có thể đợc chia thành ba
lớp nhỏ hơn là học có thầy [24], học tăng cờng [6] và học không có thầy [16].
Học tham số
Với một cấu trúc mạng cho trớc, các trọng số của mạng (gọi là các tham sốcủa mạng) phải đợc xác định trớc khi sử dụng mạng để thực thi một nhiệm vụ cụthể Ngoại trừ trờng hợp các mạng nơ ron một lớp Hopfield (các trọng số đợc tínhtoán một cách giải tích), thông thờng, các trọng số của mạng đợc khởi tạo ngẫunhiên trong một khoảng nhất định Học tham số là quá trình điều chỉnh các trọng số
để mạng nhận biết đợc mối quan hệ giữa đầu vào và đầu ra mong muốn Rất nhiềucác thuật toán học đợc đề xuất để tìm tập trọng số tối u đối với mỗi bài toán, các
thuật toán đó có thể chia thành hai nhóm chính : Học có thầy (Supervised learning)
và Học không có thầy (Unsupervised Learning).
Trang 8 Học có thầy
Mạng đợc học bằng cách cung cấp cho nó các cặp mẫu đầu vào và đầu ramong muốn Sai số giữa các đầu ra thực tế so với các đầu ra mong muốn đợc thuậttoán sử dụng để hiệu chỉnh các trọng số trong mạng
Tập mẫu là tập các cặp véc tơ vào - ra mong muốn M = {xi,yi)} đợc sử dụng
để luyện mạng nơ ron Đối với mỗi véc tơ tín hiệu vào x i, mạng nơ ron tính toán tín
hiệu ra out và so sánh tín hiệu này với tín hiệu ra mong muốn y i để tạo ra tín hiệu sai
số Tín hiệu sai số này xác định bề mặt sai số là hàm của các trọng số, có thể dùng
nh hàm mục tiêu để hiệu chỉnh các trọng số Các giải thuật tìm kiếm đợc áp dụngtrong thủ tục học để hiệu chỉnh các trọng số sao cho mạng nơ ron có thể sản sinh ra
các tín hiệu ra out với một sai số chấp nhận đợc so với tín hiệu ra mong muốn [13].
Thay đổi
T rọng số
Đích Sai số
+
-Hình 1.4 Sơ đồ học có thầy
Với phơng pháp học không có thầy, không có thông tin phản hồi từ môi trờng
bên ngoài để chỉ ra rằng đầu ra out của mạng là đúng hay sai Mạng nơ ron phải tự
khám phá các đặc trng, các mối tơng quan, tính cân xứng của các mẫu học một cách
tự động Đối với phần lớn các biến thể của học không có thầy, các đích trùng với
đầu vào Nói một cách khác, học không có thầy luôn thực hiện một công việc tơng
tự nh một mạng tự liên hợp, cô đọng thông tin từ dữ liệu vào
Học cấu trúc
Trong phần học tham số, giả định là đã có một cấu trúc mạng Thủ tục họctham số tinh chỉnh các giá trị trọng số sao cho mạng hoạt động nh mong muốn Thủtục học cấu trúc tìm kiếm các tham số cấu trúc của mạng để tạo ra một mạng hoạt
động tốt nhất Thực chất, học cấu trúc là việc tìm ra số lớp ẩn và số nơ ron trên mỗilớp ẩn vì số đầu vào và số đầu ra của mạng là xác định đối với một bài toán cụ thể
Trang 9Kết quả học cấu trúc phụ thuộc nhiều vào kết quả học tham số Do đó, việcxây dựng một giải thuật tìm kiếm cho thủ tục học tham số là cần thiết Giải thuật tìmkiếm này phải có khả năng tìm kiếm lời giải toàn cục, tìm kiếm hiệu quả trongkhông gian nhiều chiều và có thể sử dụng cho nhiều cấu trúc mạng khác nhau.Trong những năm gần đây, một số giải thuật tối u toàn cục mang tính tất định vàmột số giải thuật mang tính xác suất đã đợc đề xuất Các giải thuật mang tính xácsuất bao gồm các giải thuật tiến hóa{3] mà giải thuật GA là một ví dụ điển hình.Giải thuật GA sẽ đợc trình bày trong chơng 2 của luận văn.
1.5 Phạm vi ứng dụng của mạng nơ ron
Mạng nơ ron thờng đợc ứng dụng trong các lĩnh vực nh phân loại(classification), mô hình hóa (modeling), biến đổi (transformation and mapping) và
dự báo các sự kiện phụ thuộc thời gian
Mô hình hóa
Hệ thống phân loại thờng đa ra câu trả lời rời rạc nh có, không hoặc một sốnguyên định danh đối tợng đầu vào thuộc lớp nào Tuy nhiên, việc mô hình hóa yêucầu hệ thống phải sản sinh ra các câu trả lời mang tính liên tục Một số lợng nhỏ các
số liệu thực nghiệm đợc sử dụng để xây dựng mô hình, mô hình này có thể đa ra các
dự báo cho tất cả các đối tợng đầu vào có thể Việc tìm ra đờng cong phù hợp vớicác số liệu thực nghiệm là một ví dụ ứng dụng thuộc dạng này Các ứng dụng thuộcdạng này phần lớn là thủ tục của một biến vào và một biến ra nh sau:
y = f (x, a, b,…, p)Hàm f chứa một tập các tham số a, b,…, p Các tham số này phải đợc xác
định bằng việc tối thiểu hóa độ chênh lệch giữa số liệu thực nghiệm và giá trị tínhtoán từ mô hình Mô hình hóa cũng có thể mở rộng cho bài toán nhiều biến vào -một biến ra hoặc nhiều biến vào - nhiều biến ra
Việc mô hình hóa thờng đợc sử dụng cho các đối tợng có ít biến, khoảng từ 1
đến 10 Điều này có nghĩa là thờng sử dụng các mạng nhỏ, thời gian tính cũng nh tàinguyên máy tính ít hơn so với các mạng dùng cho việc phân loại
Biến đổi
Trang 10Việc biến đổi nhằm mục đích nén các đối tợng từ không gian m chiều vàokhông gian có số chiều nhỏ, khoảng hai hoặc ba Qua việc nén các đối tợng này,chúng sẽ bộc lộ những đặc điểm mà chúng ta không nhận thấy khi chúng ở trongkhông gian nhiều chiều Việc biến đổi tơng tự nh việc nhóm các đối tợng hay phânloại Sự khác biệt không lớn lằm nằm ở phơng pháp biểu diễn các kết quả Nhữngcâu hỏi mà việc biến đổi có thể trả lời là bàn đồ của toàn bộ đối tợng nh thế nào, cóbao nhiêu vùng trên bản đồ có thể phân biệt đợc, hình dáng các vùng đó nh thếnào…
Một trong những ứng dụng của biến đổi là tiền xử lý số liệu Thông qua tiền
xử lý, các đối tợng điển hình đợc chọn từ tập vô số các đối tợng ngẫu nhiên nhận
đ-ợc, loại trừ đợc các đối tợng d thừa hay trùng lặp Điều này rất quan trọng khi chọncác đối tợng làm mẫu học cho mạng truyền thẳng huấn luyện bằng giải thuật BP đềcập ở chơng 3
Dự báo các sự kiện phụ thuộc thời gian
Lĩnh vực nghiên cứu các quá trình phụ thuộc thời gian là một trong nhữnglĩnh vực chính trong nghiên cứu điều khiển quá trình ở đây, mô hình dự báo đợcxây dựng dựa trên một chuỗi số liệu đợc ghi nhận theo thời gian Trong mô hìnhnày, các biến của tín hiệu vào và tín hiệu ra về cơ bản là giống nhau Chỉ một điềukhác biệt là, tín hiệu vào là các giá trị hiện tại và quá khứ của các biến quá trình, tínhiệu ra là giá trị dự báo trong tơng lai của các biến quá trình đó
Trang 11Chơng 2
Giải thuật di truyền
Chơng này trình bày các vấn đề sau:
2.1 Tổng quan về giải thuật di truyền
2.2 Giải thuật di truyền đơn giản
2.3 Nền tảng toán học của giải thuật di truyền
2.4 Những cải tiến tiếp theo của giải thuật di truyền
2.1 Tổng quan về giải thuật di truyền
Giải thuật GA thuộc lớp các giải thuật tìm kiếm tiến hóa Khác với phần lớncác giải thuật tìm kiếm theo điểm, giải thuật GA thực hiện tìm kiếm song song trênmột tập gọi là quần thể các lời giải có thể Thông qua việc áp dụng các toán tử ditruyền, giải thuật GA trao đổi thông tin giữa các cực trị và do đó làm giảm thiểu khảnăng kết thúc giải thuật tại một cực trị địa phơng Trong thực tế, giải thuật GA đã đ-
ợc áp dụng thành công trong nhiều lĩnh vực bao gồm cả thủ tục huấn luyện mạng nơron [7, 11]
Nội dung giải thuật di truyền
Giải thuật GA lần đầu tiên đợc tác giả J H Holland giới thiệu vào năn 1962[12, 14] Giải thuật GA mô phỏng quá trình tồn tại của các cá thể có độ phù hợp tốtthông qua quá trình tiến hóa trong tự nhiên, sao cho khi thực thi giải thuật, quần thểcác lời giải ban đầu tiến hoá dần tới lời giải mong muốn
Giải thuật GA duy trì một quần thể các lời giải có thể của bài toán tối u hóa
Mỗi lời giải gọi là một cá thể hay một nhiễm sắc thể, thờng đợc mã hóa dới dạng một chuỗi các gen, giá trị của các gen có trong chuỗi đợc lấy từ một bảng các ký tự
đợc định nghĩa trớc Mỗi chuỗi gen đợc liên kết với một giá trị gọi là giá trị thích nghi, còn gọi là độ phù hợp của chuỗi Độ phù hợp của mỗi chuỗi gen đánh giá độ
thích nghi của nó với môi trờng (độ tốt xấu của lời giải) và đợc dùng trong quá trìnhchọn lọc
Quần thể mới đợc tạo ra bằng cách sử dụng các quá trình chọn lọc, lai ghép
và đột biến Quá trình chọn lọc sao chép các cá thể có độ phù hợp tốt vào một quần
thể tạm thời đợc gọi là quần thể bố mẹ Các cá thể trong quần thể bố mẹ đợc ghép
đôi một cách ngẫu nhiên và tiến hành lai ghép tạo ra các cá thể con Sau khi tiếnhành quá trình lai ghép, giải thuật GA mô phỏng một quá trình khác trong tự nhiên
Trang 12là quá trình đột biến, trong đó các gen của các cá thể con tự thay đổi giá trị với mộtxác xuất nhỏ.
Nh vậy, giải thuật GA xuất phát với tập lời giải ban đầu, thông qua nhiều bớctrong quá trình tiến hoá hình thành các tập lời giải mới tốt hơn, và cuối cùng tìm ralời giải đủ tốt chấp nhận đợc (lời giải gần với lời giải tối u)
Dới đây là sơ đồ khối của giải thuật di truyền
2.1 Sơ đồ khối của giải thuật di truyền
Các bớc chính trong việc áp dụng giải thuật di truyền
Để áp dụng giải thuật GA giải một bài toán trong thực tế, các bớc sau đây cần
đợc thực hiện:
Bớc 1 : Chọn tập lời giải ban đầu cho bài toán.
Bớc 2 : Mã hoá các lời giải dới dạng các chuỗi, thông thờng các lời giải đợc
mã hóa thành các chuỗi nhị phân
Bớc 3 : Tìm hàm số thích nghi (hàm phù hợp) cho bài toán và tính giá trị
thích nghi cho mỗi lời giải , còn gọi là giá trị độ phù hợp
Trang 13Bớc 4 : Dựa trên giá trị thích nghi của mỗi lời giải để thực hiện chọn lọc
(selecttion) và tiến hóa các lời giải Các phơng pháp tiến hóa gồm lai ghép (crossover) và đột biến (mutation).
Bớc 5 : Tính các giá trị thích nghi cho các lời giải mới và loại bỏ các lời giải
kém nhất, chỉ giữ lại một số nhất định các lời giải
Bớc 6 : Nếu cha tìm đợc lời giải tối u hay cha hết hạn chu kỳ xác định thì trở
lại Bớc 4 để tìm lời giải mới
Bớc 7 : Tìm đợc lời giải tối u chấp nhận đợc hoặc nếu chu kỳ cho phép đã
chấm dứt thì báo cáo kết quả tính đợc
Có nhiều lựa chọn khác nhau cho từng vấn đề trên Phần tiếp theo sẽ đa racách lựa chọn theo J.H.Holland khi thiết kế phiên bản giải thuật GA đầu tiên Giảithuật này đợc gọi là giải thuật di truyền đơn giản (SGA) [12,14]
2.2 Giải thuật di truyền đơn giản
J H Holland sử dụng mã hóa nhị phân để biểu diễn các cá thể, lý do là phầnlớn các bài toán tối u hóa, lời giải đều có thể đợc mã hóa thành chuỗi nhị phân khá
đơn giản [14] Mỗi lời giải đợc mã hóa thành một chuỗi bít, mỗi chuỗi bít sau đó
đ-ợc giải mã để lấy lại giá trị thực và giá trị hàm mục tiêu đđ-ợc tính theo giá trị thựcnày Tuỳ từng bài toán cực tiểu hay cực đại, giá trị hàm mục tiêu đợc biến đổi thànhgiá trị thích nghi cho từng chuỗi Quần thể chuỗi ban đầu đợc khởi động ngẫu nhiên
và sau đó đợc tiến hóa từ thế hệ này sang thế hệ khác bằng cách sử dụng ba toán tử :
Mô hình chọn lọc thờng đợc dùng là bánh xe xổ số (roulette wheel selection).Giải thuật GA sử dụng một vòng tròn trong đó mỗi cá thể chiếm một phần tơng với
độ rộng là xác suất chọn lọc của mỗi cá thể Xác suất chọn lọc pi của cá thể vi đợctính theo công thức pi = eval(vi)/F, trong đó eval(vi) là giá trị thích nghi của cá thể
vi, F là tổng giá trị thích nghi của toàn quần thể F=(eval(v i )
Trang 14Mỗi khi thực hiện một lần quay vòn tròn, một ứng cử viên đợc chọn cho việclai ghép Việc quay vòng tròn đợc thực hiện qua những bớc sau:
Bớc 1 : Đánh số các cá thể trong quần thể Tính tổng giá trị thích nghi của
toàn quần thể và gọi nó là tổng thích nghi (Total fitness)
Bớc 2 : Sinh một số ngẫu nhiên n trong khoảng từ 0 đến tổng thích nghi Bớc 3 : Trả lại cá thể đầu tiên trong quần thể có giá trị thích nghi của nó cộng
với giá trị thích nghi của các cá thể trớc đấy lớn hơn hoặc bằng n
Lai ghép
Toán tử chọn lọc nhằm tìm ra những cá thể tốt nhất nhng không tạo ra cá thểmới Tuy vậy, trong tự nhiên, các con sẽ thừa hởng di truyền những đặc tính tốt từ cảcha và mẹ Toán tử tác động trên các cá thể cha và mẹ để tạo ra các con lai tốt đợcgọi là lai ghép Chúng chỉ đợc áp dụng lên cặp cha mẹ đợc chọn với xác suất laighép ký hiệu là Pcross [14] Xác xuất này cho chúng ta số lợng Pcross*pop_size cá thể
đợc dùng cho hoạt động lai ghép với pop_size là kích thớc quần thể Ngoài các cáthể đó ra, các cá thể con là bản sao trực tiếp từ cha mẹ
Toán tử lai ghép trong giải thuật SGA là toán tử lai ghép một điểm cắt Giả sửchuỗi cá thể có độ dài L (chuỗi có L bít), toán từ lai ghép đợc tiến hành qua hai giai
đoạn là :
Phát sinh một số ngẫu nhiên r trong miền [0;1]
Nếu r < Pcross chọn cá thể đó để lai ghép
Sau đó, kết hợp các cá thể đợc chọn một cách ngẫu nhiên Với mỗi cặp cá
thể, phát sinh một số ngẫu nhiên pos từ miền [1, L] Số pos báo hiệu vị trí của điểm
lai ghép Hai cá thể :
(b1b2…bposbpos+1…bL) và (ccc2…cposcpos+1…cL)
đợc thay thế bởi cặp con cháu :
(b1b2…bposcpos+1…cL) và (ccc2…cposbpos+1…bL)
pm*L*pop_size bít Mỗi bít có cơ hội đột biến nh nhau và đợc thay đổi từ 0 thành 1
và ngợc lại Có thể xử lý theo cách sau:
Với mỗi cá thể trong quần thể và mỗi bít trong cá thể:
Phát sinh một số ngẫu nhiên r trong miền [0,1]
Nếu r < pm, tiến hành đột biến tại bít đó
Trang 15Các thao tác này đợc áp dụng lặp lại cho tới khi các cá thể con cháu tăng ởng tới kích cỡ mong muốn của quần thể.
tr-Tóm lại, ba toán tử nêu trên đợc tiến hành trong một vòng lặp cho đến khi các
chuỗi con chiếm toàn bộ quần thể mới Quần thể mới gồm các cá thể của ba loại: bị
đột biến sau khi lai ghép; lai ghép nhng không bị đột biến; không lai ghép và cũngkhông bị đột biến mà chỉ đơn giản là sao chép lại
Hàm thích nghi (fitness)
Vì hàm thích nghi phải nhận giá trị không âm nên cần phải xây dựng ánh xạ
từ hàm mục tiêu đang xét của bài toán sang hàm thích nghi thông qua một hoặcnhiều lần ánh xạ
Nếu bài toán tối u là cực tiểu một hàm giá g(x), việc chuyển từ hàm giá sanghàm thích nghi để sử dụng trong GA nh sau:
f(x) = Cmax - g(x) khi g(x) < Cmax
f(x) = 0 trong các trờng hợp còn lại
ở đây, Cmax là tham số đầu vào Ví dụ, có thể lấy Cmax là giá trị lớn nhất trong
quần thể hiện tại, hoặc lớn nhất sau k vòng lặp.
Khi hàm mục tiêu tăng hoặc đang xét bài toán cực đại hóa một hàm hữu dụngu(x), có thể chuyển sang hàm thích nghi nh sau:
f(x) = u(x) + Cmin khi u(x) + Cmin > 0
f(x) = 0 trong các trờng hợp còn lại
ở đây, Cmin là tham số đầu vào, có thể là giá trị tuyệt đối bé nhất trong quầnthể hiện tại hoặc trong k vòng lặp cuối cùng …
Tỷ lệ hóa giá trị thích nghi
Việc điều chỉnh số lợng con của mỗi cá thể trong những quần thể nhỏ là điềurất quan trọng trong việc sử dụng giải thuật SGA để giải các bài toán tối u Vào lúckhởi động và một số thế hệ ban đầu, các quần thể thờng có một số cá thể siêu khỏe
so với đại đa số cá thể còn lại Nếu để nguyên mà áp dụng quy tắc chọn lọc thì cáccá thể siêu khỏe sẽ chiếm gần toàn bộ quần thể tiếp theo vì chúng có rất nhiều con
Điều này dẫn đến việc hội tụ sớm không mong muốn Vào giai đoạn cuối, khi số thế
hệ khá lớn, giá trị thích nghi trung bình của toàn quần thể có thể gần với giá trị thíchnghi của cá thể tốt nhất, nếu để tự nhiên thì các cá thể trung bình cũng có số con t -
ơng đơng với các cá thể tốt nhất trong thế hệ tiếp theo Nếu điều này xảy ra thì giảithuật SGA trở thành giải thuật tìm kiếm ngẫu nhiên giữa các cá thể trung bình Cảhai khó khăn lúc bắt đầu và giai đoạn kết thúc nêu trên có thể vợt qua bằng việc tỷ lệhóa giá trị thích nghi toàn quần thể
Trang 16Một trong những thủ tục tỷ lệ hóa đơn giản và hiệu quả là tỷ lệ hóa tuyếntính Nếu gọi giá trị thích nghi ban đầu (cha tỷ lệ hóa) là f và giá trị thích nghi saukhi tỷ lệ hóa là f’ thì phơng trình tỷ lệ hóa tuyến tính là :
f’ = a.f + bCác hệ số a, b có thể đợc chọn theo một số cách.Tuy nhiên, trong mọi trờnghợp, mong muốn rằng giá trị thích nghi trung bình sau khi tỷ lệ hóa của toàn quầnthể f’ave bằng giá trị thích nghi trung bình của toàn quần thể trớc khi tỷ lệ hóa Điểunày đảm bảo rằng, các cá thể trung bình sẽ đóng góp một con cho thế hệ tiếp theo
Để kiểm soát số con cho thành viên siêu khỏe, một phơng trình khác đợc chọn làf’max = Cmult*fave , ở đây Cmult là số con của cá thể có giá trị thích nghi tốt nhất trongquần thể Đối với các quần thể nhỏ (50<n<100), giá trị 1.2 < Cmult < 2 đợc chứngminh bằng thực nghiệm là khá tốt
Vào giai đoạn cuối khi giá trị thích nghi trung bình toàn quần thể gần với giátrị thích nghi của cá thể tốt nhất, với chiến thuật tỷ lệ hóa nêu trên gây ra giá trịthích nghi sau khi tỷ lệ hóa của các cá thể tồi sẽ bị âm Để vợt qua khó khăn này, giátrị thích nghi của các cá thể tồi nhất đợc tỷ lệ hóa sao cho không âm hay bằng không(f’min = 0) Từ đây, chiến thuật tỷ lệ hóa cho giải thuật di truyền là:
Tỷ lệ hóa tuyến tính với f’ave = fave
Nếu có thể thì tỷ lệ hóa theo hệ thức f’max = Cmult*fave , nếu không thì tỷ lệ hóasao cho f’min = 0
Với chiến thuật tỷ lệ hóa đơn giản nh trên thì ngăn ngừa đợc sự chi phối củacác cá thể siêu khỏe ở giai đoạn đầu và sau đó tạo ra đợc sự cạnh tranh lành mạnhgiữa các cá thể gần bằng nhau ở giai đoạn cuối của giải thuật SGA
Giải thuật
Dới đây là sơ đồ tổng thể của giải thuật SGA
Giải thuật SGA ( ) {
Trang 17Pparent = chọn_lọc(Pk);
// Tiến hành lai ghép và đột biến tạo ra quần thể cá thể con // Pchild
Pchild = đột_biến (lai_ghép (Pparent));
// Thay thế quần thể hiện tại bằng quần thể cá thể con
k = k + 1;
Pk = Pchild;tính_hàm_mục_tiêu (Pk);
// lớn hơn giá trị hàm mục tiêu của X best thì thay thế lời giải
Trang 182.3 Nền tảng toán học của giải thuật di truyền
Khái niệm và ký hiệu
Trong giải thuật SGA, mỗi chuỗi cá thể đợc biểu diễn một cách hình thức
nh sau: a = a 1 a 2 …a a L , trong đó a i là gen thứ i trong chuỗi và có giá trị lấy từ tập ký tự
V = {0,1} J.H.Holland xây dựng tập ký tự mở rộng V+ = {1, 0 ,*} với ký tự * đợc
gọi là ký tự không quan tâm có thể nhận giá trị 1 hoặc 0.
Một giản đồ H là một chuỗi L gien lấy từ tập ký tự V+, mô tả một tập con cácchuỗi với sự giống nhau tại một số vị trí trong chuỗi.Các giá trị 1 hoặc 0 có trong
giản đồ H gọi là các vị trí cố định của giản đồ Một thể hiện của giản đồ H là một chuỗi L gien lấy từ tập ký tự V có các gien trùng với các gien của giản đồ H tại các
vị trí cố định Ví dụ chuỗi 10000 là một thể hiện của giản đồ *0000 Dễ nhận thấy
có 3 L giản đồ có độ dài L Một cách tổng quát, với tập ký tự gồm C ký tự sẽ có
các giản đồ khác nhau Do đó, một quần thể gồm N cá thể chứa N.2 L thể hiện củacác giản đồ
Bậc của giản đồ H, ký hiệu là o(H), là số vị trí xác định có trong giản đồ H
Ví dụ giản đồ H = *1**0** có bậc là 2 Độ dài của giản đồ (H) là khoảng cách từ
vị trí xácđịnh đầu tiên tới vị trí xác định cuối cùng của giản đồ Ví dụ giản đồ H =
*1**0*0 có độ dài: 7- 2 = 5, giản đồ H = *0***** có độ dài bằng 0
Định lý giản đồ
Gọi m(H,t) là số thể hiện của giản đồ H có trong quần thể tại thế hệ t, f là
giá trị độ phù hợp trung bình của toàn quần thể và f(H) là giá trị độ phù hợp trung bình của các thể hiện của giản đồ H J.H.Holland đã ớc lợng số thể hiện của giản đồ
H tại thể hệ tiếp theo m(H,t+1) dới tác động của các toán tử của giải thuật GA Kết
quả tính toán cuối cùng đợc mô tả bằng định lý 2.3 Đinh lý này đợc biết đến nh nền
tảng toán học của giải thuật GA và đợc gọi là định lý giản đồ.
Định lý [12, 14]: Trong giải thuật SGA, nếu số thể hiện của giản đồ H tại
thế hệ t là m(H,t) thì số thể hiện của giản đồ H tại thế hệ tiếp theo đ ợc ớc lợng nhsau:
H f t H m t
H
1 1
, 1
Giả thuyết về khối xây dựng
Từ biều thức 2.1, dễ thấy các giản đồ bậc nhỏ với độ dài ngắn và có giá trị độphù hợp trung bình lớn hơn giá trị độ phù hợp trung bình của toàn quần thể sẽ có số
Trang 19thể hiện tăng và có vai trò quan trọng trong giải thuật GA Các giản đồ nh vậy đợc
gọi là các khối xây dựng Nh đã đề cập ở trên, mỗi chuỗi cá thể độ dài L đồng thời chứa 2 L thể hiện của các giản đồ khác nhau Giải thuật SGA không xử lý các giản đồnày một cách rõ ràng mà thay vào đó giải thuật SGA xử lý chúng một cách ngầm
định thông qua các toán tử chọn lọc, lai ghép và đột biến Quá trình này đợc đặt tên
là sự song song ngầm định J.H.Holland đã đa ra giả thuyết về khối xây dựng nh sau : Giải thuật GA tối u hoá (tối thiểu hoá) hàm mục tiêu bằng việc kết hợp các
khối xây dựng tạo ra các cá thể dần tốt hơn từ các phần tử tốt nhất của các điểm đã thăm dò trớc đấy [14].
2.4 Những cải tiến của giải thuật di truyền
Giải thuật SGA gặp phải một số hạn chế trong việc giải quyết các bài toánthực tiễn nh sau:
1) SGA biểu diễn cấu trúc nhiễm sắc thể dới dạng chuỗi nhị phân nên trongcác bài toán phức tạp và có nhiều ràng buộc thì độ dài nhiễm sắc thể sẽ lớn, ảnh h -ởng rất nhiều tới tốc độ thực hiện giải thuật
2) Vấn đề hội tụ tới điểm tối u không đảm bảo là tối u toàn cục Trong trờnghợp giá trị tối u của lời giải biến đổi theo thời gian thì SGA thờng bị mắc kẹt ở tối u
địa phơng
Trong những năm gần đây, nhiều nghiên cứu nhằm cải tiến SGA đã đợc công
bố Dới đây là một số các nghiên cứu cải tiến SGA
Vấn đề tạo ra quần thể ban đầu
Thay cho việc sinh ra quần thể ban đầu một cách ngẫu nhiên, giải thuật sẽthực hiện n lần sinh ngẫu nhiên Trong mỗi lần sinh ngẫu nhiên đó, chọn cá thể tốtnhất tham gia vào quần thể ban đầu Nh vậy GA cổ điển chính là trờng hợp n = 1
Sử dụng nhiều quần thể con
Thay cho việc chỉ xử lý một quần thể trong suốt quá trình tiến hóa, quần thểban đầu đợc chia thành một số quần thể con Các quần thể con này đợc xử lý độc lập
và đồng thời trong một số thế hệ cho tới khi đạt đợc một tiêu chuẩn nào đó Sau đó,một số cá thể tốt nhất của các quần thể con tiến hành lai ghép với nhau Cuối cùng,các quần thể con này kết hợp lại với nhau thành một quần thể duy nhất và GA lạitiến hành thủ tục tiến hóa với quần thể duy nhất này
Trang 20Những cải tiến trong chiến lợc chọn lọc
Kỹ thuật chọn lọc bánh xe sổ xố có nhợc điểm là nhiều cá thể có độ thíchnghi cao có thể không đợc lựa chọn do tiến trình lựa chọn mang tính xác suất ngẫunhiên Để khắc phục nhợc điểm này, các tác giả đã đa ra một số sơ đồ thay thế nhsau [5]:
1) u tiên cá thể tốt (elitism): Chiến lợc của sơ đồ này là sao chép cá thể tốt
nhất của mỗi thế hệ vào thế hệ tiếp theo Chiến lợc này có thể làm tăng tốc độ chiếm
u thế của các cá thể có độ thích nghi cao trong quần thể, về mặt lý thuyết sẽ làmtăng khả năng bị kẹt ở cực trị địa phơng, về mặt thực nghiệm có xu thế cải tiến khảnăng thực hiện của giải thuật GA
2) Lấy mẫu tiền định (deterministic sampling): Xác suất chọn lọc đợc tính
nh trong giải thuật SGA: ps = fi / fj Sau đó, số bản sao chép có thể sang thế hệ sau
của chuỗi ai đợc xác định tiền định là ei = n*ps, mỗi chuỗi đóng góp số con vào thế
hệ tiếp theo bằng phần nguyên của giá trị ei Sau đó, để lấp đầy quần thể của thế hệtiếp theo, các chuỗi tốt nhất của thế hệ trớc đợc sao chép sang
3) Lấy mẫu xác suất phần d và thay thế (remainder stochastic sampling with
của mỗi chuỗi cũng đợc tính nh trên Điều khác là, phần d còn lại của ei đợc dùng
nh xác suất lựa chọn trong kỹ thuật bánh xe xổ số để lấp đầy quần thể tiếp theo
4) Lấy mẫu xác suất phần d và không thay thế (remainder stochastic sampling with replacement) : Sơ đồ này cũng xuất phát từ sơ đồ lấy mẫu tiền định.
Các chuỗi có số con ít nhất bằng phần nguyên của số ei Sau đó, quần thể đợc lấp
đầy bằng việc chọn các con khác cho mỗi chuỗi với xác suất bằng phần d của ei Ví
dụ chuỗi ai có ei = 1.5 sẽ đóng góp 1 con vào thế hệ tiếp theo và một con khác vớixác suất là 0.5 Trong thực tế, sơ đồ này đợc sử dụng rộng rãi trong rất nhiều ứngdụng
5) Thủ tục phân hạng (ranking procedure): Là thủ tục không tham số cho
việc lựa chọn Trong phơng pháp này, các cá thể trong quần thể đợc xếp hàng theo
độ phù hợp của chúng, cá thể tốt nhất đợc xếp thứ 1 và cá thể tồi nhất xếp thứ n Sau
đó, các cá thể đợc gán cho số con là hàm của thứ tự của chúng trong dãy Một trongnhững hàm nh vậy đợc Baker đề xuất [4], số con có thể của chuỗi ai là ei đợc tínhtheo công thức:
1
111
*1
12
max max
rank n
Trang 21Trong đó : max là giá trị do ngời dùng địng nghĩa, 1 max 2 và n là kíchthớc của quần thể, khi đó giá trị của ei sẽ nằm trong khoảng [2- max, max], hàm
rank(i) trả lại giá trị là vị trí của i trong hàng xếp.
Mở rộng toán tử lai ghép
cắt, chỉ có một vị trí lai ghép đợc chọn Toán tử lai ghép đó có thể mở rộng thành lai
ghép nhiều điểm trong đó, số vị trí lai ghép là N c chọn trớc Toán tử lai ghép nhiều
điểm có thể giải quyết nhiều bài toán phức tạp mà toán tử lai ghép một điểm khônggiải quyết đợc Một cách khác để thực hiện lai ghép nhiều điểm là dùng toán tử laighép theo mẫu do Syswerda đề nghị Trong giản đồ này, mỗi vị trí bít của hai con đ-
ợc lấy từ bố hay lấy từ mẹ dựa vào một mẫu ngẫu nhiên Ví dụ:
Trang 22Chuỗi bố : 0 1 1 0 0 1 1 1Chuỗi mẹ : 1 1 0 1 0 0 0 1Mẫu : 0 1 1 0 1 0 0 1Con 1 : 1 1 1 1 0 0 0 1Con 2 : 0 1 0 0 0 1 1 1Các bít của Con 1 lấy theo mẫu với bít 0 của mẫu lấy từ mẹ, bít 1 lấy từ bố.Các bít của Con 2 lấy theo mẫu với bít 0 của mẫu lấy từ bố, bít 1 lấy từ mẹ.Cần phải thận trọng khi dùng toán tử lai ghép nhiều điểm vì theo các nghiêncứu thực nghiệm, khi tăng số điểm cắt thì tính hiệu quả của giải thuật giảm đi.Nguyên nhân là khi tăng số điểm cắt, toán tử gây ra sự xáo trộn không mang tínhcấu trúc Do đó, giải thuật mang tính tìm kiếm ngẫu nhiên và các giản đồ có ích dễ
bị phá vỡ
2) Toán tử xếp lại : Các toán tử xếp lại thích hợp cho những bài toán mà ở
đó, độ thích nghi phụ thuộc vào sự sắp xếp của các gien trong chuỗi Một chuỗi kếthợp các giá trị của gien và thông tin về trật tự có thể đợc biểu diễn nh sau :
1 2 3 4 5 6 7 8
1 0 0 1 0 0 0 1
ở đây, 1, 2…8 là các vị trí của gen và đợc gọi là tên của các gen Một trongnhững toán tử xếp lại hay dùng là toán tử đảo ngợc Chọn hai điểm ngẫu nhiên theochiều dài của chuỗi và cắt chuỗi tại hai điểm đó Hai chuỗi gen con ở hai đầu vị trícắt đổi chỗ cho nhau tạo nên chuỗi mới Ví dụ:
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
1 0 0 1 0 0 0 1 0 1 0 1 0 0 1 0
Cải tiến chiến lợc thay thế
Chiến lợc thay thế sản sinh ra quần thể trong thế hệ tiếp theo từ quần thể hiệntại và quần thể con đợc tạo ra từ quần thể hiện tại thông qua ba toán tử là chọn lọc,lai ghép và đột biến Chiến lợc này không phụ thuộc vào sơ đồ mã hóa
Giải thuật SGA sử dụng chiến lợc thay thế không tinh hoa, nghĩa là quần thểcon thay thế hoàn toàn quần thể hiện tại và trở thành quần thể hiện tại của thế hệtiếp theo Chiến lợc thay thế không tinh hoa có u điểm là duy trì tính đa dạng củaquỹ gen trong quần thể Tuy nhiên, với chiến lợc thay thế này, giải thuật GA không
đảm bảo hội tụ
Nhằm khắc phục nhợc điểm trên, giải thuật GA cải tiến sử dụng chiến lợcthay thế tinh hoa do De Jong đề xuất [8] Với chiến lợc thay thế này, một số cá thểtốt nhất trong quần thể hiện tại đợc lu trữ lại cho thế hệ tiếp theo Các cá thể tốt nhất
Trang 23cũng nh tỷ lệ phần trăm các cá thể tốt nhất có thể đợc chọn cố định hoặc ngẫu nhiên.Với chiến lợc thay thế tinh hoa, giải thuật GA đã đợc chứng minh là bảo đảm sự hội
tụ, tuy nhiên, giải thuật GA dễ hội sớm tại các cực trị địa phơng Giải pháp mangtính tự nhiên là sử dụng chiến lợc thay thế dần mang tính tinh hoa [8]
Các giải thuật di truyền lai
Giải thuật SGA, mặc dù mạnh và hiệu quả, nói chung không phải là giải thuậttìm kiếm tối u tốt nhất trong một số lĩnh vực Lai hóa giải thuật SGA với các giảithuật truyền thống đang sử dụng sẽ có thể tạo ra những giải thuật tốt hơn so với cảgiải thuật SGA và giải thuật truyền thống Một giải thuật SGA có thể lai với vô sốcác kỹ thuật tìm kiếm khác để tạo ra một giải thuật mà khai thác tính tìm kiếm toàncục của giải thuật SGA và độ hội tụ của các kỹ thuật tìm kiếm cục bộ
Có khá nhiều các kỹ thuật tìm kiếm sử dụng đạo hàm và không sử dụng đạohàm để tìm kiếm các cực trị địa phơng Các phơng pháp sử dụng đạo hàm nh phơngpháp giảm gradient, phơng pháp đa diện biến dạng…Các phơng pháp không dùng
đạo hàm nh các phơng pháp heuristic, giải thuật ăn tham…Kết quả của việc lai vớigiải thuật GA là một giải thuật mà trong đó, giải thuật GA tìm ra các cực trị và cácgiải thuật tìm kiếm cục bộ sẽ tiến đần đến cực trị đó Với phơng pháp này, giải thuật
GA đợc thực hiện trớc để đạt tới một độ hội tụ nào đó, sau đó các giải thuật tìmkiếm cục bộ sẽ lấy khoảng 5 đến 10% số điểm tốt nhất có trong quần thể cuối cùnglàm điểm xuất phát Xuất phát từ ý tởng đó, luận văn xây dựng một giải pháp laighép giữa giải thuật GA và giải thuật BP tạo thành một giải thuật lai để huấn luyệnmạng nơ ron truyền thẳng Giải pháp này sẽ đợc trình bày ở chơng 3
Trang 24Chơng 3
Tích hợp giải thuật di truyền với giải thuậT huấn luyện mạng nơ ron truyền thẳng nhiều lớp
Chơng này trình bày các vấn đề sau:
3.1 Mạng nơ ron truyền thẳng và thuật toán lan truyền ngợc của sai số
3.1.1 Kiến trúc cơ bản3.1.2 Cơ chế học của mạng nơ ron truyền thẳng nhiều lớp3.1.3 Thuật toán lan truyền ngợc (Back-Propagation)3.1.4 Một số cải tiến thuật toán lan truyền ngợc3.2 Sử dụng giải thuật di truyền kết hợp với giải thuật lan truyền ngợc của sai
số trong việc học tham số của mạng nơ ron truyền thẳng nhiều lớp
3.2.1 Đặt vấn đề3.2.2 Giải thuật di truyền trong việc học tham số3.2.3 Ghép nối với giải thuật lan truyền ngợc của sai số
3.1 Mạng nơ ron truyền thẳng và thuật toán lan truyền ngợc của sai số
3.1.1 Kiến trúc cơ bản
Một mạng nơ ron truyền thẳng nhiều lớp (Multi-layer Feed Forward) gồmmột lớp vào, một lớp ra và một hoặc nhiều các lớp ẩn Các nơ ron đầu vào thực chấtkhông phải các nơ ron theo đúng nghĩa, bởi lẽ chúng không thực hiện bất kỳ mộttính toán nào trên dữ liệu vào Các nơ ron ở lớp ẩn và lớp ra mới thực sự thực hiệncác tính toán Cụm từ “truyền thẳng” có nghĩa là tất cả các nơ ron chỉ có thể đợc kếtnối với nhau theo một hớng tới một hay nhiều các nơ ron khác trong lớp kế tiếp (loạitrừ các nơ ron ở lớp ra)
Mỗi liên kết gắn với một trọng số, trọng số này đợc thêm vào trong quá trìnhtín hiệu đi qua liên kết đó Các trọng số có thể dơng (kích thích) hay âm (kiềm chế).Mỗi nơ ron tính toán mức kích hoạt của chúng bằng cách cộng tổng các đầu vào và
đa ra hàm chuyển (hàm kích hoạt) Một khi đầu ra của tất cả các nơ ron trong mộtlớp mạng cụ thể đã thực hiện tính toán thì lớp kế tiếp có thể bắt đầu thực hiện tínhtoán của mình bởi vì đầu ra của lớp hiện tại là đầu vào của lớp kế tiếp Khi tất cả cácnơ ron đã thực hiện tính toán thì các nơ ron đầu ra thể hiện kết quả của chúng Dới
đây là hình vẽ minh hoạ mạng nơ ron truyền thẳng hai lớp
Trang 25b 1 , b 2 : Vector độ lệch (bias) của lớp thứ 1 và 2 (kích thớc S1x1 và S2x1)
n 1 , n 2 : Vector vào của lớp thứ 1 và thứ 2 (kích thớc S1x1 và S2x1)
f 1 , f 2 : Hàm chuyển (hàm kích hoạt) của lớp thứ 1 và 2
a 1 , a 2 : Đầu ra của lớp thứ 1 và 2 (kích thớc S1x1 và S2x1)
: Hàm tổng thông thờng (SuM)
Hình 3.1 là một ví dụ về mạng hai lớp Số nơ ron ở lớp thứ nhất và lớp thứ hai
là S 1 và S 2 tơng ứng với ma trận trọng số là W 1 và W 2 Véc tơ đầu vào ở lớp thứ haichính là véc tơ đầu ra của lớp thứ nhất, công thức tính toán cho đầu ra của lớp thứhai nh sau:
a 2 = f 2 (W 2 (f 1 (W 1 P + b 1 )) + b 2 )
trong đó, ý nghĩa của các ký hiệu nh đã nêu trong hình vẽ
3.1.2 Cơ chế học của mạng nơ ron truyền thẳng nhiều lớp
Mạng nơ ron truyền thẳng nhiều lớp thờng đợc huấn luyện bằng giải thuật lantryền ngợc của sai số (BP), giải thuật này đợc sử dụng thờng xuyên và thông dụngtới mức nhiều tác giả đã đồng khái niệm mạng nơ ron với mạng nơ ron nhiều lớp lantruyền ngợc của sai số
Giải thuật BP là giải thuật học có thầy, do đó nó cần một tập mẫu gồm cáccặp véc tơ (Xi,Yi), với Xi là véc tơ vào, Yi là véc tơ ra mong muốn Đối với một cặpvéc tơ vào và véc tơ ra mong muốn, giải thuật BP thực hiện hai giai đoạn theo dòngchảy số liệu :
- Tín hiệu vào Xi đợc lan truyền qua mạng từ lớp vào đến lớp ra Kết quảcủa việc lan truyền là sản sinh véc tơ tín hiệu ra Outlast
Trang 26- Tín hiệu sai số là kết quả của việc so sánh giữa véc tơ ra mong muốn vàvéc tơ tín hiệu ra Sai số đợc lan truyền ngợc từ lớp ra tới các lớp phía trớc để hiệuchỉnh các trọng số
Hình 3.2: Sơ đồ hiệu chỉnh các trọng số của giải thuật BP
Đối với mỗi cặp tín hiệu vào ra này, hàm giá đợc xây dựng nh sau:
last ik
y w
3.1.3 Giải thuật lan truyền ngợc của sai số
Về cơ bản, giải thuật BP là dạng tổng quát của thuật toán bình phơng lỗi nhỏnhất (Least Means Square), viết tắt là LMS Thuật toán LMS thuộc dạng thuật toánxấp xỉ để tìm các điểm mà tại đó, hiệu năng của mạng là tối u Chỉ số tối u(performance index) thờng đợc xác định bởi một hàm số của ma trận trọng số và các
đầu vào nào đó trong quá trình tìm hiểu bài toán đặt ra
Hiệu chỉnh W 3
Hiệu chỉnh W 2
Hiệu chỉnh W 1
Vộc tơ vào
Trang 27Giải thuật áp dụng cho dạng tổng quát của mạng nơ ron truyền thẳng nhiềulớp Khi đó, đầu ra của một lớp trở thành đầu vào của lớp kế tiếp Phơng trình thểhiện hoạt động này nh sau:
am+1 = fm+1 (Wm+1am + bm+1 ) với m = 0, 1, , M – 1 trong đó M là số lớp trong mạng Các nơ ron trong lớp thứ nhất nhận các tín hiệu từ
bên ngoài: a0 = p, chính là điểm bắt đầu của phơng trình trên Đầu ra của lớp cuốicùng đợc xem là đầu ra của mạng: a = aM
Chỉ số hiệu năng (performance index)
Tơng tự thuật toán LMS, giải thuật BP sử dụng chỉ số hiệu năng là trung bìnhbình phơng lỗi của đầu ra so với giá trị đích Đầu vào của thuật toán chính là tập cáccặp mô tả hoạt động đúng của mạng (các mẫu dùng để huấn luyện mạng):
{(p1, t1), (p2, t2), , (pQ, tQ)},trong đó pi là một đầu vào và ti là đầu ra mong muốn tơng ứng, với i = 1 Q Mỗi đầu
vào đa vào mạng, đầu ra của mạng đối với nó đợc đem so sánh với đầu ra mongmuốn Thuật toán sẽ điều chỉnh các tham số của mạng để tối thiểu hóa trung bìnhbình phơng lỗi:
F(x) = e[e 2 ] = e[(t - a)2] ,trong đó x là biến đợc tạo thành bởi các trọng số và độ lệch, e là ký hiệu kỳ vọngtoán học Nếu nh mạng có nhiều đầu ra, phơng trình trên có thể đợc viết lại dới dạng
t a
t
trong đó kỳ vọng toán học của bình phơng lỗi đợc thay bởi bình phơng lỗi tại bớc k.
Thuật toán giảm theo hớng cho trung bình bình phơng lỗi xấp xỉ là:
(*) ,
1
, ,
,
m i
m i m
i
m j
m j m
j
b
F k
b k
b
w
F k
w k
Trang 28Luật xích (Chain Rule):
Đối với các mạng nơ ron truyền thẳng nhiều lớp, lỗi không phải là một hàmcủa chỉ các trọng số trong các lớp ẩn, do vậy việc tính các đạo hàm từng phần này làkhông đơn giản Chính vì lý do đó mà phải sử dụng luật xích để tính Luật này đợc
mô tả nh sau: giả sử có một hàm f là một hàm của biến n, muốn tính đạo hàm của f
có liên quan đến một biến w khác Luật xích này nh sau:
dw
w dn dn
n df dw
w n df
m i
m i m i m
i
m j
m i m i m
j i
b
n x n
F b
F
w
n x n
F w
trong đó hạng thức thứ 2 của các phơng trình trên có thể dễ dàng tính toán bởi vì đầu
vào của mạng tới lớp m là một hàm của trọng số và độ lệch:
m i
m j
m j
1 ,
m i m j m j
m i
b
n a
w n
Ký hiệu
m i
m i
n
F s
đợc gọi là độ nhậy cảm của
F đối với các thay đổi của phần tử thứ i của đầu vào
của mạng tại lớp thứ m Khi đó:
1 ,
,
m i m i
m i m i
m i
m j
m i m j
m i m i
m j
s b
n x n
F b
F
a s w
n x n
F w
Trang 29
i m
i
m j m i m
j m
j
s k b k
b
a s k w k
m
k k
k k
s b
b
a s W
m 2
m 1
m m
m F F
F F
n n
n
n
s
Lan truyền ngợc độ nhậy cảm
Vấn đề là tính nốt ma trận độ nhậy cảm sm Để thực hiện điều này cần sửdụng một áp dụng khác của luật xích Quá trình này cho khái niệm về sự “lan truyềnngợc” bởi vì nó mô tả mối quan hệ hồi quy trong đó độ nhậy cảm sm đợc tính qua độnhậy cảm sm+1 của lớp m + 1.
Để dẫn đến quan hệ đó, ma trận Jacobian đợc sử dụng nh sau:
m S m
m S m
m S
m S
m m
m m
m
m S
m m
m m
m
m m
m
m m
m
m m
n
n n
n n
n
n
n n
n n
n
n
n n
n n
n
n n
1
2
1
1 1
1 2 2
1 2 1
1 2
1 1 2
1 1 1
1 1
1
1 1
Trang 30
m j
m m j m
j
m j
m m j
m j
m i m j m
j
S l
m i
m i
m l m
j
m i
n f w n
n f w
n
a w n
b a w n
1 ,
1 , 1
1 1
, 1
trong đó:
m
j
m j m m
j m
n
n f n f
m
n F W n
m m m m
m m
m
n f
n f
n f
0 0
0 0
2
1
n F
Bây giờ viết lại quan hệ hồi quy cho độ nhậy cảm dới dạng ma trận:
1 1
1 1
1 1
m T m m m m
T m m m
s W n F
n W
n F n
n
n n
s
Đến đây ta có thể thấy độ nhậy cảm đợc lan truyền ngợc qua mạng từ lớpcuối cùng trở về lớp đầu tiên:
sMsM - 1 (s1.Cần nhấn mạnh rằng ở đây thuật toán lan truyền ngợc lỗi sử dụng cùng một
kỹ thuật giảm theo hớng nh thuật toán LMS Sự phức tạp duy nhất ở chỗ để tínhgradient cần phải lan truyền ngợc độ nhậy cảm từ các lớp sau về các lớp trớc nh đãnêu trên
Bây giờ cần phải biết điểm bắt đầu lan truyền ngợc, xét độ nhậy cảm sM tạilớp cuối cùng:
Trang 31
M i
i i i M
i
S l
l l M
i
T M
i
M i
n
a a t n
a t n
a t a t n
F s
i
M i M M
i
M i M i
n
n f n
a n
Tóm lại, thuật toán lan truyền ngợc có thể phát biểu nh sau:
b Sử dụng giải thuật
Trên đây là giải thuật BP dạng tổng quát Phần tiếp theo sẽ trình bày các vấn
đề về khía cạnh ứng dụng của giải thuật BP trong việc huấn luyện mạng nơ rontruyền thẳng nhiều lớp, nh chọn lựa cấu trúc mạng, các hàm kích hoạt, các hàm giá,khởi động các trọng số ban đầu, tập mẫu học, sự hội tụ…
m
k k
k k
s b
b
a s W
Trang 32Vấn đề đầu tiên cần quan tâm là lựa chọn cấu trúc mạng Nh đã trình bày ởphần 3.1.1, mạng nơ ron truyền thẳng nhiều lớp luôn có một lớp vào và một lớp ra, sốlớp ẩn có thể từ 0 đến vài lớp Đối với một bài toán cụ thể, số nơ ron trên lớp vào cố
định bằng số biến của véc tơ vào, số nơ ron trên lớp ra cố định bằng số biến của véc tơ
đích Vì vậy, vấn đề thiết kế cấu trúc mạng là vấn đề chọn số lớp ẩn và số nơ ron trên
số thay đổi
2) Số các cực trị địa phơng tăng lên rất lớn khi có nhiều lớp ẩn Phần lớn cácthuật toán tối u dựa trên gradient chỉ có thể tìm ra các cực trị địa phơng, do vậy chúngkhông thể tìm ra cực trị toàn cục Mặc dù thuật toán luyện mạng có thể tìm ra cực trịtoàn cục, nhng xác suất bị tắc trong một cực trị địa phơng là khá cao, và khi đó, taphải bắt đầu luyện mạng lại
3) Dĩ nhiên, có thể đối với một bài toán cụ thể, sử dụng nhiều hơn một lớp ẩnvới chỉ một vài nơ ron thì tốt hơn là sử dụng ít lớp ẩn với số nơ ron là lớn, đặc bíêt đốivới các mạng cần phải học các hàm không liên tục Về tổng thể, ngời ta khuyên rằngnên xem xét khả năng sử dụng mạng có một lớp ẩn đầu tiên trong khi thiết kế cácmạng truyền thẳng trong thực tế Nếu dùng một lớp ẩn với một số lợng lớn các nơ ron
mà không có hiệu quả thì nên sử dụng thêm một lớp ẩn với một số ít các nơ ron
Tóm lại, mạng nơ ron truyền thẳng thờng sử dụng một lớp ẩn để giải quyết các
bài toán trong thực tế Vấn đề thiết cấu trúc mạng quy về việc tìm ra số nơ ron trong
lớp ẩn.
Số nơ ron trong lớp ẩn
Mạng nơ ron truyền thẳng có khả năng tổng quát hóa từ những dữ liệu mà nó
đã học, nói cách khác, mạng nơ ron truyền thẳng có khả năng dự báo tốt Khả năng
dự báo phụ thuộc nhiều vào số nơ ron trong lớp ẩn, hay phụ thuộc nhiều vào số lợngcác trọng số của mạng
Một mạng có số lợng các trọng số lớn với một số lợng nhỏ các mẫu học có
thể học rất tốt, song việc dự báo có thể không tốt, hiện tợng này thờng gọi là học
Trang 33quá (overfiting) Nói cách khác, khi số lợng trọng số lớn hơn số mẫu học, kết quả
luyện tham số không phản ánh đúng hoạt động của mạng Để tránh trờng hợp học
quá, số trọng số trong các mạng nơ ron phải nhỏ hơn hoặc tơng đơng với số mẫu có
trong tập mẫu [24]
Nếu số lợng các trọng số quá nhỏ, mạng nơ ron có thể không nhận dạng đợc
đầy đủ các tín hiệu trong một tập dữ liệu phức tạp, còn gọi là hiện tợng thiếu ăn
khớp (underfitting)
Số lợng tốt nhất của các nơ ron ẩn phụ thuộc vào rất nhiều yếu tố, đó là số đầuvào, số đầu ra của mạng, số các mẫu khác nhau trong tập mẫu, độ nhiễu của dữ liệu
đích, độ phức tạp của hàm lỗi, kiến trúc mạng, và thuật toán huấn luyện mạng…
Có rất nhiều “luật” để lựa chọn số nơ ron trong các lớp ẩn [12, 24]:
m [ n l, ] - nằm giữa khoảng kích thớc lớp vào, lớp ra
3
) (
2 l n
m - 2/3 tổng kích thớc lớp vào và lớp ra
m 2l- nhỏ hơn 2 lần kích thớc lớp vào
m ln- căn bậc hai của tích kich thớc lớp vào, lớp ra
Các luật này chỉ mang tính lý thuyết mà không phản ánh đợc thực tế bởi vì,chúng chỉ xem xét đến nhân tố kích thớc đầu vào, đầu ra mà bỏ qua các nhân tố quantrọng khác nh số lợng mẫu đa vào huấn luyện, độ nhiễu ở các đầu ra, độ phức tạp củahàm lỗi [24]…