Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
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
Trần Ngọc Tú - Lớp CNPM – K44 1
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
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ực
khá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
Trần Ngọc Tú - Lớp CNPM – K44 2
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
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ào
vượ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 kinh
giữ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ực
hiệ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:
Trần Ngọc Tú - Lớp CNPM – K44 3
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
• 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 độ (hay
trọng số), những trọng số này tương ứng với tác dụng khớp thần kinh trong
nơ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ơron
sinh 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ới
nhau. 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ển
cá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ệc
giải quyết các vấn đề thực tế.
Trần Ngọc Tú - Lớp CNPM – K44 4
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
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ày
hoạ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ính
giá 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ớp
trướ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
Trần Ngọc Tú - Lớp CNPM – K44 5
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
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áy
tí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ệc
tă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ủa
vộ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ơron
thườ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ại
con, 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 nhau
cù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ình
này có thể đưa ra các dự báo cho tất cả các đối tượng đầu vào có thể. Việc tìm ra
đường cong phù hợp với các số liệu thực nghiệm (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ột
biế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 được
xá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
- y
mô 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ác
thay đổ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ương
phá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
Trần Ngọc Tú - Lớp CNPM – K44 6
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
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ượng
nà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 đối
tượng như thế nào: Có bao nhiờu vựng trong bản đồ có thể phân biệt được? Hình
dá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 qua
cỏ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 theo
cá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ệu
họ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ẫu
hoặ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 bao
gồ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
Trần Ngọc Tú - Lớp CNPM – K44 7
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
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êu
trườ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 ta
trong 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ưa
biết hay không phải dữ liệu số. Dữ liệu số được chia nhỏ thành những khoảng thích
hợp cho mạng và những giá trị thiếu có thể được thay thế bằng giá trị trung bình
hay 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ài
hướ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 đơn
giả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ới
mộ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àng
tră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.
Trần Ngọc Tú - Lớp CNPM – K44 8
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
• Dữ liệu số và danh định có thể xử lý trực tiếp bằng mạng nơron nhân
tạ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:
x
e
y
−
+
=
1
1
Giá trị đầu ra của hàm biến đổi trong khoảng (0; 1), và giá trị vào chỉ nhạy
trong 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 được
dù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.
Trần Ngọc Tú - Lớp CNPM – K44 9
-4
-3
-2 -1
0 1 2 3 4
0
0.2
0.4
0.6
0.8
1.0
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
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ếu
biế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ữu
hạ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ặt
phẳ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ậc
thấ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ậc
cao 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ớn
hơ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.
Trần Ngọc Tú - Lớp CNPM – K44 10
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
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. Để thay
thế, những mẫu này được sử dụng để kiểm tra độc lập trong quá trình của thuật
toá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ấn
luyệ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ảm
xuố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ỏng
hà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 hay
xá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 minh
khô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ới
tậ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à ứng
dụ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ăng
vượ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ớa
cạ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ẫu
họ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 ra
mạ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 ẩn
bằng nửa tổng số nơron ngõ vào và ngõ ra).
Trần Ngọc Tú - Lớp CNPM – K44 11
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
• 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).
Trần Ngọc Tú - Lớp CNPM – K44 12
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
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ực
mạ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ụng
cho 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.
Trần Ngọc Tú - Lớp CNPM – K44 13
Dữ liệu học
Lớp nơron vào
Lớp nơron ẩn
Lớp nơron ra
Dữ liệu ra
Lời giải
Đối
sánh
Sai số
Hiệu chỉnh trọng số
Hiệu chỉnh trọng số
Hiệu chỉnh trọng số
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
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:
Ω = {(X
k
, T
k
) = (x
k1
, x
k1
, , x
kM
; t
k1
, t
k1
, ,t
kN
);
x
ki
, t
kj
∈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 Z
k
= NN(X
k
) = (z
k1
, z
k2
, , z
kN
).
Ta có sai số trung bình bình phương RMSE là :
KN
tz
RMSE
N
n
K
k
knkn
.
)(
2
1
1 1
2
∑∑
= =
−
=
(2.0)
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:
xa a y
10
+=
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ố RMSE
chính là trục thứ ba.
Trần Ngọc Tú - Lớp CNPM – K44 14
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
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ố (a
0
, a
1
). Vậy mô hình tốt
nhất sẽ là mô hình có cặp trọng số (a
0
, a
1
) tương ứng với các điểm thấp nhất trên
mặ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 cao
trê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ình
phươ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
.
Trần Ngọc Tú - Lớp CNPM – K44 15
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
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 x
0
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ính
trờ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.
Trần Ngọc Tú - Lớp CNPM – K44 16
w
RMSE
0 1
-1
0.5
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
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ần
bớ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ơn
như 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
wE ∂∂ /
.
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
E
n
∂
∂
∂
∂
∂
∂
=
∂
∂
2
1
1
(2.1)
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ển
cho 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àm
truyề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
Trần Ngọc Tú - Lớp CNPM – K44 17
0
RMSE
w
1
2
3
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
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ủa
mộ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ạy
cả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
E
∂
∂
∂
∂
∂
∂
=
∂
∂
(2.2)
Ta sẽ xét chi tiết từng đạo hàm thành phần trong công thức trên
a. Đạo hàm
zE ∂∂ /
Một nút xuất không ảnh hưởng gì đến sai số của các nút xuất khác trong lớp
xuất. Để đơn giản, trong công thức trên ta bỏ qua các chỉ số của các nút xuất, nếu
nút xuất đang xét có giá trị thực là z và giá trị đúng của nút đó là t, thì sai số bình
phương là:
2
)(
2
1
tzE −=
(2.3)
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 đổi
nà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ĩa
là:
tz
z
E
−=
∂
∂
(2.4)
b. Đạo hàm
vz
∂∂
/
Số hạng thứ hai trong chuỗi chính là đạo hàm z theo v, với v là tổng trọng hoá
của các tín hiệu vào nơron xuất. Giả sử ta dùng các nơron trong mạng có hàm
truyền là hàm xớch-ma (hàm xích ma) với công thức:
v
e
vgz
−
+
==
1
1
)(
(2.5)
Như vậy đạo hàm riêng của hàm xớch-ma như sau:
)1( zz
v
z
−=
∂
∂
(2.6)
c. Đạo hàm
bv
∂∂
/
Số hạng thứ 3,
bv ∂∂ /
trong công thức (2.3) diễn tả sự thay đổi của v phụ thuộc
vào sự thay đổi của trọng số.
Nhắc lại là:
∑
=
+=
J
j
jj
ybbv
1
0
(2.7)
Trần Ngọc Tú - Lớp CNPM – K44 18
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
Trong đó b
0
là trọng ngưỡng và b
j
là các trọng số các cung gắn với nơron xuất
đang xét, y
j
là giá trị của các nút ẩn.
Với b
0
ta có:
1
0
=
∂
∂
b
v
, tức là v thay đổi tỷ lệ cùng với trọng b
0
.
Với trọng số b
j
, ta có
j
y
b
v
=
∂
∂
0
. Tức là khi trọng số b
j
thay đổi thì v thay đổi
một lượng bằng giá trị của nút ẩn tương ứng.
d. Đạo hàm hàm lỗi theo trọng số nút xuất
Đặt
v
z
z
E
p
∂
∂
∂
∂
=
:
(2.8)
Thay công thức (2.4) và (2.6) vào công thức (2.8) ta có:
)1()( zztzp −−=
(2.9)
Đạo hàm riêng tương ứng với các trọng số là:
>
=
=
∂
∂
0.
0
jyp
jp
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
E
∂
∂
∂
∂
∂
∂
=
∂
∂
(2.11)
Ta hãy xem xét chi tiết từng số hạng trong công thức này:
a. Đạo hàm
yE
∂∂
/
Số hạng thứ nhất trong công thức (2.11) chính là đạo hàm hàm lỗi đối với kết
xuất của nút ẩn. Các nút ẩn tự chúng không tạo lỗi, nhưng chúng góp phần tác động
vào lỗi của nút xuất.
Những tác động này cũng được xác định theo quy luật chuỗi:
∑
=
∂
∂
∂
∂
∂
∂
=
∂
∂
K
k
k
k
k
k
y
v
v
z
z
E
y
E
1
(2.12)
Công thức có vẻ phức tạp này thực ra hoàn toàn đơn giản và dễ hiểu. Nó cho
thấy là ảnh hưởng của nút ẩn vào hàm lỗi E là một tổng, theo tất cả các nút xuất (k
= 1 K), của tích ba số hạng.
Hai số hạng đầu trong tích đó có ý nghĩa tương tự như trong phần trước.
Chỳng ta thay đổi lỗi theo kết xuất của nút xuất
k
zE
∂∂
/
và thay đổi của nút xuất
theo đầu vào của nó
kk
vz
∂∂
/
. Ở trên, ta đã đặt tích này là p. Lượng p này được lan
truyền ngược từ các nút xuất đến các nút ẩn. Nếu ta cho p một chỉ số cho biết nó
thuộc về nút xuất nào, ta có thể viết lại phương trình trên bằng cách thay hai số
hạng đầu tiên như sau:
Trần Ngọc Tú - Lớp CNPM – K44 19
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
∑
=
∂
∂
=
∂
∂
K
k
k
k
y
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 trong
công thức (2.12),
yv
k
∂∂
/
. Số hạng này biểu diễn tác động của kết xuất của nút ẩn
trê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ổng
trọ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 đó
vì thế:
k
k
b
y
v
=
∂
∂
(2.14)
Và ta có:
∑
=
=
∂
∂
K
k
kk
bp
y
E
1
(2.15)
b. Đạo hàm
uy
∂∂
/
Số hạng thứ hai,
uy
∂∂
/
, trong chuỗi tính
aE
∂∂
/
(2.11), diễn tả sự thay đổi
trong kết xuất của nút ẩn đối với tổng trọng các dữ liệu nhập vào nó và bằng:
)1( yy
u
y
−=
∂
∂
(2.16)
Đặt
u
y
y
E
q
∂
∂
∂
∂
=:
(2.17)
Ta có:
)1(:
1
yybpq
K
k
kk
−
=
∑
=
(2.18)
c. Đạo hàm
au
∂∂
/
Với số hạng cuối cùng
au
∂∂
/
trong công thức (2.11) chính là thay đổi của u
đối với thay đổi của trọng số. Nó phụ thuộc vào loại trọng số.
Đối với ngưỡng a
0
ta có
1
=
∂
∂
a
u
Với các trọng số trờn các cung nối trực tiếp từ lớp vào a
i
, i > 0, ta có:
i
i
x
a
u
=
∂
∂
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.
0
xxq
xq
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ó
Trần Ngọc Tú - Lớp CNPM – K44 20
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
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 lan
truyề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úp
xá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ật
theo 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 đường
cong 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ố. Ta
khô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ần
quan 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.
Trần Ngọc Tú - Lớp CNPM – K44 21
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
Đạ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 chi
tiế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ểu
diễ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ố trung
bì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ủa
vé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ơ đạo
hà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êng
hà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
Trần Ngọc Tú - Lớp CNPM – K44 22
hướng giảm dốc
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
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 a
ij
cho trọng số nút ẩn
và b
ij
cho trọng số nút xuất. Công thức cập nhật trọng số là:
)()( tt
dw
η
−=∆
(2.20)
)()1()( ttt
www
∆+=
−
(2.21)
Trong đó
)(t
w
∆
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.
)(t
d
chính là độ lớn của
véctơ tổng này và được tính theo công thức:
∑
=
∂
∂
=
N
n
t
t
w
E
d
1
)(
)(
(2.22)
Giá trị của hằng số học
η
do người dùng quyết định. Chưa có cách tổng quát
nào để hướng dẫn chọn giá trị
η
và đây chính là hạn chế của quy tắc học giảm dố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
sai số. Các yếu tố đó là:
• Khởi tạo các trọng số.
• Hằng số học η.
• Các quy tắc học.
• Tập mẫu học và dự báo.
• Cấu trúc mạng (số lớp, số nơron trên mỗi lớp).
• Các hàm biến đổi.
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
Trần Ngọc Tú - Lớp CNPM – K44 23
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
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
−
nn
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 đề
cập ở phần sau.
I.10.2. Hằng số học η
Nếu chọn giá trị
η
tốt, tiến trình giảm gradient có dạng như hình 13.
Giá trị hằng số học
η
tốt.
Tuy nhiên trong thực tế không đơn giản như vậy. Nếu giá trị
η
khá lớn, biến
thiên trọng số sẽ rất lớn và đến một lúc nào đó nó sẽ đi lên chứ không đi xuống như
được minh hoạ trong hai hình 14 và 15.
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.
Trần Ngọc Tú - Lớp CNPM – K44 24
Đồ án tốt nghiệp Mạng nơron nhân tạo và ứng dụng
Ở 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ật
trọ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ậy
tuy 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õu
mớ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ất
nhiề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 w
0
chúng ta có:
)()(
2
1
)()()()(
2
0000
+−+∇−+= wHwwwEwwwEwE
Trong đó H(w) được gọi là ma trận Hessian và là đạo hàm bậc hai tại điểm w
0
:
H(w) =
∇
2
E(w)
Để tìm kiếm cực tiểu của hàm E(w) chúng ta đặt gradient của nó bằng 0:
0 )()()()(
00
=+−+∇=∇
wHwwwEwE
Nếu chúng ta bỏ qua các đạo hàm bậc 3 và cao hơn chúng ta nhận được
phương trình:
)().(
1
00
wHwEww
−
∇−=
Nếu sử dụng chỉ số k để ký hiệu bước thứ k trong quá trình học chúng ta có
thể có công thức hoàn chỉnh cho luật cập nhật là:
)().(
)(1)()1()1( kkkk
wHwEww
−++
∇−=
(2.23)
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
Trần Ngọc Tú - Lớp CNPM – K44 25