1. Trang chủ
  2. » Luận Văn - Báo Cáo

Mạng nơron nhân tạo và ứng dụng

127 2,1K 9

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 127
Dung lượng 4,07 MB

Nội dung

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 1

MỤ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 2

Tổ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 3

mộ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 5

Mô 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 6

khoả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 7

cù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 8

ra 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 10

Trong 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 11

Cõ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 13

Mạ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 14

Luồ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 15

Mặ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 16

3 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 17

là 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 18

vớ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 19

Trong đó 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 20

v 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 21

thể đượ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 23

nhấ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 24

sẽ 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 26

cá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 27

lan 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 28

i. 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 29

Giả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 30

I.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 31

thấ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 32

b 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 33

thiể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 34

khe đượ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 37

nê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 38

Có 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 40

I.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

Ngày đăng: 07/08/2014, 17:08

HÌNH ẢNH LIÊN QUAN

Sơ đồ hiệu chỉnh trọng số - Mạng nơron nhân tạo và ứng dụng
Sơ đồ hi ệu chỉnh trọng số (Trang 13)
Hình 20 là sơ đồ khối tổng thể của giải thuật lai di truyền – lan truyền ngược - Mạng nơron nhân tạo và ứng dụng
Hình 20 là sơ đồ khối tổng thể của giải thuật lai di truyền – lan truyền ngược (Trang 43)
Sơ đồ dữ liệu truyền trong mạng nơron lan truyền ngược sai số. - Mạng nơron nhân tạo và ứng dụng
Sơ đồ d ữ liệu truyền trong mạng nơron lan truyền ngược sai số (Trang 47)
Hình dưới biểu diễn cấu trúc của lớp  TeachingSynapse , đây là một cấu trúc cấu thành từ những đối tượng cơ bản của  JOONE  đã nêu trước, nó bao gồm một đối tượng  TeacherSynapse  và một lớp  LinearLayer . - Mạng nơron nhân tạo và ứng dụng
Hình d ưới biểu diễn cấu trúc của lớp TeachingSynapse , đây là một cấu trúc cấu thành từ những đối tượng cơ bản của JOONE đã nêu trước, nó bao gồm một đối tượng TeacherSynapse và một lớp LinearLayer (Trang 58)
Sơ đồ lớp của gói org.joone.egine.learning - Mạng nơron nhân tạo và ứng dụng
Sơ đồ l ớp của gói org.joone.egine.learning (Trang 59)
Đồ thị hàm y = x 2 - Mạng nơron nhân tạo và ứng dụng
th ị hàm y = x 2 (Trang 95)
Đồ thị trên hình 77 cho chúng ta thấy các sai số trong quá trình học theo quy tắc thích nghi của cá thể tốt nhất này. - Mạng nơron nhân tạo và ứng dụng
th ị trên hình 77 cho chúng ta thấy các sai số trong quá trình học theo quy tắc thích nghi của cá thể tốt nhất này (Trang 115)
Đồ thị năng lượng BXMT của Đà Nẵng. - Mạng nơron nhân tạo và ứng dụng
th ị năng lượng BXMT của Đà Nẵng (Trang 116)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w