Trong những năm gần đây, các mạng nơ ron truyền thẳng nhiều lớp được thực tiễn chứns minh là khá mạnh và hiệu quả trong các bài toán dự báo và phân tích số liệu, đặc biệt trong các bài t
Trang 1i
Trang 2M ục l ụ c I
M ục lục từ viết t á t III
Mở đ ầ u I
Những đóng góp chính của luận v ã n 2
Câu trúc của luận văn 2
C hương 1 : C á c khái niệm CƯ bán về m ạn g nơ r ơ n 4
1.1 N ơ ron sinh học và mạng nơ ron sinh h ọ c 4
1.2 Nơ ron nhân t ạ o 4
1.3 Mạng nơ ron nhân tạ o 6
1.4 Thủ tục học của mạng nơ r o n 8
1.5 Phạm vi ứng dụng của mạng nơ r o n 10
C hương 2 : G iải thuật di t r u y ề n 12
2.1 Tổng quan về giải thuật di truyền 12
2.2 Giải thuật di truyền đơn g iả n 14
2.3 Nền tảng toán học của giải thuật di truyền 20
2.4 Những cải tiến của giải thuật di truyền 21
Chưưng 3 : T ích hựp giai thuật di truvền với giái thuật huân luyện m ạn g nư ron truvền th ả n g nhiều lứp 26
3.1 Mạng nơ ron truyền thẳng và thuật toán lan truyền ngược của sai số 26
3.1.1 Kiến trúc cơ b ả n 26
3.1.2 Cơ ch ế học của mạng nơ ron truyền thảng nhiều lớp 28
3.1.3 Giải thuật lan truyền ngược của sai s ố 29
M Ụ C L Ụ C 3 i 4 Một số cải tiến của giải thuật BP 40
Trang 33.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 huấn luyện mạng nơ ron truyền thẳng nhiều
lớp 42
3.2.1 Đặt vấn đề 42
3.2.2 Giải thuật di truyền trong việc huấn luyện mạng nơ ron truyền thẳng nhiều l ớ p 43
3.2.3 Ghép nối với giải thuật lan truyền ngược của sai s ố 45
C h ư ơ n g 4 : C ài đ ật c h ư ơ n g t r ì n h 47
4.1 Cấu trúc dữ liệu và các khai báo cần th iết 47
4.2 Thiết kế giải thuật 48
C h ư ư n g 5 : ứ n g d ụ n g m ạ n g nư ron tr u v ề n th ả n g n h iề u lớp t r o n g d ự b á o d ữ li ệ u 60
5.1 Sư lược về ứng dụng mạng nơ ron trong dự báo dữ liệ u 60
5.2 Các bước chính trong việc thiết kế mô hình mạng nơ ron dự b á o 61
5.3 Úng dụng mạng I1Ơ ron truyền thẳng nhiều lớp trong dự báo đinh lũ sông Trà Khúc trạm Sơn G i a n g 65
5.4 Chương trình dự báo dữ l i ệ u 68
Kết l u ậ n 74
T ài liệu th a m k h ả o 76
P h ụ l ụ c i
Trang 4M Ụ C L Ụ C T Ừ V I Ế T T Ắ T
T ừ v iế t tắ t N g h ĩ a t i ế n g V iệ t
GA Giải thuật di truyền
S G A Giải thuật di truyền đơn giản
BP Giải thuật lan truvền ngược
của sai sô
T i ế n g A n h tư ư n g ứ n g
Genetic algorithm Sim ple genetic algorithm Back-Propagation o f Error
Trang 5Dự 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ền thẳng nhiều lớp được thực tiễn chứns minh là khá mạnh và hiệu quả trong các bài toá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ử cỉụng đê thực thi 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ình huấn luyện mạng là quá trình hiệu chinh các trọng số của mạng và thường được phát biể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ện cầ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ào quá 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ác mạ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, di truyề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
hố 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ản nă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ẫu nhiê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êng củ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ạng nơ 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ụ, nhưng sự hội tụ này dễ dẫn đến hiện tượ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.
Trang 6Giả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ật này đám bảo sự hội tụ nhưng 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ếm lờ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ền thẳ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 phá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ơ ron truyề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ình mạ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 cua 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ền thẳ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án trong 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ến củ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ành một giải thuật lai GA - BP dể huấn luyện mạng nơ ron truyền thẳng nhiêu lớ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ân luyệ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
Trang 7và 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ẳng nhiề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á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ơ ron truyền thả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 đinh 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ăng của chương trình được viết bằng Visual Basic.
Trang 8C Á C K H Á I N I Ệ M C ơ B Ẩ N V Ể M Ạ N G N ơ R O N
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
Chương 1
1.1 Nơ ron sinh học và mạng nơ ron sinh học
Hệ thần kinh ở người có khoảng 10'° 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ơ von sinli 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à lan truyền tín hiệu ra sang các đơn vị khác.
Trang 9H ’
^ g(at)
a,= Ỹ , w>‘x‘ + e' Zj = g(aj) Hình 1 1: Đơn vị xử lý thứ j
Mồi tín hiệu đầu vào nơ ron thứ j được ký hiệu là Xị với trọng số tương ứng là
Wjị. Đại lượng đo tín hiệu tổng cộng đi vào nơ ron thứ j, ký hiệu là ơj, được xác định một cách đơn giản như sau :
• dị là hàm của các tín hiệu X, và các trọng số Wjị, gọi là Hàm kết hợp
• Hàm kết hợp là tổng các tích của tín hiệu Xị và trọng số tương ứng Wj:
Trong đó 0 là một tham số được gọi là ngưỡng của nơ ron Nếu Wjị>0, nơ ron được coi là ở trong trạng thái kích thích Nếu Wjị < 0, nơ ron ở trạng thái kiềm chế.
Quá trình biến đổi giá trị dj thành tín hiệu đầu ra Zj được thực hiện bới hàm kích hoạt (hàm chuyên) phi tuyến Zj= g(dj). Hàm kích hoạt phải thoả mãn các điều kiện sau:
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ảns nhỏ Có khá nhiều hàm thoả mãn các điều kiện trên, song trong thực tế chi có một số hàm thường được sử dụng trong các mạng nơ ron như sau
1) Hàm tuyến tính (Linear): g(.x) = X
2) Hàm ranh giới cứng (Hard-Limiter) : Hàm này chỉ có hai giá trị là 0 và 1,
n
a>= ^ W + 6j
• Tín hiệu đầu ra Zj là không âm với bất kể giá trị nào của dj
• g là hàm liên tục và bị chặn trong khoảng [0,1 ]
ngoài ra hàm còn có một giá trị ngưỡng 6. Tín hiệu đầu ra phụ thuộc tổng tín hiệu đầu vào và giá trị ngưỡng.
ifị x > 6 )
if(jc < e )
Trang 10Vi 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.
3) Hàm ngưỡng logic:
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ằng giá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 trong quá 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 ra mong muốn rơi vào khoang [0,1].
1.3 Mạng nư ron nhân tạo
Khái niệm
Mạng nơ ron nhân tạo là hệ thống bao gồm nhiều nơ ron nhân tạo kết hợp với nhau Hệ thống này có khả năng học số liệu và tổng quát hóa từ các số liệu được
Mạng nơ ron nhân tạo được biểu diễn bàng một đồ thị gồm một tập các nút
và các cung có hướng, mỗi nút tương ứng với một nơ ron, các cung biểu diễn các liên kết giữa các nơ ron Cấu trúc mans 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ào củ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ông thể
Trang 11quan sát trực tiếp được Mạnơ có thê có một hay nhiều lớp ẩn Chúng cung 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án phâ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
• Mạng truyền thẳng : Luồng dữ liệu đi từ các nơ ron vào đến các nơ ron ra chí đượ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 đó.
Hình ỉ 2: Mạng nơron truyền thẳng nhiều lớp (Feed-Forward Neural Network)
• 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ơ ron lớ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 đó.
Trang 12• Sơ đồ kết nối (mạng truyền thảng hay hồi quy)
• Sỏ tin 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ác thủ 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 th a m 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ă n g cư ờ n g [6] và h ọ c k h ô n g 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ính toá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ẫu nhiê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ều cá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 k h ô n g c ó th ầ y (Unsupervised Learning).
• 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 ra inonỉỉ 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ật toán sử dụng để hiệu chính các trọng số tronạ mạng.
Trang 13Tập mẫu là tập các cặp véc tơ vào - ra mong muốn M = {x¡,y¡)} đượ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ị, 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, để 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 chinh các trọng số Các giải thuật tìm kiếm được
áp dụng trong 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].
H ìn h 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 để chi 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 trưng, 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ọc tham số tinh chinh các giá trị trọng số sao cho mạng hoạt động như mong muốn Thu 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
Trang 14mỗi lớ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ụ
Kết quả học cấu trúc phụ thuộc nhiều vào kết quả học tham số Do đó, việc xâ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ìm kiế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ả trong khô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ác suất hao 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 vỉ ứ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.
P h a n lo ạ i
Phân loại là cách sắp xếp các đối tượng vào các tập hoặc vào các lớp con của các lứp lớn hơn Việc phân loại thường được tiến hành nhiều mức giống như phép toán ra quyết định, phân lớp đối tượng vào nhóm, nhóm con; vào chủng loại, chủng loại con hoặc vào lớp, lớp con Một đối tượng có thể đồng thời thuộc vào nhiều lớp khác nhau, do đó kết quả của việc phân loại là tích của hai hay nhiều quyết định.
M ò h ìn h 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êu cầ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ới cá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ộc dạ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)
Trang 15Hà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ính toá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ài nguyên máy tính ít hơn so với các mạng dùng cho việc phân loại.
B iế n đ ổ i
Việc biến đổi nhằm mục đích nén các đối tượng từ không gian m chiều vào khô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 ở trong khỏ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ân loạ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ững câ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ùne lặp Điều này rất quan trọng khi chọn cá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 p h ụ th u ộ c th ờ i g ia n
Lĩnh vực nghiên cứu các quá trình phụ thuộc ihời gian là một trong những lĩnh vực chính trong nghiên cứu điều khiển quá trình, ở đây, mô hình dự báo được xâ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ình nà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ều khá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ín hiệu ra là giá trị dự báo trong tương lai của các biến quá trình đó.
Trang 16G I Ả I T H U Ậ T DI T R U Y Ể 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
Chương 2
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ớn các giai 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ên mộ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ử di truyề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 d u n g g ia i th u ậ t d i tru yề 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ốt thô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 nehĩ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ù hcrp của chuỗi Độ phù hợp của mỗi chuỗi gen đánh giá độ
Trang 17thích nehi 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ình chọ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 , la i ghép
và đột biến Ọuá 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ến hà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
là 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ột xá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 hước trons 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 ra lờ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 truvền
Ỉ-ÌHT Sinh quàn
ti Ifc* bdl IdU ♦
xar 1nh l o
th ú I IJII -ùđ cac cá thế trorg quan thế
Co Cd thê" nào đạt đẽn ÒI gứí
Trang 18Để á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 l : 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 nahi (hàm phù hợp) cho bài toán và tính giá trị thích nahi cho mỗi lời g iả i, còn sọi là giá trị độ phù hợp.
Bước 4 : Dựa trên giá trị thích nshi 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 la i 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 chưa tìm được lời giải tối ưu hay chưa 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 : Tim đượ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 ra cá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ải thuật này được gọi là giải thuật di truyền đơn giản (SGA) [12,14]
2.2 G iải thuật di truyền đon 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ần lớ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
dó đượ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ực này Tuỳ từnR 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ành giá 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ử :
Các bước chính trong việc áp dụng giải thuật di truyền
Trang 19Mô 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ể Vị được tính theo công thức p,= eval(v;)/F, trong đó eval(vị) là giá trị thích nghi của cá thể Vị, F là tổng giá trị thích nghi của toàn quần thể F = ịe v a lịv j).
Mỗ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ệc lai ghép Việc quay vòng tròn được thực hiện qua những bước sau:
Bước I : Đá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.
Trang 20thể đượ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
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 đ ó
Cá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 trưởng tới kích cỡ mong muốn của quần thể.
Tóm lạ i b a 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 nhưng không bị đột biến; không lai ghép
và cũng không bị đột biến mà chi đơn giản là sao chép lại.
Trang 21V ì 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ặc nhiề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á sang hà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ụng u(x), có thể chuyển sang hàm thích nghi như sau:
f(x) = u(x) + cmin khi u(x) + Cmjn> 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án thế hiện tại hoặc trong k vòng lặp cuối cùng .
Tỷ lệ hóa g iá t r ị th íc h n g h i
Việc điều chinh số lượng con của mỗi cá thể trong những quần thể nhỏ là điều rấ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úc khở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ác cá 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ích nghi 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ải thuậ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ể.
: V v H ' r o I O C G i A H A N Ô I Ị
RtiNC' rAM ỉìiÕ !!;"> T IN i HƯ v ộ i
V" ì-0ịt£ri a
Trang 22Một trong những thủ tục tỷ lệ hóa đơn giản và hiệu quả là tỷ lệ hóa tuyến tính Nếu gọi giá trị thích nghi ban đđu (chưa tỷ lệ hóa) là f và giá trị thích nghi sau khi tỷ lệ hóa là f thì phương trình tỷ lệ hóa tuyến tính là :
r = a f+ b Các hệ số a b có thể được chọn theo một số cách.Tuy nhiên, trong mọi trường hợ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ần thể f ’avebằng giá trị thích nghi trung bình của toàn quẩn thê trước khi tỷ lệ hóa Điểu này đảm báo rằng, các cá thể trung bình sẽ đónu 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* f ave, ở đây Cmult là số con của cá thể có giá trị thích nghi tốt nhất trong quần thể Đối với các quần thể nhỏ (50<n<100), giá trị 1.2 < CmuU < 2 được chứng minh 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 ’avc= fave
• Nếu có thể thì tỷ lệ hóa theo hệ thức f ’max = CmuU* f ave, nếu không thì tỷ lệ hóa sao 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ủa các cá thể siêu khóe ở giai đoạn đầu và sau đó tạo ra được sự cạnh tranh lành mạnh giữa các cá thể gần bằng nhau ở giai đoạn cuối của giải thuật SGA.
G iả i th u ậ t
Dưới đây là sơ đồ tổng thể của giải thuật SGA
Giải thuật SGA ( ) Ị
k = 0;
// K h ở i động quần th ể P o một cách ngẫu nhiên Tính giá t r ị hàm mục tiêu cho
II từng cá thể.
khởi_động (Pk);
Trang 23tính_hàm_rnục_tiêu (Pk);
// Đ ặ t lờ i g iả i của g iả i thuật bằng cá th ể có giá t r ị hàm mục tiêu tốt
II nhứt.
Xbest = Tốt nhất (Pk);
do { // Chuyển đ ổ i giá t r ị hàm mục tiêu thành giá t r ị độ phù hợp và tiến
II thành chọn lọ c tạo ra quần th ể b ố mẹ p parent
Pparem = chọn_lọc(Pk);
// Tiến hành la i ghép và đột biến tạo ra quần th ể cá th ể con
II p c h i Id
P ch ild = đột_biến (lai_ghép (Pparem));
// Thay th ế quần th ể hiện tụ i bằng quần th ể cá th ể con
k = k + 1;
- Pfhild’
tính_hàm_mục_tiêu (Pk);
// Nếu giá t r ị hàm mục tiêu o b j của cá th ể tốt nhất X tron g quần thê’ p k
II lớn hơn giá t r ị hàm mục tiêu của Xf>esl th ì thay th ế lờ i g iả i
X = tốt_nhất (Pk);
if (obj(X) > objcx^,)) ■^bcst ^ ’
Ị while (k<G); l*T iê n hành G th ể hệ* I return (X hcsl); /* T rả vê lờ i g iả i của g iả i thuật G A */
Trang 242.3 Nền táng toán học của giai thuật di truvền
K h á 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 ịa 2 aL, trong đó a, 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ác
chuồ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' 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 +I)L giản đồ Mỗi cá thể độ dài L lấy từ tập ký tự V = {1,0) chứa 2Lthê hiện của các giản đồ khác nhau Do đó, một quần thể gồm N cá thể chứa N.2Lthể hiện của cá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 đồ 5(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 =
* I * * 0 * 0 có độ dài: 1 - 2 = 5, giản đồ H = có độ dài bằng 0.
Đ ịn h lý g iá 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 ) 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 đồ.
Trang 25Đ ịn li 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à in(H.t) thì số thể hiện của giản đồ H tại thế hệ tiếp theo được ước lượng
như sau:
m { H , í + \ ) > m { H , t \ ứ ỉ ì ị \ - p p ) ( 2 1 )
f y r c I _ Ị t'
G iả th u y ế t vê k h ó i xây (lự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ố
thê 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 2L 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ộl cách rõ ràng mà 1'nay 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 : G iả 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 ip ig 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 đã
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án
thự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 trong
cá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ường hợ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ữns 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.
Trang 26Thay 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 Trone mỗi lần sinh ngẫu nhiên đó, chọn cá thê tốt nhấ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 ụ n g n h iề u quầ n thê con
Thay cho việc chi 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
dó 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ại tiến hành thủ tục tiến hóa với quần thể duy nhất này.
N h ữ n g cả i tiế n tro n g 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ích nghi 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ẫu nhiên Đê khắc phục nhược điểm này, các tác giả đã đưa ra một số sơ đồ thay thế như sau [5]:
1) Uu tiên cá th ể tố t (e litis m ): 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 iheo 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àm tă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 (determ in istic sam pling): Xác suất chọn lọc được tính như trone giải thuật SGA: Ps = fj / 2fj Sau đó, số bản sao chép có Ihể sang thế hệ sau của chuỗi a, được xác định tiền định là ej = 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ị e; 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 ế (re m a in d e r stochastic sam pling
w ith replacem ent) : Sơ đồ này xuất phát từ sơ đồ lấy mẫu tiền định Số bản sao chép
Van đê tạo ra quần thè ban đầu
Trang 27e, 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 e, đượ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 ế (re m a in d e r stochastic sam pling w ith replacem ent) : 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ố e, 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 e, V í
dụ chuỗi Uị có eị = 1.5 sẽ đóng góp 1 con vào thế hệ tiếp theo và một con khác với xá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 ứng dụng.
5) Thủ tục phản hạng (ra n k in g p ro ce d u re ): 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 trong những hàm như vậy được Baker để xuất [4], số con có thể của chuỗi a, là
t ị được tính theo công thức:
Trong đó : \ mx là giá trị do người dùng địng nghĩa, 1 < < 2 và n là kích
thước của quần thể, khi đó giá trị của ej sẽ nằm trong khoảng [2- ẤmdX, A.maJ , hàm
ra itk (i) trả lại giá trị là vị trí của i trong hàng xếp.
M ở rộ n g to á n tử la i ghép
l ) L a i ghép nhiều điểm : Giải thuật SGA sử dụng toán tử lai ghép một điểm cắt, chỉ có một vị trí lai shep đượ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ônç giả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ử lai ghép theo mẫu do Sysvverda đề 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 28Chuỗi bô': 0 1 1 0 0 1 1 1 Chuỗi mẹ : 1 1 0 1 0 0 0 1
M ẫ u : 0 1 1 0 1 0 0 1 Con 1 : 1 1 1 1 0 0 0 1 Con 2 : 0 1 0 0 0 1 1 1 Cá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 hí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 I 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ên
cứ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
Nsuyên nhân là khi tăng số điểm cắt, toán tử gây ra sự xáo trộn khône mang tính
cấ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) T oá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ết
hợ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
ở đâ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 trong
nhữ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 theo
chiề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ụ:
C ai tiế n c h iê n lược th a y 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ện tạ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ệ
Trang 29tiế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úa quv sen 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ược thay 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 lưu trữ lại cho thế hệ tiếp theo Các cá thể tốt nhất cũ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 mang tính tự nhiên là sử dụng chiến lược thay thế dần mang tính tinh hoa
[8 ]
C ác g iả i th u ậ t d i tru yề n la i
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ật tì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ải thuậ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àn cụ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 đạo hà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ương pháp giam 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ới giả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ác giả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ìm kiế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ùng là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 lai ghé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ện mạng nơ ron truyền thẳng Giải pháp này sẽ được trình bày ở chương 3.
Trang 30T Í C H H Ợ P G I Ả I T H U Ậ T D I T R U Y E N v ớ i g i ả i t h u ậ t
H U Ấ N L U Y Ệ N M Ạ N G N ơ R O N T R U Y Ề N T H A N G N H I Ề U
L Ớ P
Chương này trình bày các vân đề sau:
3.1 Mạns 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 3.1.2 Cơ chế học của mạng nơ ron truyền thẳng nhiều lóp 3.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ược 3.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ố
Chương 3
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ồm
m ộ 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ất khô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 ộ t
tí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ện cá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ết nố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ại trừ các nơ ron ở lớp ra).
Trang 31Mỗ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ình tí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ột lớ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ính toá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ác nơ 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.
H ìn h 3.1 : M ạng nơron truyền thẳng 2 lớp
Trong đó:
P: Vector đầu vào (vector cột)
W 1: Ma trận trọng số của các nơ ron lớp thứ 1 có kích thước S,xR|
w 2: Ma trận trọng số của các nơ ron lớp thứ 2 có kích thước S,xR;
b 1, b2 : Vector độ lệch (bias) của lớp thứ ỉ và 2 (kích thước s,xl và StxI )
n 1, n2 : Vector vào của lớp thứ 1 và thứ 2 (kích thước s,xl và Sbxl )
f ‘, f2 : Hàm chuyển (hàm kích hoạt) của lớp thứ 1 và 2
a \ a2: Đầu ra của lớp thứ I và 2 (kích thước s,xl và S ix l)
©: 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| và s, tương ứng với ma trận trọng số là W 1 và W 2 Véc lơ đầu vào ở lớp thứ hai
Trang 32chí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:
a2 = f2(W 2(f'(W 1.P + b1)) + b2) 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 truvề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 lan tryền ngược của sai số (BP), giải thuật này được sử dụng thường xuyên và thône dụng tớ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 lan truyề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ác cặp véc tơ (Xị Yị), với X; là véc tơ vào, Yị là véc tơ ra mong muốn Đối với một cặp vé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òng chảy số liệu :
- Tín hiệu vào X; đượ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 Out|lasl
- 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ệu chinh 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
Trang 33số hiện tại Các giá trị trọng số này sau đó được hiệu chinh và trở thành các giá trị trọng sô hiện tại để tính giá trị hàm sai số tiếp theo E ị + I Dễ nhận thấy, cách làm này
có khá năng tạo ra sự dao động trong quá trình hiệu chỉnh các trọng số Kết quá hiệu chỉnh hiện tại có thể làm hỏng kết quả hiệu chinh ở các lần trước đó.
3.1.3 G iả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 LM S thuộc dạng thuật toán xấ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.
a M ô tả giái thuật
Giải thuật áp dụng cho dạng tổng quát của mạng nơ ron truyền thảng nhiểu lớ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:
a"'+l = f"+l (W m+1am + bm+1) với m = 0, 1, M - 1
trong đó M là số lớp trône 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: a° = p, chính là điểm bắt đầu của phương trình trên Đầu ra của lớp cuối
cùng được xem là đầu ra của mạng: a = ẵM.
C h ỉ sô hiệu năng (perform ance index)
Đố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:
Trang 34Tương tự thuật toán LMS, giải thuật BP sử dụng chỉ số hiệu năng là trung bình bì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ác cặp mô tả hoạt động đúng của mạng (các mẫu dùng đế huấn luyện mạng):
l ( P l ' t | ) < ( P 2 ' ^ 2)1 • • • » ( P q i t ọ ) Ị ,
trong đó p, là một đầu vào và t, là đầu ra mong muốn tương ứng, với / = l 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 mong muố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ình bình phương lỗi:
F( x) = e[e2] = e[ự - 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ọng toá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 ma trận:
F(x) = e[eTe] = e[(t - a)7(t - a)]
Tương tự như thuật toán LMS, xấp xỉ của trung bình bình phương lỗi như sau:
Trang 35L u ậ t x í c h (C hain Rule):
Đỏi với các mạng nơ ron truyền tháng nhiều lớp, lỗi khône phải là một hàm của chỉ các trọng số trona 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 /là một hàm của biến n, muốn tính đạo hàm c ủ a /
có liên quan đến một biến VI’ khác Luật xích này như sau:
đầu vào của mạng tới iớp m là một hàm của trọng số và độ lệch:
Trang 36Lan 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ền ngược” bởi vì nó mồ tả mối quan hệ hồi quy trong đó độ nhậy cảm s'" được tính qua
độ nhậy cảm s"'+l của lớp m + 1.
Đê dẫn đến quan hệ đó, ma trận Jacobian được sử dụng như sau:
Trang 373 ni +1
on n on
• m
= F (n"')(w m+') r Ỡ F
ỡn /H + l
Trang 38Đến đây ta có thê thấy độ nhậy cảm được lan truyền ngược qua mạng từ lớp cuối cùng trớ về lớp đầu tiên:
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ính gradient cần phải lan truyền neược độ nhậy cảm từ các lớp sau về các lớp trước như
Trang 39Trê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ơ ron truyề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ụ
C h ọ n lự a câu trú c m ạng
Vấ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
Trang 401) Phần lớn các thuật toán huấn luyện cho các mạng nơron truyền thẳng nhiều lớp dựa trên phương pháp giảm gradient Các lớp thêm vào sẽ thêm việc lan
truyền các lỗi làm cho véc tơ gradient rất không ổn định, mà sự thành công của bất kỳ
một thuật toán tối ưu theo gradient phụ thuộc vào độ không thay đổi của hướng khi
mà các tham 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ác
thuậ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úng khône 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, nhưng xác suất bị tắc trong một cực trị địa phương là khá cao, và khi
đó, ta phải bắt đầu luyện mạng lại.
3) DT 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 ẩn
với chi 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 đối
vớ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ằng
nê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ác
mạ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 kí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
tro n g lớp ẩn.
Sô n ơ ron tro n g 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ượng cá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
quá (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ỏne phán ánh đúng hoạt động của mạng Đê tránh trường hợp học