CHƯƠNG I. Tổng quan về mạng nơron nhân tạo....................................................... 4 I.1. Giới thiệu chung ..................................................................................................... 4 I.1.1. Ý tưởng sinh học ............................................................................................ 4 I.1.2. Mô hình nơron nhân tạo ................................................................................. 6 I.2. Mạng nơron nhân tạo ............................................................................................. 6 I.2.1. Mô hình ........................................................................................................... 6 I.2.2. Phạm vi ứng dụng ........................................................................................... 8 I.3. Đào tạo mạng nơron ............................................................................................... 9 I.3.1. Phân loại các phương pháp đào tạo mạng nơron ............................................ 9 I.3.2. Chuẩn bị dữ liệu đào tạo ............................................................................... 10 I.3.3. Tiền xử lý và hậu xử lý ................................................................................. 11 I.4. Học quá mức và tổng quát hoá 4 ....................................................................... 12 I.5. Tổng kết chương .................................................................................................. 13 CHƯƠNG II. Mạng nơron lan truyền ngược sai số .................................................. 15 II.1. Tổng quan về mạng nơron lan truyền ngược sai số ............................................ 15 II.2. Các khái niệm liên quan đến giải thuật lan truyền ngược sai số 1 ................... 16 II.2.1. Mặt lỗi ......................................................................................................... 16 II.2.2. Phương pháp giảm gradient ........................................................................ 17 II.2.3. Cực tiểu cục bộ ............................................................................................ 18 II.2.4. Qui tắc chuỗi ............................................................................................... 18 II.3. Đạo hàm hàm lỗi 1 ........................................................................................... 19 II.3.1. Đạo hàm hàm lỗi theo trọng số nút xuất ..................................................... 20 II.3.2. Đạo hàm hàm lỗi theo trọng số nút ẩn ........................................................ 21 II.4. Quy tắc học của giải thuật lan truyền ngược sai số 1 ...................................... 23 II.4.1. Xác định hướng giảm dốc nhất. .................................................................. 23 II.4.2. Xác định lượng hiệu chỉnh trọng số. ........................................................... 25 II.5. Các yếu tố của quá trình học của mạng .............................................................. 25 II.5.1. Khởi tạo các trọng số .................................................................................. 25 II.5.2. Hằng số học ............................................................................................. 26 II.5.3. Các quy tắc học ........................................................................................... 27 II.5.4. Tập mẫu học và dự báo ............................................................................... 28 II.5.5. Cấu trúc mạng ............................................................................................. 29 II.5.6. Các hàm truyền ........................................................................................... 29 II.6. Tổng kết chương ................................................................................................. 30
Trang 1MỤC LỤC
Tổng quan về mạng nơron nhân tạo 2
Mạng nơron lan truyền ngược sai số 13
Giải thuật di truyền 29
Giới thiệu về JOONE 45
Phát triển JOONE 62
Kiểm nghiệm lại các quy tắc học đã cài đặt Ứng dụng JOONE cho bài toán tính năng lượng bức xạ mặt trời 95
KẾT LUẬN 117
PHỤ LỤC A - Hướng dẫn cài đặt và sử dụng 119
PHỤ LỤC B - Bảng chữ viết tắt và thuật ngữ 120
PHỤ LỤC C – Danh sách cỏc hỡnh 121
PHỤ LỤC E – Danh sách các bảng 124
PHỤ LỤC F – Danh sách từ khoá 125
Tài liệu tham khảo 127
Trang 2Tổng quan về mạng nơron nhân tạo
I.1 Giới thiệu chung
Mạng nơron nhân tạo (Artificial Neural Networks) trong một vài năm trở lại
đõy đã được nhiều người quan tâm và đã áp dụng thành công trong nhiều lĩnh vựckhác nhau, như tài chính, y tế, địa chất và vật lý Thật vậy, bất cứ ở đõu có vấn đề
về dự báo, phân loại và điều khiển, mạng nơron nhân tạo đều có thể ứng dụng được Sự thành công nhanh chóng của mạng mạng nơron nhân tạo có thể là do một
số nhân tố chính sau:
• Năng lực: mạng nơron nhân tạo là những kỹ thuật mô phỏng rất tinh vi, có
khả năng mô phỏng các hàm cực kỳ phức tạp Đặc biệt, mạng nơron nhân
tạo hoạt động phi tuyến Trong nhiều năm, mô hình tuyến tính là kỹ thuật
được sử dụng rộng rãi trong hầu hết các lĩnh vực, vì thế mô hình tuyến tính
có tính chiến lược tối ưu hóa được biết nhiều nhất
• Dễ sử dụng: mạng nơron nhân tạo có tính học theo các ví dụ Người sử
dụng mạng nơron nhân tạo thu thập các dữ liệu đặc trưng, và sau đó gọi các
thuật toán huấn luyện để có thể tự học cấu trúc của dữ liệu Mặc dù người sửdụng làm tất cả những điều cần thiết để có thể chọn và chuẩn bị dữ liệu, sửdụng loại mạng phù hợp và có thể hiểu được các kết quả, nhưng mức độ
người sử dụng biết cách áp dụng thành công mạng nơron nhân tạo vẫn thấp
hơn nhiều những người sử dụng các phương pháp thống kê truyền thống…
Mạng nơron nhân tạo dựa trên việc mô phỏng cấp thấp hệ thống nơron sinh
học Trong tương lai với sự phát triển mô phỏng nơron sinh học, chúng ta có thể cóloại máy tính thông minh thật sự
I.1.1 Ý tưởng sinh học
Mạng nơron nhân tạo phát triển từ nghiên cứu về trí tuệ nhân tạo; đặc biệt cố
gắng bắt chước bộ não có cấu trúc cấp thấp về khả năng học và chấp nhận sai của
hệ thống nơron sinh học
Bộ não con người gồm một số rất lớn nơron (khoảng 10.000.000.000 nơron)
kết nối với nhau (trung bình mỗi nơron kết nối với hàng chục ngàn nơron khác).Mỗi nơron là một tế bào đặc biệt, có thể truyền các tín hiệu điện Nơron có cấu trúc
rễ ngõ vào, thân tế bào và cấu trúc rễ ngõ ra (sợi thần kinh) Các sợi thần kinh của
một tế bào kết nối với các tế bào khác thông qua các khớp thần kinh (synapse) Khi
Trang 3một nơron kích hoạt, nó tạo ra xung điện hóa học dọc theo sợi thần kinh Tín hiệu
này đi qua các khớp thần kinh đến các nơron khác, và tiếp tục bị kích hoạt Nơron
hoạt động chỉ khi tất cả các tín hiệu nhận được ở thân tế bào thông qua rễ ngõ vàovượt quá một mức nào đó (ngưỡng hoạt động)
Cấu trúc cơ bản của nơron thần kinh sinh học.
Cường độ tín hiệu thu được của nơron phụ thuộc vào độ nhạy của khớp thần
kinh Chỉ có việc học làm thay đổi cường độ kết nối của khớp thần kinh Ví dụ như
theo thí nghiệm có điều kiện Pavlovian cổ điển, gừ chuụng trước khi cho chó ăn tối,con chó nhanh chóng học được rằng rung chuông gắn liền với ăn Khớp thần kinhgiữa phần vỏ não thính giác và tuyến nước bọt đã nhạy hơn, vì thế khi rung chuông
vỏ não thính giác bị kích thích, con chó bắt đầu tiết nước bọt
Do đó, từ một số rất lớn các đơn vị xử lý rất đơn giản này (mỗi đơn vị thựchiện tổng trọng số cỏc ngừ vào sau đó kích hoạt một tín hiệu nhị phân nếu tổng ngõvào vượt quá ngưỡng), bộ não điều khiển để hoạt động những công việc cực kìphức tạp Dĩ nhiên, sự phức tạp trong hoạt động của bộ não không thể trình bày hết,nhưng dù sao mạng trí tuệ nhân tạo có thể đạt được một vài kết quả đáng chú ý với
mô hình không phức tạp hơn bộ não
I.1.2 Mô hình nơron nhân tạo
Nơron nhân tạo được định nghĩa như sau:
Trang 4• Nơron nhân tạo nhận một số cỏc ngừ vào (từ dữ liệu gốc, hay từ ngõ ra các
nơron khác trong mạng) Mỗi kết nối đến ngõ vào có một cường độ (haytrọng số), những trọng số này tương ứng với tác dụng khớp thần kinh trongnơron sinh học Mỗi nơron cũng có một giá trị ngưỡng
• Tín hiệu được truyền qua hàm kích hoạt (hay còn gọi là hàm truyền) tạo
giá trị ngõ ra nơron
Nếu sử dụng hàm truyền nấc (nghĩa là ngõ ra nơron là 0 nếu ngõ vào nhỏ hơn
0, và là 1 nếu ngõ vào lớn hơn hay bằng 0) thì nơron hoạt động giống như nơronsinh học Thực tế, hàm nấc ít khi sử dụng trong mạng trí tuệ nhân tạo Lưu ý rằng
trọng số có thể âm, nghĩa là khớp thần kinh có tác dụng kiềm chế hơn là kích hoạt
nơron
Mô hình một nơron nhõn tạo.
I.2 Mạng nơron nhân tạo
I.2.1 Mô hình
Trên đõy mô tả các nơron đơn lẻ Trong thực tế các nơron được kết nối vớinhau Khi mạng hoạt động, chúng phải cú ngừ vào (mang giá trị hoặc biến của thếgiới thực) và ngõ ra (dùng để dự báo hoặc điều khiển) Ngõ vào và ngõ ra tươngứng với các nơron giác quan và vận động, như tín hiệu đưa vào từ mắt và điều khiểncánh tay Tuy nhiên chỳng cũn cú cỏc nơron ẩn đóng vai trò ẩn trong mạng
Một mạng đơn giản có cấu trúc tiến: tín hiệu đi vào ở ngõ vào, qua các nơron
ẩn và cuối cùng đến các nơron ngõ ra Cấu trúc như thế chạy ổn định Tuy nhiên,
nếu mạng có hồi tiếp (chứa các kết nối ngược trở về các nơron trước đó) mạng có thể chạy không ổn định và dao động rất phức tạp Mạng hồi tiếp rất được các nhà
nghiên cứu quan tâm, nhưng cấu trúc tiến đã chứng minh rất hiệu quả trong việcgiải quyết các vấn đề thực tế
Trang 5Mô hình một mạng nơron nhân tạo.
Mạng nơron nhân tạo tiến cho như hình 4 Các nơron được sắp xếp theo cấu
trúc liên kết lớp riêng biệt Lớp ngõ vào không phải là nơron thực: các nơron nàyhoạt động đơn giản là giới thiệu các giá trị của các biến vào Các nơron lớp ẩn vàlớp ngõ ra được kết nối với tất cả các nơron lớp trước đó Cũng như vậy chúng ta cóthể định nghĩa mạng cú cỏc kết nối một phần với một vài nơron trong lớp trước đó;tuy nhiên, trong hầu hết các ứng dụng mạng có kết nối đầy đủ vẫn tốt hơn
Mạng nơron nhõn tạo tiến kết nối đầy đủ.
Khi mạng hoạt động, các giá trị biến ngõ vào được đặt vào các nơron ngõ vào,
và sau đó các nơron lớp ẩn và lớp ngõ ra lần lượt được kích hoạt Mỗi nơron tínhgiá trị kích hoạt của chúng bằng cách lấy tổng các trọng số ngõ ra của các nơron lớptrước đó, và trừ cho ngưỡng Giá trị kích hoạt truyền qua hàm kích hoạt tạo ra giátrị ngõ ra của nơron Khi toàn bộ mạng đã hoạt động, cỏc ngừ ra của lớp ngõ ra hoạtđộng như ngõ ra của toàn mạng
I.2.2 Phạm vi ứng dụng
Mạng nơron được coi như một hộp đen biến đổi đầu vào m biến thành vộctơ
ra n biến Các biến của vộctơ vào và ra có thể là các số thực, tốt nhất nằm trong
Trang 6khoảng [0, 1] hoặc [-1, 1]; số nhị phân 0, 1 hay số nhị cực -1, +1 Số biến của vộctơvào ra không bị hạn chế song sẽ ảnh hưởng tới thời gian tính và tài nguyên của máytính Với số lượng lớn các biến của cỏc vộctơ đầu vào và ra đồng nghĩa với việctăng số lượng các số liệu quan sát Thường số biến của vộctơ ra nhỏ hơn số biến củavộctơ vào nhưng không phải bắt buộc là như vậy Các lĩnh vực mà mạng nơronthường được ứng dụng là :
• Phân loại (Classification)
• Mô hình hoá (Modeling)
• Biến đổi (Transformation and mapping)
a Phân loại:
Một trong các công việc đơn giản và thường được sử dụng nhiều trong việc
quản lý các đối tượng đa biến là phân loại Đó có thể là sắp xếp các đối tượng vào
các tập theo từng loại hoặc theo tầng lớp hoặc theo các lớp con của các lớp lớn hơn
Thường xuyên việc phân loại theo tầng lớp bao gồm nhiều mức của cỏc phộp
ra quyết định, phân lớp một đối tượng vào nhúm, nhúm con, chủng loại, chủng loạicon, hoặc lớp Ví dụ trong hoá học việc dự báo các đặc điểm cấu trúc khác nhaucùng một hợp chất chưa biết trên phổ của nó
b Mô hình hoá:
Các hệ thống phân loại đưa ra các 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 hoá
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 Trong việc môhình hoá một số lượng nhỏ các số liệu được sử dụng để xây dựng mô hình Mô hìnhnà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 (curve-fitting) là một trong nhữngứng dụng thuộc dạng này Trong phần lớn các ứng dụng chúng chỉ là thủ tục mộtbiến vào - một biến ra như sau:
Y = f(x, a, b, … , p)
Ở đây hàm f chứa một tập các tham số a, b, …., p Các tham số này phải đượcxác định bằng việc tối thiểu hoá độ chênh lệch giữa số liệu thực nghiệm và giá trịtính toán từ mô hình:
Σ (y thực nghiệm - ymô hình)2 → min
Mô hình hoá cũng có thể là vấn đề nhiều biến vào - một biến đầu ra hoặc
nhiều biến đầu vào - nhiều biến đầu ra
Trong bất kỳ loại mô hình nào thì cũng phải tuân theo một giả định là: cácthay đổi nhỏ của tín hiệu đầu vào sẽ chỉ gây ra những biến đổi nhỏ của tín hiệu ra.Trong các vấn đề đa biến mạng nơron có nhiều lợi thế hơn so với các phươngpháp mô hình hoá cổ điển sử dụng các hàm giải tích, các phương pháp mô hình hoá
cổ điển đối với mỗi biến đầu ra chúng ta phải khẳng định trước một hàm giải tích
Trang 7cùng một bộ các tham số trong khi đó đối với mạng nơron chúng ta không cần bất
kỳ sự hiểu biết trước về các tham số đó
c Biế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ỏ hơn rất nhiều (2 hoặc 3) Qua việc nộn cỏc đối tượngnày sẽ bộc lộ các đặc điểm mà chúng ta không thể nhận thấy khi các đối tượng ởtrong không gian nhiều chiều
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ộ các đốitượng như thế nào: Có bao nhiờu vựng trong bản đồ có thể phân biệt được? Hìnhdáng của cỏc vựng đú như thế nào ? Các đặc điểm của các đối tượng thể hiện quacỏc vựng bản đồ như thế nào ?
I.3 Đào tạo mạng nơron
I.3.1 Phõn loại các phương pháp đào tạo mạng nơron
Có nhiều phương pháp để đào tạo một mạng nơron, chỳng được phõn loại theocác chỉ tiêu khác nhau:
1) Phõn loại theo cách học có giám sát hay không:
a Học có giám sát
b Học không có giám sát
c Học có giám sát và kiểm tra chéo
2) Phõn loại theo số lượng mẫu học một lần:
a Học cả tập mẫu một lần
b Học từng mẫu một, cần phải quan tõm thứ tự mẫu học
c Học từng phần của tập mẫu
Tuỳ theo dạng bài toán mà ta quyết định chọn phương pháp học nào Với bài
toán học có giám sát tức là có “thầy giáo” hướng dẫn và điều chỉnh lại trọng số của
mạng để đạt được lời giải Như vậy cần phải chuẩn bị một tập mẫu học cho quátrình học này Các phần tiếp theo sẽ nêu một số điểm chính về việc chuẩn bị số liệuhọc
Vấn đề sắp xếp, bố trí thứ tự các số liệu học như thế nào cũng khá quan trọng,
vì nếu ta sử dụng học từng mẫu một, mạng thường sẽ rơi vào tình trạng “học mẫu
sau quên mẫu trước” và thường thì mẫu cuối cùng sẽ cho sai số nhỏ nhất Vì vậy
phương pháp này ít được sử dụng so với phương pháp học từng phần của tập mẫuhoặc học toàn bộ tập mẫu một lần
I.3.2 Chuẩn bị dữ liệu đào tạo
Một khi ta quyết định giải quyết một vấn đề sử dụng mạng nơron nhân tạo ta
cần phải thu thập dữ liệu cho mục tiêu huấn luyện Tập hợp dữ liệu huấn luyện baogồm một số các trường hợp, mỗi trường hợp chứa những giá trị của đầu vào và đầu
Trang 8ra khác nhau Những việc đầu tiên cần làm là: những biến nào sử dụng, bao nhiêutrường hợp cần thu thập.
Sự lựa chọn các biến do trực giác quyết định Công việc chuyên môn của tatrong lĩnh vực cần giải quyết sẽ cho ta những ý tưởng về các biến ngõ vào phù hợp
Trong mạng nơron nhân tạo, ta có thể chọn và loại bỏ nhiều biến và mạng nơron
nhân tạo cũng có thể xác định bằng thực nghiệm những biến hữu ích Trong bước
một ta nờn tớnh đến bất kì biến nào mà ta nghĩ có ảnh hưởng đến quá trình thiết kế
Mạng nơron nhân tạo xử lý dữ liệu số trong một tầm giới hạn rõ ràng Điều
này đưa ra một vấn đề nếu dữ liệu nằm trong một vùng đặc biệt như dữ liệu chưabiết hay không phải dữ liệu số Dữ liệu số được chia nhỏ thành những khoảng thíchhợp cho mạng và những giá trị thiếu có thể được thay thế bằng giá trị trung bìnhhay giá trị thống kê của biến đó thông qua những biến khác đã được huấn luyện
Xử lý dữ liệu không phải là số thỡ khú hơn Loại dữ liệu không phải là sốthông thường nhất là những biến có giá trị danh định như giới tính (nam, nữ) Biến
có giá trị danh định có thể biểu diễn bằng số học và mạng nơron nhân tạo có chức năng hỗ trợ điều này Tuy nhiên mạng nơron nhân tạo làm việc tốt với những
trường hợp biến danh định là một tập nhiều giá trị
Số phần tử của mẫu dùng để huấn luyện mạng rất khú xỏc định Đã có một vàihướng dẫn về mối liên hệ giữa số trường hợp mẫu với kích thước mạng (cách đơngiản nhất là số trường hợp mẫu gấp 10 lần số kết nối trong mạng) Thực ra sốtrường hợp mẫu cũng liên quan đến độ phức tạp của hàm mà mạng phải học Khi sốbiến tăng lên, số trường hợp mẫu cần để huấn luyện cũng tăng phi tuyến, vì thế vớimột số nhỏ các biến (50 hoặc nhỏ hơn) thì lại cần một số lớn các trường hợp mẫu.Trong hầu hết các vấn đề trong thực tế, số trường hợp mẫu là khoảng hàngtrăm hay hàng ngàn mẫu Đối với những vấn đề rất phức tạp thì cần nhiều hơn,nhưng trường hợp này rất ít
Nhiều vấn đề trong thực tế có dữ liệu không đáng tin cậy, một vài dữ liệu bị
phá hỏng do nhiễu, hoặc các giá trị không phối hợp được với nhau Mạng nơron
nhân tạo có khả năng đặc biệt xử lý dữ liệu bị mất (sử dụng giá trị trung bình hay
những giá trị thống kê khác) Vì thế nếu dữ liệu đưa vào ít, ta nên đưa vào những
trường hợp giá trị bị mất (rõ ràng nếu không có thì không lý tưởng) Mạng nơron
nhân tạo cũng chịu được nhiễu, nhưng cũng phải có giới hạn Nếu thỉnh thoảng có
giá trị nằm xa ra khỏi vùng giá trị bình thường thì mạng huấn luyện phải có ngưỡng.Cách tốt nhất đối với trường hợp này là nhận ra và loại bỏ những giá trị nằm xa đó(có thể hủy trường hợp này hoặc xem giá trị nằm xa này là giá trị bị mất) Nếu giá
trị xa này khó nhận ra, mạng nơron nhân tạo có chức năng huấn luyện chịu được
giá trị nằm khỏi vùng này nhưng cách huấn luyện này thường kém hiệu quả hơn làhuấn luyện chuẩn
Tóm lại, cách thu thập dữ liệu có thể nói gọn lại như sau:
• Chọn những giá trị huấn luyện có tác dụng
Trang 9• Dữ liệu số và danh định có thể xử lý trực tiếp bằng mạng nơron nhântạo Chuyển những loại biến khác sang một trong các dạng này.
Cần hàng trăm hoặc hàng ngàn trường hợp mẫu huấn luyện; càng nhiều biến
thì càng nhiều mẫu huấn luyện mạng nơron nhân tạo có khả năng nhận ra những
biến hữu dụng để huấn luyện
I.3.3 Tiền xử lý và hậu xử lý
Tất cả các mạng nơron nhân tạo lấy giá trị vào và ra là số Hàm truyền
thường được chọn sao cho có thể chấp nhận bất cứ vùng giá trị vào nào, và giá trị
ngõ ra hữu hạn (có tác dụng nén) Mặc dù ngõ vào có bất kì giá trị nào, nên hàm
truyền có giá trị bão hòa và chỉ nhạy trong một vùng hữu hạn nào đó
biểu diễn đồ thị một hàm truyền cơ bản nhất, hàm xích ma (sigmoid) có biểu
thức toán học như sau:
Giá trị đầu ra của hàm biến đổi trong khoảng (0; 1), và giá trị vào chỉ nhạytrong khoảng (-1,1) Hàm này liên tục và dễ lấy vi phân, do đó các hàm huấn luyện
dễ phân tích để huấn luyện mạng Cũng vì lý do đạo hàm mà hàm nấc không đượcdùng nhiều trong thực tế
Do tính chất của hàm truyền như vậy cần chúng ta có một bước tiền xử lý và
hậu xử lý dữ liệu đào tạo về khoảng thích hợp với hàm truyền của loại nơron sửdụng trong mạng
Hàm xích ma (sigmoid).
Do vùng đáp ứng hữu hạn và thông tin vào dưới dạng số, nên trong ứng dụng
thực tế, mạng nơron thường cú cỏc bước tiền xử lý và hậu xử lý Hai vấn đề cần
hiểu rõ là :
Phân đoạn : Giá trị số phải được chia thành một tầm thích hợp trong mạng.
Thông thường giá trị biến ban đầu được phân đoạn thô tuyến tính
0 0.2 0.4 0.6 0.8 1.0
Trang 10Trong một vài trường hợp, phân đoạn phi tuyến có thể thích hợp (ví dụ nếubiết một biến được phân bố theo hàm mũ, ta phải dùng logarit).
Biến danh định : có thể có hai hay nhiều trạng thái Biến danh định hai trạng
thái dễ dàng biểu diễn dưới dạng giá trị số (ví dụ nam = 0; nữ =1) Biến danh định
nhiều trạng thái khó xử lý hơn Nó có thể biểu diễn dưới dạng số
Mạng nơron nhõn tạo có khả năng biến đổi cả những biến danh định hai trạng thái và nhiều trạng thái để sử dụng trong mạng Nhưng biến danh định trong một tập rất nhiều trạng thái sẽ cần một số lớn tập mã nhị phõn n bít, dẫn đến kích
thước mạng rất lớn và khó huấn luyện Trong trường hợp như vậy chúng ta có thể
mô phỏng biến danh định sử dụng chỉ số số đơn (mặc dù chưa đúng), ngoài ra
chúng ta phải tìm kỹ thuật khác tốt hơn để biểu diễn thông tin
I.4 Học quá mức và tổng quát hoá [4]
Một vấn đề mà các kỹ thuật trên không thực sự cực tiểu sai số là khi chúng tađưa một trường hợp mới vào mạng Nói cách khác, thuộc tính mong muốn nhất của
mạng là khả năng tổng quát hóa các trường hợp mới Thực ra, mạng được huấn
luyện cực tiểu hóa sai số dựa trên tập huấn luyện, tập này không hoàn hảo và hữuhạn, rõ ràng sẽ không đúng khi cực tiểu sai số trên mặt phẳng sai số thực – mặtphẳng sai số của mô hình cơ sở và chưa biết
Sự phân biệt ở đõy chính là học quá mức hay khít quá mức Cách dễ nhất để
minh họa khái niệm này là việc dò theo đồ thị đường cong đa thức hơn là minh họa
bằng mạng nơron nhân tạo nhưng ý nghĩa thì giống nhau.
Đa thức là phương trỡnh cú cỏc hệ số và lũy thừa hằng số
Ví dụ:
y = 2x + 3 y= 3x 2 + 4x + 1
Các đa thức khác nhau có đồ thị khác nhau, với bậc lớn hơn (và do đó cónhiều số hạng hơn) sẽ có đồ thị phức tạp hơn Với một tập dữ liệu cho trước, chúng
ta muốn tìm ra đa thức biểu diễn dữ liệu này Dữ liệu có thể có nhiễu, vì thế chúng
ta không cần thiết tìm ra phương trình đúng nhất cho tất cả các điểm Đa thức bậcthấp hơn sẽ không thể đủ chính xác với tất cả các điểm, trong khi đó đa thức bậccao hơn chính xác tất cả các dữ liệu sẽ rất phức tạp, đa thức này sẽ có đồ thị khôngđúng với hàm cơ sở
Mạng nơron nhân tạo cũng có vấn đề như vậy Mạng có càng nhiều trọng số
thì hàm càng phức tạp và do đó sẽ rơi vào tình trạng khít quá mức Mạng cú ớt trọng
số hơn sẽ không đủ khả năng để mô phỏng hàm cơ sở Ví dụ như mạng không cócác lớp ẩn chỉ mô phỏng hàm truyền tuyến tính đơn giản
Vậy chúng ta sẽ chọn lựa độ phức tạp của mạng đúng như thế nào? Mạng lớnhơn sẽ hầu như luôn luôn có được sai số nhỏ hơn, nhưng điều này có thể là khít quámức hơn là một mô hình tốt
Trang 11Cõu trả lời là sử dụng chức năng kiểm tra chéo, một số mẫu trong tập huấn
luyện được sử dụng để kiểm tra, sau khi những mẫu cũn lại đã được học Để thaythế, những mẫu này được sử dụng để kiểm tra độc lập trong quá trình của thuậttoán Như vậy hiệu suất ban đầu của mạng luôn luôn bằng nhau ở những tập huấnluyện và xác minh lại Trong quá trình huấn luyện, sai số huấn luyện tự nhiên giảmxuống, và cho phép huấn luyện cực tiểu hóa hàm sai số thực, sai số xác minh cũng
giảm xuống Tuy nhiên, nếu sai số xác minh không giảm, hay bắt đầu tăng lên, điều
này có nghĩa là mạng bắt đầu khít quá mức dữ liệu, và huấn luyện nên dừng lại (có
thể cài đặt mạng nơron nhân tạo tự động dừng lại khi bắt đầu học quá mức) Trường hợp khít quá mức xảy ra trong quá trình xử lý huấn luyện gọi là học quá
mức Trong trường hợp này, chúng ta nên giảm số nơron ẩn hay/và lớp ẩn vì mạng
quá mạnh đối với vấn đề này Ngược lại, nếu mạng không đủ mạnh để mô phỏnghàm cơ sở, học quá mức không có khả năng xảy ra, cũng như sai số huấn luyện hayxác minh lại không rơi vào mức bão hòa
Những vấn đề liên quan đến cực tiểu cục bộ, và những quyết định sử dụng quỏkớch thước của mạng, nghĩa là chúng ta phải chạy thử trên nhiều mạng khác nhau,
có thể huấn luyện mỗi mạng vài lần (để tránh rơi vào trường hợp cực tiểu cục bộ sai
số) và quan sát hiệu suất từng mạng Điều quan trọng là quan sát sai số xác minh.
Tuy nhiên, nên nhớ rằng nên mô phỏng mạng đơn giản hơn là mạng phức tạp,chúng ta cũng có thể chọn mạng nhỏ hơn là mạng lớn có khả năng cải thiện sai sốxác minh không đáng kể
Vấn đề đối với kỹ thuật này về việc thí nghiệm lặp đi lặp lại là tập xác minhkhông thực sự đóng vai trò chọn lựa mạng, nghĩa là nó chỉ là một phần trong quátrình huấn luyện Độ tin cậy của nó chỉ ở mức độ vừa phải – khi số lần thí nghiệm
đủ, chúng ta có khả năng rơi vào trường hợp mạng thực hiện tốt trên tập xác minh
Để thêm độ tin cậy hiệu suất của mô hình cuối cùng thì trong thực tế thường sửdụng thêm một tập thứ ba – là tập kiểm tra Mô hình cuối cùng được kiểm tra vớitập dữ liệu kiểm tra để đảm bảo rằng kết quả của tập xác minh và huấn luyện là thật
I.5 Tổng kết chương
Trong chương này đã giới thiệu tóm tắt về cấu trúc của mạng nơron và ứngdụng của nó So với các phương pháp truyền thống thì mạng nơron có một khả năngvượt trội, tuy nhiên để ứng dụng nó thành công cũng cần nghiên cứu nhiều khớacạnh về đào tạo mạng nơron, như lựa chọn cấu trúc mạng nơron, thiết kế tập mẫuhọc (nếu sử dụng phương pháp học có giám sát), và sau quá trình học phải tạo ramạng nơron có tính tổng quát cao để có thể đem ứng dụng thực tế được tốt Sau đõy
là một số quy tắc được rút ra khi thiết kế mạng nơron và đào tạo nó:
• Chọn một số cấu trúc mạng ban đầu (thường một lớp ẩn có số nơron ẩnbằng nửa tổng số nơron ngõ vào và ngõ ra)
Trang 12• Thực hiện lặp đi lặp lại số thí nghiệm của mỗi cấu trúc mạng, giữ lại
mạng tốt nhất (thường dựa trên sai số xác minh) Thí nghiệm nhiều lần trên mỗi cấu trúc mạng để tránh rơi vào sai số cục bộ.
• Trong mỗi lần thí nghiệm, nếu xảy ra việc học chưa đủ (mạng không đạtđược mức hiệu suất chấp nhận) thì thử tăng số nơron trong lớp ẩn Nếu
không hiệu quả, thỡ thờm một lớp ẩn Nếu xảy ra học quá mức (sai số
xác minh bắt đầu tăng lên) thử bỏ bớt một vài nơron ẩn (và có thể bỏ lớpẩn)
Trang 13Mạng nơron lan truyền ngược sai số
I.6 Tổng quan về mạng nơron lan truyền ngược sai số
Lan truyền ngược sai số là tên của phương pháp học - chiến lược hiệu chỉnh
của các trọng số Phương pháp học này đầu tiên được tác giả Werbos giới thiệu, sau
đó được Rumelhart sử dụng và phổ cập trong lĩnh vực mạng nơron Trong lĩnh vựcmạng nơron nhiều lớp phương pháp học này được sử dụng thường xuyên nhất.Trong thực tế nó thông dụng tới mức rất nhiều tác giả cho rằng mạng nơron chính làmạng nhiều lớp lan truyền ngược sai số
Sơ đồ hiệu chỉnh trọng số
Sự hấp dẫn của mạng lan truyền ngược sai số nằm ở sự rõ ràng, rành mạch
của các phương trình hiệu chỉnh các trọng số Các phương trình này được áp dụngcho việc hiệu chỉnh các trọng số của từng lớp bắt đầu từ lớp ra ngược lên tới lớp sau
lớp vào mô tả thủ tục hiệu chỉnh trọng số Thủ tục hiệu chỉnh trọng số trong giải
thuật lan truyền ngược sai số không giống giải quá trình học của mạng nơron trong
não Tuy nhiên giải thuật học lan truyền ngược sai số gần với mạng nơron nhân tạo được mô tả trong chương một nhất Thực chất đó là thủ tục dịch chuyển ngược
hướng các gradient để hiệu chỉnh các trọng số của các lớp nơron
Dữ liệu họcLớp nơron vàoLớp nơron ẩnLớp nơron ra
Dữ liệu raLời giải
Đối
Hiệu chỉnh trọng sốHiệu chỉnh trọng sốHiệu chỉnh trọng số
Trang 14Luồng dữ liệu truyền trong mạng lan truyền ngược sai số
I.7 Các khái niệm liên quan đến giải thuật lan truyền ngược sai số [1]
I.7.1 Mặt lỗi
Quá trình học theo giải thuật lan truyền ngược sai số là một quá trình tìm các
trọng số của mạng sao cho ánh xạ của quá trình lan truyền tiến khớp nhất với bộ dữliệu chứa các mẫu của hàm đớch Sai số trung bình bình phương thường được sửdụng để đo lường sự trùng khớp giữa ánh xạ cần xõy dựng với hàm đớch cho trước(qua tập mẫu)
Cho tập mẫu:
Ω = {(Xk, Tk) = (xk1, xk1, , xkM ; tk1, tk1, ,tkN);
xki, tkj∈R; i = 1, ,M; j = 1, ,N; k =1, , K }Gọi NN là ánh xạ do quá trình lan truyền tiến tạo ra:
Đặt Zk = NN(Xk) = (zk1, zk2, , zkN)
Ta có sai số trung bình bình phương RMSE là :
K N
t z RMSE
N n
K k
kn kn
)(
Về mặt hình học ta có thể xem RMSE như một mặt lỗi Để có thể hình dung, ta
xét bài toán với mô hình tuyến tính tạo ra bởi mạng nơron một lớp:
xaa
y = 0 + 1
Trong mô hình này hai tham số tương ứng với hai trọng số a 0 và a 1 minh hoạmột không gian ba chiều với hai tham sốa 0 và a 1 tạo thành mặt đáy và sai số RMSEchính là trục thứ ba
Trang 15Mặt lỗi trong không gian trọng số [11]
biểu diễn một mặt lỗi Cho trước một tập mẫu, chiều cao của từng điểm trên
mặt lỗi cho biết sai số của mô hình ứng với cặp trọng số (a0, a1) Vậy mô hình tốtnhất sẽ là mô hình có cặp trọng số (a0, a1) tương ứng với các điểm thấp nhất trênmặt lỗi Một mô hình tốt nhất là một mô hình tạo ra ít sai số nhất
Lưu ý rằng hình dạng của mặt lỗi phụ thuộc rất nhiều vào một tập lỗi cụ thể đang xét Nếu tập lỗi thay đổi, có khả năng mặt lỗi sẽ thay đổi.
Khi mô hình có hơn hai tham số ta không thể hình dung được mặt lỗi Tuy nhiên ta vẫn có thể định nghĩa hình học của mặt lỗi Mặt lỗi là một siêu phẳng trong
đó mỗi điểm của nó tương ứng với một điểm trong không gian trọng số Chiều caotrên không gian trọng số của mỗi điểm trong mặt lỗi biểu diễn sai số của mô hìnhứng với các trọng số tương ứng Điểm thấp nhất trên mặt lỗi cho ta mô hình có ít sai
số nhất
I.7.2 Phương pháp giảm gradient
Hồi quy tuyến tính là một phương pháp cho phép xác định tập các hệ số của
một mô hình tuyến tính của một tập mẫu cho trước sao cho sai số trung bình bìnhphương là nhỏ nhất Nghĩa là xác định điểm trong không gian trọng số sao cho sai
số RMSE tương ứng với điểm thấp nhất trong mặt lỗi.
Trong trường hợp mô hình là hàm không tuyến tính, như mạng nơron chẳng
hạn, việc xõy dựng tập trọng số để mô hình tạo sai số ít nhất rất khó Phương pháp
giảm gradient thường được sử dụng trong các trường hợp phức tạp này.
Phương pháp giảm gradient gồm các bước chính sau:
1 Chọn ngẫu nhiên một điểm x 0 trong không gian trọng số
2 Tính độ dốc của mặt lỗi tại x 0
Trang 163 Cập nhật trọng số theo hướng giảm dốc nhất của mặt lỗi.
4 Xem điểm mới như điểm x0 và tiếp tục lặp lại từ bước 2
Lặp đi lặp lại quá trình từ bước (2) đến bước (4) thì đến lúc nào đó giá trị của
bộ trọng số sẽ tiếp cận được điểm thấp nhất trong mặt lỗi.
I.7.3 Cực tiểu cục bộ
Ta có thể hình dung cách làm việc của phương pháp giảm gradient như sau:
ném một quả bóng trên mặt lỗi, rồi để nó tự lăn xuống cho đến khi nó nằm yên tại
điểm thấp nhất trên mặt lỗi Tuy nhiên nếu mặt lỗi nhấp nhô, nghĩa là có nhiều điểm
trũng với độ cao thấp khác nhau, do quả bóng được đẩy vào một điểm ngẫu nhiên
trờn mặt lỗi nên nó chỉ lăn vào điểm trũng gần nó nhất Điểm trũng này chưa hẳn là
điểm trũng thấp nhất Điểm trũng không phải thấp nhất mà quả bóng lăn vào rồi
nằm yên tại đó được gọi là cực tiểu cục bộ.
Dù không thể tính toán được dạng toàn mặt lỗi, nhưng ta có thể tính được
chiều cao và độ dốc mặt lỗi tại bất kỳ điểm nào trong không gian trọng số Trong
toán học, độ dốc mặt lỗi được xác định qua đạo hàm riêng theo từng trọng số trong
mạng nơron
I.7.4 Qui tắc chuỗi
Cho trước một tập mẫu, đạo hàm mặt lỗi đơn giản là tổng đạo hàm lỗi tínhtrờn từng mẫu trong tập mẫu đó Do đó ta sẽ tập trung phõn tích và tìm cách đạo
hàm hàm lỗi trên từng mẫu Phương pháp tính đạo hàm này dựa trên “quy tắc
chuỗi”
Nếu cắt mặt lỗi bằng một mặt phẳng song song với trục biểu diễn một trọng số
w nào đó, ta sẽ có kết quả như minh họa trong hình 9.
Mặt cắt của mặt lỗi trên một mặt phẳng song song với trục một trọng số.
Bằng cách cắt mặt lỗi như trờn, trong mặt cắt có chứa một đường cong lỗi minh hoạ đường cong này có một vùng trũng Mục đớch của ta là tìm các giá trị của
w tương ứng với điểm thấp nhất trong vùng trũng này.
Trang 17là hình phóng to của phần trũng đó của hình trờn Trong hình này, ta nhận xét
3 điểm trên đường cong lỗi – tương ứng với 3 giá trị khác nhau của w – đánh số 1,
2, 3 và được đánh dấu bằng các đường đứt nét
Độ dốc mặt lỗi.
Tại mỗi điểm đang xét ta vẽ một tiếp tuyến với đường cong lỗi Quan sát thấy:
• Tiếp tuyến qua điểm thứ nhất có độ dốc õm và khá nhỏ, như vậy muốn đếnđược đáy vùng trũng cần thêm một lượng nhỏ trọng số
• Ngược lại tiếp tuyến qua điểm thứ hai có độ dốc dương và cũng nhỏ, ta cầnbớt đi một lượng nhỏ của trọng số
• Tương tự, tiếp tuyến điểm thứ ba có độ dốc dương nhưng có giá trị lớn hơnnhư vậy cần bớt đi một lượng lớn hơn
Túm lại, nếu độ dốc của tiếp tuyến õm, ta cần tăng trọng số, cũn nếu dương,phải giảm trọng số Nếu độ dốc lớn (tính theo giá trị tuyệt đối), ta cần dời trọng sốnhiều, nếu nhỏ, chỉ cần dời một chút
Độ dốc của tiếp tuyến với đường cong lỗi trong mặt cắt theo trục w gọi là đạo
hàm riêng của hàm lỗi RMSE lấy theo trọng số đó, ký hiệu ∂E/∂w
Trong thực hành, ta có thể tính được giá trị này một cách rất hiệu quả bằng
quy tắc chuỗi:
w
w w
w w
E w
I.8 Đạo hàm hàm lỗi [1]
Ta sẽ xem cách một trọng số của nút ẩn ảnh hưởng đến hàm lỗi như thế nào.Trước tiên, trọng số này ảnh hưởng trực tiếp lên tổng trọng hoá trên dữ liệu nhập vàthay đổi giá trị đầu ra của hàm truyền của nút ẩn này Giá trị này sẽ được chuyểncho tất cả các nút xuất và tương tự, cũng ảnh hưởng đến giá trị đầu ra của hàmtruyền gắn với nút xuất Cuối cùng, các giá trị kết xuất của mạng sẽ được so sánh
Trang 18với các kết xuất đớch để xác định sai số Như vậy, nếu thay đổi một trọng số củamột nút ẩn cũng sẽ làm thay đổi giá trị hàm lỗi.
Ta sẽ xem xét tác động bằng cách đi ngược tiến trình trên và xác định độ nhạycảm của lỗi đối với kết quả trung gian tại mỗi bước
I.8.1 Đạo hàm hàm lỗi theo trọng số nút xuất
Chuỗi tính trọng số nút xuất b có ba số hạng:
b
v v
z z
E b
2
)(2
1
t z
Các giá trị cụ thể của z và t cho ta một giá trị cụ thể của E Bất kỳ một thay đổinào của z cũng làm thay đổi E (do t không đổi) và tỷ lệ thay đổi bằng (z - t), nghĩalà:
t z z
Như vậy đạo hàm riêng của hàm xớch-ma như sau:
)1( z z v
j y b b
v
1
Trang 19Trong đó b0 là trọng ngưỡng và bj là các trọng số các cung gắn với nơron xuấtđang xét, yj là giá trị của các nút ẩn.
E p
0
j y p
j p b
E
j j
(2.10)
I.8.2 Đạo hàm hàm lỗi theo trọng số nút ẩn
Đạo hàm hàm lỗi của mạng đối với các trọng số của nút ẩn cũng được tính
theo quy tắc chuỗi:
a
u u
y y
E a
Những tác động này cũng được xác định theo quy luật chuỗi:
k
v v
z z
E y
Trang 20v p y
E
1
(2.13)Như vậy công thức trên có vẻ dễ hiểu hơn Bõy giờ ta xét số hạng thứ ba trongcông thức (2.12), ∂v k/∂y Số hạng này biểu diễn tác động của kết xuất của nút ẩntrên tổng trọng hoá các dữ liệu nhập của nút xuất Khi kết xuất của nút ẩn tăng, tổngtrọng hoá của nút xuất tăng lên một lượng bằng giá trị trọng số của nó trên nút ẩn đó
k b p y
1
y y b p
k k
Với các trọng số trờn các cung nối trực tiếp từ lớp vào ai, i > 0, ta có:
i i
x a
∂
∂
Cũng như đối với nút xuất
Tóm lại, đạo hàm hàm lỗi của mạng đối với các trọng số nút ẩn là:
0
x x q
x q a
E
i i
(2.19)
Cấu trúc của mạng là đặc điểm chính tác động đến tính mềm dẻo của mô hình
mà mạng sản sinh ra; đó là số lớp và cách mà các nơron được nối với nhau Mặc dùgiải thuật lan truyền ngược được thiết kế cho các mạng nơron nhiều lớp, nó cũng có
Trang 21thể được áp dụng cho các mạng nơron có một lớp Các lớp của mạng nơron lantruyền ngược sai số có thể được nối đầy đủ với nhau.
I.9 Quy tắc học của giải thuật lan truyền ngược sai số [1]
Đào tạo mạng nơron lan truyền ngược sai số là quy trình cập nhật các trọng sốcủa mạng nơron sao cho hàm lỗi RMSE giảm dần Bất kỳ phương pháp nào giúpxác định biến thiên trọng số khi cập nhật trọng số sao cho sai số RMSE giảm đều
được gọi là quy tắc học.
Có nhiều quy tắc học được công bố, trong phần này chỉ nhắc lại quy tắc học
giảm theo hướng dốc nhất Ta gọi là quy tắc học giảm dốc giảm nhất cho gọn Quy
tắc này sử dụng thông tin đạo hàm, trình bày trong phần trước, để cập nhật trọng số
Quy tắc giảm dốc nhất, còn gọi là quy tắc delta, là một trong những quy tắc
học nguyên thuỷ nhất của giải thuật lan truyền ngược sai số phương pháp được
Rumelhart, Hinton và Williams giới thiệu năm 1986
Khi hoàn thành một bước lặp toàn bộ tập mẫu, tất cả các trọng số của mạng sẽđược cập nhật dựa vào thông tin đạo hàm riêng theo từng trọng số tích luỹ được.Đúng như tên đặt cho phương pháp, giảm dốc nhất, các trọng số sẽ được cập nhậttheo hướng mà hàm lỗi RMSE tụt xuống dốc nhất
Hãy tưởng tượng như mạng lỗi di chuyển trên một chuỗi các điểm trong
không gian lỗi Để hình dung, cắt mặt lỗi theo một mặt song song với một trọng số
nào đó Trong mặt cắt này, ta có một đường cong lỗi như trong hình 9, tại bất kỳđiểm nào trên đường cong này ta sẽ có một giá trị tương ứng với cho trọng số đó.Trong suốt tiến trình luyện, mạng sẽ di chuyển qua một chuỗi các điểm trên đườngcong lỗi như thế
Tại bất cứ điểm nào trong không gian trọng số, giá trị hàm lỗi trung bình bình
phương RMSE hoàn toàn xác định được qua một tập mẫu dùng để luyện mạng Lỗi
có thể coi như chiều cao của điểm đú trờn mặt lỗi, trong không gian trọng số Takhông thể biết được chiều cao của mặt lỗi của mỗi điểm trong không gian trọng màchỉ biết được tại điểm đang xét tương ứng với một bộ trọng số hiện hành
Tại một điểm cho trước trong không gian trọng số, có hai vấn đề mà ta cầnquan tâm:
• Xác định hướng nào để lỗi giảm nhanh nhất
• Quyết định lượng hiệu chỉnh trọng số theo hướng đó
I.9.1 Xác định hướng giảm dốc nhất.
Hình 11 minh hoạ cỏch tớnh hướng dốc nhất trong mặt lỗi
Trang 22Đạo hàm riêng hàm lỗi của từng mẫu theo một trọng số.
Trước hết, ta tìm độ dốc của mặt lỗi chỉ theo một trọng số trong không gian trọng Với mỗi mẫu, đạo hàm hàm lỗi được biểu diễn bằng một véctơ có hướng Độ lớn của mỗi véctơ tương ứng với đạo hàm hàm lỗi của mẫu đó Nếu đạo hàm hàm
lỗi dương, hướng của véctơ sang phải, ngược lại nó hướng sang trái Cách tính chitiết của đạo hàm đã trình bày trong phần V.3
Như vậy đạo hàm hàm lỗi trên toàn bộ tập mẫu chính là tổng véctơ của từng
véctơ đạo hàm của từng mẫu trong tập mẫu Trong hình trờn, véctơ này được biểudiễn bằng một mũi tên nét đứt Độ lớn của véctơ này chính là đạo hàm sai số trungbình của toàn bộ tập mẫu, tương ứng với hướng và độ dốc của mặt lỗi tại điểm đótrong không gian trọng số Véctơ càng dài thì mặt lỗi càng dốc theo hướng củavéctơ này
Bõy giờ, ta xét hai trọng số khác nhau Độ lớn và hướng của mỗi véctơ đạohàm sai số trung bình tương ứng với từng trọng số đó được tính theo cách nêu trên.Kết quả ta sẽ có hai véctơ Biểu diễn chúng trong một hệ trục toạ độ từ các trọng sốnày, ta sẽ có hai mũi tên đứt nét vuông góc nhau và có cùng độ lớn tại cùng một vịtrí như minh hoạ trong hình 12
Đạo hàm riêng hàm lỗi theo hai trọng và hướng giảm dốc.
Nếu mạng chỉ có hai trọng số thì tổng lỗi chính là tổng véctơ đạo hàm riênghàm lỗi này Độ lớn véctơ tổng chính là đường chéo hình chữ nhật tạo từ hai véctơđạo hàm riêng Theo quy tắc cộng véctơ, độ lớn véctơ tổng tương ứng với độ dốc
hướng giảm dốc
Trang 23nhất của mặt lỗi tại điểm đó Và véctơ theo hướng ngược lại véctơ tổng như trong
hình vẽ biểu diễn hướng giảm dốc nhất.
Tương tự ta có thể hình dung được cách tính véctơ tổng của nhiều véctơ đạo
hàm riêng hàm lỗi Khi xác định được véctơ tổng dễ dàng xác định được hướng giảm dốc nhất, bằng cách đơn giản là lấy chiều ngược lại với véctơ tổng.
I.9.2 Xác định lượng hiệu chỉnh trọng số.
Theo hướng đã xác định ở trờn, trong quy tắc học giảm dốc nhất, bài toán này
được dành cho người thiết kế mạng quyết định hằng số học η với η∈ (0,1] Bõy giờ
ta sẽ hình thức hoá lại tiến trình cập nhật trọng số bằng các ký hiệu toán học
Gọi w(t) là giá trị trọng số tại bước thứ t Để đơn giản, ta sẽ dùng ký hiệu w đểbiểu diễn các trọng số nói chung, thay vì dùng cụ thể ký hiệu aij cho trọng số nút ẩn
và bij cho trọng số nút xuất Công thức cập nhật trọng số là:
1 (
Trong đó ∆w (t) là biến thiên của trọng số w ở bước thứ t (lượng hiệu chỉnh
trọng số) Dấu trừ diễn tả hướng ngược lại của véctơ tổng d (t) chính là độ lớn củavéctơ tổng này và được tính theo công thức:
nhất Thường η được chọn theo phương pháp “thử và sai”.
I.10 Các yếu tố của quá trình học của mạng
Trong phần này chúng ta sẽ đề cập đến các yếu tố quan trọng ảnh hưởng tới độ
hội tụ, tốc độ học, các cực tiểu cục bộ, khả năng dự báo của mạng lan truyền ngược
I.10.1 Khởi tạo các trọng số
Các giá trị của các trọng số được khởi tạo ban đầu của mạng lan truyền ngược
sai số ảnh hưởng rất mạnh tới lời giải cuối cùng Các trọng số này thường được
khởi tạo bằng những số ngẫu nhiên nhỏ Việc khởi tạo tất cả các trọng số bằng nhau
Trang 24sẽ làm cho việc học của mạng trở nên không tốt Các trọng số khởi tạo ban đầu
cũng không được quá lớn vì nếu không hàm xớch-ma hoặc các hàm khác sẽ bị bão
hoà ngay từ lúc bắt đầu, hoặc bằng 0 hoặc bằng 1 Điều này làm cho hệ thống sẽ bịtắc ngay tại một cực tiểu cục bộ hoặc tại một vùng bằng phẳng nào đấy gần ngayđiểm xuất phát
Một cách tốt để chọn các giá trị trọng số ban đầu là thực hiện một cách tựđộng bằng chương trình Giá trị khởi động ban đầu của các trọng số trên lớp thứ lđược chọn ngẫu nhiên trong khoảng −
n n
1,
1, trong đó n là tổng trọng số cú trờn
lớp l Do bản chất của giải thuật học lan truyền ngược sai số là phương pháp giảm
gradient nên việc khởi tạo các giá trị ban đầu của các trọng số khác nhau sẽ làm cho
mạng hội tụ về các cực trị địa phương khác nhau Khả năng chọn các giá trị ban đầu
của các trọng số để mạng hội tụ về cực tiểu toàn cục sau quá trình học lan truyền ngược sai số được kết nối với giải thuật di truyền cho việc học tham số sẽ được đề
Giá trị hằng số học η cao.
Việc “nhảy ra khỏi vùng trũng” này có thể lặp lại cho đến khi lỗi xuống đủ
thấp trong vùng trũng Rồi nó mới hội tụ về giá trị tối ưu
Trang 25Ở hình 15 biến thiên trọng lớn đến nỗi giá trị ở tít xa ở phía kia trên mặt lỗi.Trong khu vực này độ dốc của mặt lỗi tiến về 0 Điều này có nghĩa các lần cập nhậttrọng số sau này sẽ không có tác dụng (do lượng hiệu chỉnh gần bằng 0) Như vậytuy di chuyển đúng hướng nhưng biến thiên trọng cực nhỏ làm cho tiến trình rất lõumới hội tụ về điểm tối ưu.
Giá trị hằng số học η quá cao.
Chỉ có thể tìm được hằng số tốt khi thử nhiều lần với các giá trị của η, tức làmạng được học nhiều lần với các hằng số học khác nhau
I.10.3 Các quy tắc học
Mặc dù phương pháp giảm gradient theo hướng dốc nhất (steepest-descent) là
một trong những kỹ thuật tìm kiếm đơn giản nhất, song đồng thời nó cũng không
hiệu quả Việc áp dụng các lý thuyết tối ưu hoỏ khỏc có thể làm độ hội tụ cho giải
thuật lan truyền ngược sai số nhanh hơn đáng kể.
Phương pháp giảm gradient chỉ quan tâm đến đạo hàm bậc nhất của hàm sai
số Việc tính đến đạo hàm bậc cao sẽ giúp cho độ hội tụ của giải thuật nhanh hơn rấtnhiều Sử dụng khai triển cho chuỗi Taylor cho hàm sai số E (Như hàm của vộctơtrọng số E(w)) xung quanh điểm hiện tại w0 chúng ta có:
)()(
2
1)()(
)()
0 0
)()(
)()
( ( ) 1 ( ) )
1 ( )
1
(k w k E w k H w k
Phương trình (2.23) còn có tên gọi là phương pháp Newton cho việc hiệu
chỉnh các trọng số Phương pháp Newton sử dụng đạo hàm bậc hai hỗ trợ cho
gradient để xác định hướng và kích thước của bước dịch chuyển tiếp theo Nó có thểlàm cho giải thuật hội tụ với bậc hội tụ là 2 khi điểm hiện tại gần với lời giải đối với
Trang 26các hàm sai số là lồi Tuy nhiên phương pháp Newton cũng có một số điểm bất lợi
là:
• Để có thể hội tụ, phương pháp yêu cầu xuất phát gần với điểm lời giải
• Đối với các hàm lồi, phương pháp có thể hội tụ rất nhanh, song đối vớicác hàm lõm nó có thể tắc tại một trong các cực tiểu cục bộ hoặc tạimột điểm yên ngựa
• Điểm bất lợi nhất là đối với mỗi bước lặp chúng ta phải đi tính ma trậnHessian và nghịch đảo của nó Điều này có nghĩa là cần nhiều thời giantính toán và bộ nhớ lưu trữ
• Do những điều bất lợi kể trên, phương pháp Newton thuần tuý ít được
áp dụng cho việc học của mạng nơron, song các hệ lai hoặc dựa trên ý
tưởng của phương pháp Newton đã được áp dụng thành công trong
nhiều lĩnh vực
I.10.4 Tập mẫu học và dự báo
Chúng ta luôn yêu cầu tập mẫu học phải đủ và đúng Tuy nhiên không một thủ
tục hay một nguyên tắc chọn tập mẫu học phù hợp cho mọi trường hợp Một nguyên
tắc rút ra từ kinh nghiệm là tập mẫu học phải bao phủ toàn bộ không gian của tín
hiệu vào và sau đó trong quá trình học các cặp vộctơ vào - lời giải nên được chọnmột cách ngẫu nhiên từ tập học Một cách chính xác hơn, giả định là không gian tínhiệu vào được phân chia một cách tuyến tính thành M cỏc vựng riêng biệt với ranhgiới là cỏc siờu mặt (hyperplanes) Gọi P là giới hạn dưới của số mẫu học có trongtập mẫu Nếu chọn P sao cho tỷ số P/M lớn hơn 1 rất nhiều có thể cho phép mạngtrong quá trình học phân biệt được cỏc vựng rời rạc Trong một số trường hợp việc
tỷ lệ hoá hay chuẩn mực hoá mẫu học sẽ giúp cho việc học của mạng tốt hơn rất
nhiều Đối với các mạng nơron lan truyền ngược sai số sử dụng hàm biến đổi là
sigmoid khi đó vộctơ vào và vộctơ lời giải cần được tỷ lệ hoá một cách đúng đắn
Mạng nơron nhiều lớp lan truyền ngược sai số rất tốt cho việc dự báo hay sản
sinh lời giải Một mạng được gọi là dự báo tốt khi nó nội suy các tín hiệu vào chưa biết một cách hợp lý Nói một cách khác là mạng có khả năng nội suy tốt Một
mạng nơron lan truyền ngược sai số với số lượng các trọng số lớn (số tham số học
lớn) với một tập mẫu học có số lượng mẫu nhất định 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 được gọi là học quá (overtrain or
overfiting) Với số lượng trọng số quá nhỏ mạng nơron có thể không học được các
mẫu học và cho kết quả rất tồi đối với tập kiểm tra để cải thiện những thay đổi nhỏcủa tín hiệu vào Nói một cách khác là với một thay đổi nhỏ của tín hiệu vào, cácthành phần của tín hiệu ra không thay đổi Điều này có thể được thực hiện bằng
việc thêm vào tập mẫu học những thay đổi nhỏ của tín hiệu vào và giữ nguyên giá
trị của vectơ lời giải Điều này có một bất lợi nhỏ là sẽ kéo dài thời gian tính toán
trong quá trình học Một cách khác là biến đổi dạng của hàm giá trong giải thuật
Trang 27lan truyền ngược sai số Hàm giá mới là tổng của hàm giá được định nghĩa trong
phương trình (2.0) và một số hạng mới là hàm Jacobian của hàm giá:
2 2
2
2
1
2
1 2
x
E x
E x
E E
Trong đó xj là thành phần thứ j của vộctơ vào Lý do căn bản cho giải pháptrên là nếu tín hiệu vào thay đổi nhỏ, hàm giá mới sẽ không thay đổi Để tối thiểuhoá hàm giá mới, các tác giả Druker và Lecum đã xây dựng một mạng lan truyềnngược kép Mạng lan truyền ngược kép có nghĩa là một lan truyền tín hiệu sai số
của mạng nơron nhiều lớp lan truyền ngược sai số.
I.10.5 Cấu trúc mạng
Mạng nơron lan truyền ngược sai số như đã nói ở phần trước luụn có một lớp
vào và một lớp ra Số lớp ẩn có thể thay đổi từ 0 đến vài lớp Đối với một bài toán
cụ thể số lượng nơron trên lớp vào và lớp ra là cố định vì số nơron trên lớp vàobằng số biến của vộctơ vào và số nơron trên lớp ra bằng số biến của vộctơ lời giải
Như đã đề cập đại đa số các mạng nơron lan truyền ngược sai số đã được
công bố chỉ gồm một lớp ẩn Song kích thước của lớp ẩn này (số nơron trên lớp ẩn)
là một câu hỏi được đặt ra các ứng dụng sử dụng mạng nơron lan truyền ngược.
Các phân tích chính xác về vấn đề số lượng nơron trên lớp ẩn có lẽ không thể thựchiện bởi tính phức tạp và bản chất không tiền định của các thủ tục học Do đó kích
cỡ của lớp ẩn thường được xác định bằng thực nghiệm Một chỉ dẫn mang tính chấtchung là đối với những mạng nơron có kích thước đáng kể (tín hiệu vào có khoảnghàng trăm hàng nghìn biến), kích thước của lớp ẩn cần thiết ban đầu chỉ là một phân
số nhỏ của số nơron trên lớp vào Nếu mạng không có khả năng hội tụ về lời giải,chúng ta cần tăng dần số nơron trên lớp ẩn Nếu mạng có khả năng hội tụ về lời giảichúng ta cần thử giảm số lượng nơron trên lớp ẩn
cho bởi phương trình (2.5) Một cách tổng quát các
hàm truyền được dùng trong các mạng nơron nhiều lớp lan truyền ngược không
nhất thiết phải là hàm xớch-ma có dạng bởi phương trình (2.6) Nếu các hàm biến
đổi khác được sử dụng, khi đó đạo hàm
v
v g v
Bảng 1 dưới đây đưa ra một số hàm biến đổi có tính chất tương tự như hàm
xớch-ma và có thể được dùng trong mạng lan truyền ngược sai số.
Trang 28i. Các hàm biến đổi được sử dụng trong mạng nơron:
x
e−
+1
1
2
)1
Giải thuật lan truyền ngược sai số có thể huấn luyện mạng lan truyền tiến với
nhiều hàm truyền khác nhau Khái niệm giải thuật lan truyền ngược sai số dựa trên
quá trình xử lý bằng cách lấy đạo hàm của sai số mạng trên từng trọng số và lantruyền ngược để cập nhật lại trọng số của mạng Quá trình xử lý này sử dụng nhiềuchiến lược tối ưu hóa khác nhau
Cấu trúc mạng đa lớp không bị bài toán ép buộc hoàn toàn Số ngõ vào mạng
do bài toán qui định cũng như số nơron trong lớp ngõ ra Tuy nhiên số lớp ẩn vàkích thước của các lớp do người thiết kế chọn
Mạng hai lớp có hàm truyền xớch-ma và tuyến tính có thể biểu diễn bất kỳhàm nào nếu lớp xích-ma có đủ nơron
Có nhiều quy tắc huấn luyện cho mạng lan truyền ngược sai số khác nhau Cácquy tắc này sẽ được nghiên cứu chi tiết hơn và dùng để bổ sung cho bộ máyJOONE sau này
Trang 29Giải thuật di truyền
I.12 Tổng quan về giải thuật di truyền
I.12.1 Giới thiệu chung
Các giải thuật di truyền (GAs – Genetic Algorithms) được phát triển dựa trên
các quá trình quan sát được trong tiến hoá tự nhiên Các nguyên lý cơ bản của giảithuật được tác giả Holland công bố lần đầu tiên vào năm 1962 Các nền tảng toán
học của giải thuật được tác giả công bố trong cuốn sách “Sự thích nghi trong tự
nhiên và các hệ thống nhân tạo” xuất bản năm 1975 Ban đầu các giải thuật di truyền được sử dụng chính trong hai lĩnh vực: tối ưu hoá và học máy Các ứng dụng tối ưu hoá sử dụng giải thuật di truyền bao gồm tối ưu hoá hàm, xử lý ảnh, bài toán
người bán hàng và điều khiển Trong máy học giải thuật được sử dụng để học ngữ nghĩa của luật IF – THEN đơn giản trong môi trường tuỳ ý Ngày nay giải thuật di
truyền được áp dụng cho rất nhiều lĩnh vực từ khoa học đến kinh tế, xã hội.
Thực chất các giải thuật di truyền là các giải thuật tìm kiếm dựa trên các cơ
chế của chọn lọc tự nhiên, di truyền học và tiến hoỏ Chỳng kết hợp sự tồn tại của
các cấu trúc chuỗi (nhiễm sắc thể - chromosome) khoẻ nhất và sự tráo đổi thông tin
về cấu trúc giữa các chuỗi khoẻ một cách ngẫu nhiên để tạo ra một giải thuật có khảnăng tìm kiếm tương tự như sự lựa chọn có chọn lọc trong tự nhiên Trong mỗi thế
hệ, một tập mới các sinh vật được tạo ra từ việc tráo đổi và đột biến ngẫu nhiên cỏc
bớt của các cá thể khoẻ nhất từ tập cá thể đã tồn tại Các giải thuật di truyền khỏc
các giải thuật tìm kiếm ngẫu nhiên ở chỗ chúng sử dụng lựa chọn ngẫu nhiên nhưmột công cụ để chỉ đường khai thác các thông tin trong quá khứ để dự báo các điểm
tìm kiếm mới với hy vọng cải thiện sự thể hiện của các cấu trúc chuỗi Các giải
thuật di truyền đã được chứng minh bằng lý thuyết và bán thực nghiệm là các giải
thuật tìm kiếm toàn cục mạnh và hiệu quả trong không gian phức tạp Các giải thuậtnày tuy mạnh song việc thực thi của chúng trong máy tính rất đơn giản Ngoài ra,
việc sử dụng giải thuật di truyền cho việc tìm kiếm không bị hạn chế bởi các giả
định về không gian tìm kiếm như tính liên tục, sự tồn tại của các đạo hàm và các
vấn đề khác Để thấy rõ tính mạnh và hiệu quả của giải thuật di truyền chúng ta sẽ
xem xét các giải thuật tìm kiếm truyền thống đã và đang được sử dụng trong nhiềuứng dụng
Trang 30I.12.2 So sánh giải thuật di truyền với các giải thuật tỡm kiếm khác
Các phương pháp tìm kiếm truyền thống gồm có ba loại phương pháp chính
đó là các phương pháp đạo hàm (culculus-based methods), các phương pháp liệt kê
(enumerative) và các phương pháp tìm kiếm ngẫu nhiên (random walk).
a Phương pháp đạo hàm
Các phương pháp đạo hàm đã được nghiên cứu rất kỹ Chúng có thể được chia
nhỏ thành hai lớp là lớp tìm kiếm trực tiếp và lớp tìm kiếm gián tiếp
• Các phương pháp gián tiếp tìm kiếm cực trị địa phương bằng việc giải
hệ phương trình (thường là không tuyến tính) thu được bằng việc đặtgradient của hàm mục tiêu bằng không Vì theo định nghĩa điểm cực trị
là điểm tại đó độ dốc bằng không theo mọi hướng
• Các phương pháp trực tiếp tìm kiếm cực trị bằng việc tính trực tiếp giá
trị hàm mục tiêu Và di chuyển theo hướng liên quan đến gradient cục
bộ Đú chớnh là chiến lược “leo đồi” (hill climbing): tìm kiếm theo
hướng dốc nhất có thể
Hàm một cực trị, phương pháp đạo hàm áp dụng tốt [11]
Cả hai phương pháp này đã được nghiên cứu rất kỹ và cải tiến liên tục, songchúng không thể vượt qua những hạn chế cố hữu của chúng là:
• Cả hai phương pháp đều mang tính cục bộ địa phương Các cực trị mà
chúng tìm thấy là các cực trị gần cạnh điểm hiện tại Đối với hàm mộtcực trị như hình 16các phương pháp đạo hàm cho kết quả rất tốt Songđối với các hàm đa cực trị như hình 17 nếu điểm xuất phát gần cực trịthấp sẽ bỏ qua cực trị toàn cục cao Hơn nữa một khi đã được cực trị
Trang 31thấp thủ tục tìm kiếm sẽ dừng ngay và không có cách nào tìm thấy cựctrị toàn cục
Hàm nhiều cực trị, khó khăn khi áp dụng phương pháp đạo hàm [11].
• Các phương pháp đạo hàm phải dựa trên sự tồn tại của đạo hàm Trongrất nhiều ứng dụng thực tế, không gian tìm kiếm thường không liên tục,rất nhiều nhiễu và giả định về sự tồn tại của đạo hàm cũng không tồntại như hình 18 điều này đã hạn chế khả năng ứng dụng của các phươngpháp đạo hàm cho rất nhiều ứng dụng thực tế
Hàm không phù hợp với các phương pháp truyền thống.
0 f(x)
x
Trang 32b Phương pháp liệt kê
Ý tưởng của các phương pháp liệt kê rất đơn giản như sau: trong không gian
tìm kiếm hữu hạn giải thuật tìm kiếm các giá trị của hàm mục tiêu tại tất cả cácđiểm trong không gian mỗi lần một điểm Điều đầu tiên chúng ta dễ nhận thấy là
chúng không hiệu quả Thậm chí đối với các sơ đồ được liệt kê tổ chức tốt như lập
trình động (dynamic programming) cũng không thể giải được các bài toán có kích
thước vừa trở lên vì độ phức tạp tính toán quá lớn
c Phương pháp tìm kiếm ngẫu nhiên
Các sơ đồ tìm kiếm ngẫu nhiên là tìm kiếm và giữ lại điểm tốt nhất được phát
triển nhằm mục đích khắc phục các thiếu sót của các phương pháp đạo hàm và
phương pháp liệt kê Song cũng như các phương pháp liệt kê chúng không hiệu quả
và có thể nhận thấy chúng cũng không tốt hơn các phương pháp liệt kê.
Với các phân tích ở trên chúng ta nhận thấy các phương pháp truyền thống nóichung là cục bộ và không hiệu quả Điều này không có nghĩa là chúng vô dụng Rấtnhiều hệ lai giữa các phương pháp kể trên đã được áp dụng thành công trong rấtnhiều ứng dụng thực tế
d Ưu điểm của giải thuật di truyền
Giải thuật di truyền khỏc cỏc phương pháp truyền thống ở bốn điểm cơ bản:
• Các giải thuật di truyền làm việc với mã của tập thông số chứ không
làm việc với các giá trị của các thông số
• Các giải thuật di truyền tìm kiếm từ một quần thể (population) các
điểm chứ không phải từ một điểm
• Các giải thuật di truyền chỉ sử dụng thông tin của hàm mục tiêu chứ
không dùng bất cứ thông tin nào khác
• Các giải thuật di truyền sử dụng các luật chuyển đổi (transition rules) mang tính xác suất (probabilistic) chứ không phải là các luật chuyển đổi mang tính tiền định (deterministic rules)
Giải thuật di truyền yêu cầu các thông số của bài toán tìm kiếm phải được mó
hoỏ thành một chuỗi hữu hạn các ký tự trên một tập hữu hạn các ký tự Chuỗi này
tương tự như các chuỗi gen của các cơ thể sinh vật Có rất nhiều cỏch mó hoỏ tập
thông số Một cách đơn giản là chúng ta có thể mó hoỏ thành các chuỗi bit trên tập
ký tự {0, 1} Mỗi một chuỗi đại diện cho một điểm tìm kiếm trong không gian Giải
thuật di truyền xuất phát với một quần thể các chuỗi được khởi tạo một cách ngẫu
nhiên sau đó sẽ sản sinh các quần thể tiếp theo thông qua việc sử dụng lựa chọn
ngẫu nhiên như một công cụ Nhờ đó giải thuật di truyền tìm kiếm trên nhiều điểm
song song có khả năng leo lên nhiều cực trị cùng một lúc Thông qua các toán tửcủa mình, giải thuật trao đổi thông tin giữa các cực trị với nhau, từ đó làm giảm
Trang 33thiểu khả năng giải thuật kết thúc các cực trị địa phương và bỏ qua mất cực trị toàn
cục Điều này giải thích vì sao giải thuật di truyền mang tính toàn cục
I.13 Giải thuật di truyền đơn giản
Phần tử cơ bản được xử lý bởi giải thuật di truyền là những chuỗi bit được tạo
ra bởi việc cắt dán các chuỗi bít con Mỗi chuỗi bít đại diện cho một tập các thông
số trong không gian tìm kiếm Do đó mỗi chuỗi bit có thể là một lời giải của bàitoán tối ưu hoá Mỗi chuỗi bit sau đó được giải mã để tính lại tập thông số và qua
đó tính được giá trị của hàm mục tiêu tại từng điểm riêng biệt trong không gian tìmkiếm Giá trị của hàm mục tiêu này, tuỳ từng bài toán là cực tiểu hay cực đại, sau đóđược biến đổi thành giá trị sức khoẻ cho từng chuỗi Quần thể chuỗi ban đầu được
khởi động một cách ngẫu nhiên sau đó tiến hoá từ thế hệ này sang thế hệ khác, song tổng số chuỗi trong mỗi quần thể được giữ nguyên Giải thuật di truyền đơn giản
chỉ sử dụng ba toán tử là:
• Tái tạo (reproduction)
• Tạp lai (cross-over)
• Đột biến (mutation)
I.13.1 Tái tạo (reproduction)
Tái tạo là quá trình trong đó các chuỗi được sao chép lại theo giá trị của hàm mục tiêu Các nhà sinh vật học gọi hàm này là hàm sức khoẻ (fitness function)
chúng ta có thể coi hàm này như là độ đo của lợi tức, độ tốt, mà chúng ta cần cựcđại hoá Việc sao chép các chuỗi theo giá trị sức khoẻ của chuỗi nghĩa là những
chuỗi với giá trị hàm mục tiêu lớn có xác suất lớn trong việc đóng góp một hay
nhiều con cháu trong thế hệ tiếp theo Toán tử này chính là một phiên bản nhân tạo
của việc lựa chọn tự nhiên theo học thuyết tiến hoá Darwin Trong các quần thể tự
nhiên, sức khoẻ được xác định bởi khả năng sống sót của các cá thể chống lại
những trở ngại trong quá trình trưởng thành Trong giải thuật di truyền giá trị của
hàm mục tiêu là trọng tài quyết định sự tồn tại hay diệt vong của chuỗi.
ii. Các cá thể trong quần thể:
Toán tử tái tạo có thể được thực hiện theo nhiều cỏch Cỏch đơn giản và hiệu
quả nhất là bằng vòng tròn thiên vị Rulet (biased roulette wheel), ở đây mỗi chuỗi
trong quần thể chiếm một khe có độ rộng tỷ lệ với sức khoẻ của chuỗi Độ rộng của
Trang 34khe được tính theo tỷ lệ phần trăm sức khỏe của chuỗi với tổng sức khoẻ của toànquần thể là 100% Ví dụ với quần thể gồm bốn cá thể cho theo bảng 2 chúng ta cóvòng tròn Rulet như hình 19 Mỗi lần quay vòng tròn Rulet chúng ta có một ứng cửviên cho việc tái tạo.
Vòng tròn Rulet.
Việc quay vòng tròn để lựa chọn ứng cử viên cho tái tạo được thực hiện quanhững bước như sau:
• Đánh số các cá thể trong quần thể Tính tổng sức khoẻ của toàn quần
thể (sum_fitness) và ứng với mỗi cá thể tính tổng chạy (running_total)
bằng tổng sức khoẻ của cá thể đó với sức khoẻ của các cá thể đứng phíatrước
• Sinh một số ngẫu nhiên n trong khoảng từ 0 đến tổng sức khoẻsum_fitness
• Cá thể đầu tiên trong quần thể có tổng chạy lớn hơn hoặc bằng n sẽđược chọn
Ví dụ với số ngẫu nhiên n = 654 thì chuỗi thứ 2 theo bảng trên sẽ được chọn.Một khi được chọn, một bản sao chuỗi của ứng cử viên sẽ được sao chép vào
một quần thể tạm thời để thực hiện toán tử tạp lai tiếp theo Bằng cách này những
chuỗi có sức khoẻ càng lớn có xác suất được sao chép càng lớn và do đó đóng gópcàng nhiều con cháu cho thế hệ tiếp theo
I.13.2 Tạp lai (cross-over)
Toán tử tái tạo hướng sự tìm kiếm về hướng các cá thể tốt nhất (khoẻ nhất)
nhưng không tạo ra các cá thể mới Trong tự nhiên mỗi cá thể con đều có cha mẹ và
thừa hưởng gene của cả hai Toán tử hoạt động trên gene của cha mẹ chính là toán
tử tạp lai và xảy ra theo với xác suất p c Quá trình tạp lại diễn ra theo hai giai đoạn:
• Hai chuỗi trong quần thể tạm thời được chọn ghép đôi một cách ngẫunhiên
114.4%
2
49.2%
3 5.5%
430.9
Trang 35• Sinh một số ngẫu nhiên k trong khoảng [1, L -1] với L là độ dài củachuỗi Hai chuỗi mới được tạo ra bằng việc sao chép các ký tự 1 đến k
I.13.3 Đột biến (mutation)
Mặc dù toán tử tái tạo và tạp lai tạo ra các chuỗi mới song chỳng khụng đưa vào quần thể những thông tin mới ở mức bít (gene) Toán tử đột biến được đưa vào
và áp dụng cho các bit với một xác suất nhỏ p m Toán tử đột biến biến đổi một cách
ngẫu nhiên những bit được chọn trong một chuỗi Xác suất đột biến nói chung là rất
nhỏ vì thực tế toán tử đột biến là toán tử tìm kiếm ngẫu nhiên Với xác suất p m lớn
giải thuật di truyền trở thành giải thuật tìm kiếm ngẫu nhiên.
Ba toán tử này được tiến hành trong một vòng lặp cho đến khi các chuỗi conchiếm toàn bộ quần thể mới Quần thể mới bao gồm các cá thể của ba loại: Bị độtbiến sau khi tạp lai; tạp lai nhưng không bị đột biến; không tạp lai cũng không bịđột biến mà chỉ đơn giản là sao chép lại
Trong giải thuật di truyền đơn giản chúng ta cần xác định bốn thông số của
giải thuật như sau:
• n = kích cỡ của quần thể hay số cá thể trong quần thể
• Pc = xác suất tạp lai
• Pm = xác suất đột biến
• G = độ gối của các quần thể
Thông số G do tác giả De Jong đưa vào giải thuật di truyền đơn giản năm
1975 để cho phép quần thể mới chứa một phần của quần thể cũ Nó là một số trongkhoảng [0, 1] với ý nghĩa như sau:
• G = 1 : tất cả các cá thể của quần thể cũ bị loại bỏ Quần thể mới chỉbao gồm các cá thể được sinh ra bởi ba toán tử đã được đề cập ở trên
• 0 < G < 1: nG cá thể được chọn để tiếp tục chịu các hoạt động ditruyền Con cháu được sinh ra qua các hoạt động này sẽ được xếp mộtcách ngẫu nhiên vào quần thể hiện tại
I.13.4 Ví dụ
Với mục đích làm sáng tỏ cách hoạt động của các toán tử trong giải thuật di
truyền chúng ta sẽ xem xét một ví dụ đơn giản đó là: tìm giá trị cực đại của hàm f(x)
Trang 36= x2 Ở đây x nằm trong khoảng [0, 31] Chúng ta mó hoỏ biến x thành chuỗi nhịphân với độ dài là 5 Như chuỗi “11000” tương xứng với giá trị nguyên của x là 24.
Hàm sức khoẻ đơn giản chính là hàm f(x)
Các thông số của giải thuật được chọn như sau: n = 4; Pc = 1; Pm = 0.001; G =1; Quần thể ban đầu được khởi động một cách ngẫu nhiên
Quá trình tái tạo được cho trong bảng 3 Chúng ta nhận thấy chuỗi 1 và 4
đóng góp một bản copy vào quần thể tạm thời; chuỗi 2 đóng góp 2 bản copy; chuỗi
iii. Quá trình tái tạo:
iv. Quá trình tạp lai:
Quần thể tạm thời Chuỗi ghép đôi Vị trí tạp lai Quần thể mới X X2
I.14 Các giải thuật di truyền lai
Giải thuật di truyền đơn giản mặc dù mạnh và hiệu quả nhưng nói chungkhông phải là giải thuật tìm kiếm tối ưu thành công nhất cho một số lĩnh vực Lai
hoá giải thuật di truyền với các giải thuật truyền thống đang sử dụng sẽ tạo ra những giải thuật tốt hơn so với cả giải thuật di truyền và giải thuật truyền thống Do
đó, đối với các vấn đề tối ưu hoá khi mà các giải thuật Heuristic hay các trí thức có thể giúp ích cho việc tối ưu hoá, chúng ta nên quan tâm đến các giải thuật di truyền lai Một giải thuật di truyền có thể lai với vô số các kỹ thuật tìm kiếm khác để tạo
Trang 37nên một giải thuật khai thác tính tìm kiếm toàn cục của giải thuật di truyền 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 tiểu cục bộ như phương pháp giảm gradient, tìm kiếm
bằng lát cắt vàng, phương pháp đa diện biến dạng Các phương pháp này thường
được áp dụng cho các hàm tồn tại đạo hàm Đối với các hàm không thích hợp với các phương pháp đạo hàm, chúng ta cũng cú cỏc phương pháp heuristic, giải thuật
tham lam để tìm kiếm các cực trị cục bộ Kết quả việc lai với giải thuật di truyền là
giải thuật tìm ra các đồi và các giải thuật tìm kiếm cục bộ sẽ leo lên các đồi đó Với
phương pháp này chúng ta chạy trước tiên giải thuật di truyền để đạ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-10% số điểm tốtnhất trong quần thể cuối cùng làm điểm xuất phát Với chiến thuật này toán tử vĩ
mô đã thảo luận ở trên hoạt động rất tốt vỡ nú sẽ phân bố đều các cá thể có trongquần thể ở các đỉnh khác nhau
Giải thuật di truyền và mô phỏng tôi (simulated annealing) hiện đang là
những phương pháp luận cho các vấn đền tìm kiếm và tối ưu hoá trong không giantìm kiếm nhiều chiều [David, 1987] Các tác giả đã cố gắng lai tạo giữa hai giải
thuật này Một sơ đồ đơn giản cho việc kết hợp hai giải thuật là thay thế toán tử đột
biến và tạp lai trong giải thuật di truyền bằng toán tử đột biến mô phỏng tôi và toán
tử kết hợp lại mô phỏng tôi (simulated annealing mutation, simulated annealing recombination).
I.15 Giải thuật di truyền dùng trong bài toán tối ưu hoá
I.15.1 Biến đổi hàm mục tiêu thành hàm sức khoẻ.
Trong rất nhiều bài toán tối ưu hoá hàm mục tiêu được phát biểu như là tối
thiểu hoá của một số hàm giá g(x) chứ không phải chỉ là cực đại hoá hàm lợi tứcu(x) Thậm chí nếu vấn đề được phát biểu trong dạng cực đại hoá, chúng ta cũngkhông thể đảm bảo là hàm mục tiêu sẽ khụng õm đối với mọi giá trị x Như chúng
ta đã biết các giá trị sức khoẻ trong giải thuật di truyền là các giá trị khụng õm Do
đó để áp dụng giải thuật di truyền trong bài toán tối ưu hoá chúng ta cần thiết phải
biến đổi giá trị của hàm mục tiêu thành giá trị sức khoẻ
Tính đối ngẫu của các vấn đề tối thiểu hoá hàm giá và cực đại hoá hàm lợi tứcchúng ta đã biết Trong các phương pháp truyền thống, việc biến đổi từ một vấn đềtối thiểu hoá thành vấn đề cực đại hoá chúng ta chỉ việc nhân hàm giá với giá trị -1
Đối với giải thuật di truyền, việc làm trên vẫn không đổi vỡ nú khụng đảm bảo là
tất cả các giá trị của hàm thu được sau khi nhân với -1 là khụng õm Do đó đối với
giải thuật di truyền việc biến đổi từ hàm giá thành giá trị sức khoẻ thường được tiến
hành như sau:
Trang 38Có nhiều cách để chọn hệ số Cmax Giá trị Cmax có thể nhận giá trị như một giátrị tham số đầu vào do người sử dụng chọn, như giá trị lớn nhất có được cho đếnthời điểm hiện tại hoặc là giá trị lớn nhất trong quần thể hiện tại Có lẽ thích hợpnhất là giá trị Cmax phải thay đổi phụ thuộc vào từng thế hệ và do đó phụ thuộc biếnquần thể.
Khi hàm mục tiêu được phát biểu dưới dạng hàm lợi tức u(x), chúng ta không
thể sử dụng trực tiếp hàm lợi tức như là hàm sức khoẻ của các cá thể vì chúng ta
không có được sự bảo đảm là hàm lợi tức sẽ khụng õm đối với mọi x, để vượt qua
khó khăn trên chúng ta chỉ cần biến đổi tương tự như trong trường hợp hàm giá ởtrên:
Chúng ta có thể chọn giá trị Cmin như hệ số đầu vào, như trị tuyệt đối của giátrị tồi nhất quan sát được từ trước hoặc như hàm của biến quần thể
I.15.2 Tỷ lệ hoá giá trị sức khoẻ
Việc điều chỉnh số lượng con cho mỗi cá thể trong những quần thể nhỏ là điều
cực kỳ quan trọng trong việc sử dụng giải thuật di truyền trong bài toán tối ưu hoá Vào lúc khởi động vài thế hệ ban đầu, các quần thể thường có một số cá thể siêu
khoẻ đối với đại đa số các cá thể còn lại nếu để nguyên và áp dụng quy tắc chọn lọc
(pselect = fi / Σ fj) , thỡ các cá thể siêu khoẻ sẽ kiểm soát toàn bộ quần thể tiếp theo vỡ
chỳng sẽ 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 chúng ta có được số thế hệ khá lớn giá trị sức khoẻ trung
bình của toàn quần thể có thể gần với giá trị sức khoẻ của cá thể tốt nhất và 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 di truyền 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à vào giai đoạn kết thúc kể trên có thể vượt qua bằng việc tỷ lệ hoá giá trị sứckhoẻ của toàn quần thể
Một trong những thủ tục tỷ lệ hoá đơn giản và hiệu quả là tỷ lệ hoá tuyến tính.
Nếu gọi giá trị sức khoẻ ban đầu (chưa tỷ lệ hóa) là f, giá trị sau khi tỷ lệ hoá là f’
thì chúng ta cho phương trình tỷ lệ hoá tuyến tính như sau:
x
khi ngược lại
Trang 39Điều này bảo đảm rằng các thành viên trung bình sẽ đóng góp một con cho thế hệtiếp theo Để kiểm soát số con cho các thành viên siêu khoẻ, chúng ta chọn một
phương trình khác là f’ max = C mult f average , ở đây C mult là số con giành cho thành viên có
sức khoẻ tốt nhất trong quần thể Đối với các quần thể nhỏ: 50<n<100 giá trị 1.2
<C mult <2 được chứng minh bằng thực nghiệm là khá tốt.
Vào giai đoạn cuối của giải thuật di truyền khi giá trị sức khoẻ trung bình của
toàn quần thể gần với giá trị sức khoẻ của cá thể tốt nhất, với chiến thuật tỷ lệ hoá
như trên gây ra giá trị sức khoẻ sau khi tỷ lệ hoá của các cá thể tồi sẽ bị âm Để vượt
qua khó khăn này chúng ta sẽ tỷ lệ hoá sao cho giá trị sức khoẻ của cá thể tồi nhất làkhụng õm hay bằng 0 (f’min = 0) Từ đây chúng ta có một chiến thuật tỷ lệ hoá cho
giải thuật di truyền là:
• Tỷ lệ hoá tuyến tính với f’ average = f average
• Nếu có thể thì tỷ lệ hoá theo hệ thức f’ max = C mult f average , nếu không thì
tỷ lệ hoá sao cho f’min = 0
Với chiến thuật tỷ lệ hoá đơn giản như trên chúng ta ngăn ngừa được sự chia
phối của các cá thể khoẻ ở 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 giải thuật di truyền.
I.15.3 Mó hoá
Giải thuật di truyền khai thác sự tương tự trong chuỗi mã để tìm ra những khối
mã ngắn có bậc thấp và khoẻ để dẫn đến gần cực trị Nói chung, việc chọn tập ký tự
để mó hoỏ không quan trọng lắm vì giải thuật di truyền khá mạnh và hiệu quả, song các tác giả nghiên cứu trong lĩnh vực giải thuật di truyền thường áp dụng việc mó
hoỏ theo hai nguyên lý cơ bản sau:
a Nguyên lý khối xây dựng có nghĩa (meaningful building blocks)
Người sử dụng cần phải chọn mó hoỏ sao cho các giải đồ có độ dài ngắn, bậcthấp liên quan đến vấn đề cần giải quyết và tương đối không liên quan đến các giản
đồ có các vị trí cố định
b Nguyên lý bộ ký tự mã tối thiểu (minimal alphabets)
Người sử dụng phải chọn bộ ký tự có số ký tự nhỏ nhất mà vẫn biểu diễn đượcvấn đề cần giải quyết
Nguyên lý đầu thường không mang ý nghĩa thực tế vì việc thiết kế mã cho cáckhối xây dựng có ý nghĩa là việc làm khó Tuy nhiên khi chúng ta thiết kế mó hoỏchúng ta phải kiểm tra các khoảng cách giữa các vị trí của các bit liên quan Nguyên
lý thứ hai thường dẫn đến việc chọn bộ mã nhị phân vì bộ mã này cho chúng ta sốgiản đồ lớn nhất trên một bít thông tin Hơn nữa do sự tương tự giữa các giản đồ là
cần thiết cho giải thuật di truyền hoạt động nên chúng ta cần phải cực đại hoá số giản đồ có thể để giải thuật di truyền khai thác.
Trang 40I.15.4 Mó hoá đa tham số (multiparameter coding)
Hai nguyên lý ở trên cho chúng ta chỡa khoỏ để thiết kế sự mó hoỏ cho giải
thuật di truyền đơn giản Chỳng khụng gợi ý cho chúng ta các phương pháp thực tế
vỡ mó hoỏ cho một vấn đề cụ thể Một trong những phương pháp được sử dụngthành công cho việc mó hoỏ cỏc vấn đề đa tham số thực là việc nối kết mó hoỏ của
từng tham số thành một chuỗi Đối với mỗi tham số nằm trong khoảng [u min ,u max ]
với độ chính xác là π chúng ta sẽ mó hoỏ thành một chuỗi U nhị phân với độ dài là lthoả mãn hệ thức:
12
min max
−
−
=u l u
π
Sau đó nối kết chúng lại với nhau thành một chuỗi trong quần thể Ví dụ đối
với mạng có chứa m tham số chúng ta có thể nối kết các chuỗi tạo thành một chuỗi
như sau:
Do các tham số nằm trong các khoảng khác nhau và có yêu cầu về độ chínhxác khác nhau nờn cỏc chuỗi con Ui có độ dài khác nhau Việc tính sức khoẻ củachuỗi chúng ta chỉ việc cắt chuỗi thành các chuỗi con và giải mã tính lại các giá trịthực của tham số
I.16 Giải thuật lai: di truyền-lan truyền ngược sai số
Các giải thuật di truyền đã được sử dụng để tìm kiếm cực trị trong không gian trọng số của các mạng lan truyền ngược sai số mà không cần sử dụng bất kỳ thông tin nào về gradient í tưởng cơ bản của kỹ thuật này là một tập các trọng số của
mạng nơron lan truyền ngược sai số được mã hoá thành một chuỗi (mó hoỏ nhị
phân hoặc mó hoỏ số thực) Chuỗi này được liên kết với một giá trị sức khoẻ chỉ ra tính hiệu quả của chuỗi Giá trị sức khoẻ có thể đơn giản là –E, trong đó E là giá trị của hàm giá cho tập trọng số được mó hoỏ Xuất phát với một quần thể ngẫu nhiên
của các chuỗi là mó hoỏ của các tập trọng số, các thế hệ tiếp theo được sản sinh sử
dụng các toán tử của giải thuật di truyền Các toán tử này xây dựng các chuỗi mới
từ các chuỗi cũ sao cho các chuỗi có sức khoẻ tốt có xác suất tồn tại lớn và tham gia vào hoạt động tạp lai.
Không giống như các nguyên tắc học của giải thuật lan truyền ngược sai số, các giải thuật di truyền tìm kiếm cực trị toàn cục do đó không dễ bị tắc tại các cực
trị địa phương Hơn nữa, do hàm sức khoẻ không cần phải có tính đạo hàm nênchúng ta có thể sử dụng các hàm ngưỡng logic trong các bài toán logic thay cho
việc phải dùng hàm xớch-ma và luyện đến bão hoà Tuy nhiên đối với mạng nơron
lan truyền ngược sai số với các hàm biến đổi là các hàm liên tục việc thoả hiệp thích
010 01 100 10 110 11