Cuốn sách được dùng làm tài liệu học tập cho sinh viên ngành Điện của Trường Đại học Bách khoa Hà Nội cũng như các trường đại học kỹ thuật khác. Với cuốn sách, người đọc có thể tìm hiểu và nắm được các ý tưởng chính về mạng nơ–rôn nhân tạo, từ đó triển khai ứng dụng các công cụ này trong các bài toán xử lý tín hiệu phức tạp khi mà các công cụ kinh điển tỏ ra không hiệu quả.
Cuốn sách bao gồm 8 chương, trình bày một số kiến thức cơ bản về một chuyên ngành tương đối mới của ngành Trí tuệ nhân tạo là các mạng nơ–rôn nhân tạo và một số khả năng ứng dụng thực tế của các công cụ mạng nơ–rôn nhân tạo trong các bài toán xử lý tín hiệu thực tế.
Chương 1 giới thiệu một số khái niệm cơ bản trong chuyên ngành mạng nơ–rôn nhân tạo và điểm qua về quá trình phát triển của chuyên ngành này.
Chương 2 và chương 3 trình bày về mô hình toán học mô phỏng nơ–rôn và mạng nơ–rôn truyền thẳng.
Chương 4 giới thiệu qua về khái niệm mạng nơ–rôn có phản hồi và một số mạng hoạt động theo mô hình này.
Chương 5 tóm tắt về nguyên tắc xây dựng mô hình theo thuật toán tự tổ chức và mạng Kohonen hoạt động theo nguyên tắc đó.
Chương 6 tóm tắt các ý tưởng chính của lô–gic mờ và mạng nơ–rôn lô–gic mờ.
Một số các ứng dụng thực tế gồm các bài toán dự báo, ước lượng, xử lý thông tin ảnh,… được trình bày trong chương 7.
Chương 8 giới thiệu một số giải pháp mạch tích hợp mô phỏng nơ–rôn và mạng nơ–rôn.
3. PGS. TSKH. TRẦN HOÀI LINH
MẠNG NƠ-RÔN
VÀ ỨNG DỤNG TRONG x ử LÝ TÍN HIỆU
đ ạ iÌ ọctháikgiiyS Ì
ĩMHGTÂMHỌCUậỊ
NHÀ XUÁT BẢN BÁCH KHOA - HÀ NỘI
4. Bản quyền thuộc về trường Đại học Bách Khoa Hà Nội.
Mọi hình thức xuất bản, sao chép mà không có sự cho phép bằng văn bàn của
trường là vi phạm pháp luật.
Mã sổ: 22 - 2014/CXB/42 - 80/BKHN
Biên m ục trên xuất b ản p h ẩm của T h ư viện Q u ố c gia Việt N am
Trần Hoài Linh
Mạng nơ-rôn và ứng dụng trong xử lý tírr hi^iỉ/rrần Hoài Linh. - R : Bách
khoa Hà Nội, 2014. - 204tr.; 24cm ’;j| ỉ/u l ' ;
Thư mục: tr. 198 ~ "
■ ■ •
ISBN 978-604-911-627-8
1. Mạng thần kinh nhân tạo 2. ứng dụng 3. Xứ lý tín hiệu 4. Giáo trình
006.3 -dc 14
BKF00?7p-CIP
2
5. LỜI NÓI ĐẦU
Cuốn giáo trình Mạng nơ-rôn và írttg dụng trong xử lý tin hiệu được sử dụng
đổ giảng dạy môn học cùng tên cho sinh viên ngành Điện của trường Đại học Bách
Khoa Hà Nội.
Cuốn sách bao gồm 8 chương, trinh bày một số kiến thức cơ bản về một chuyên
ngành tương đối mới của ngành Trí tuệ nhân tạo là các mạng nơ-rôn nhân tạo và một
số khả năng ứng dụng thực tế của các công cụ mạng nơ-rôn nhân tạo trong các bài toán
xử lý tín hiệu thực tế.
Chương 1 giới thiệu một số khái niệm cơ bàn trong chuyên ngành mạng nơ-rôn
nhàn tạo và điềm qua về quá trình phát triển của chuyên ngành này.
Chương 2 và chương 3 trình bày về mô hình toán học mô phòng nơ-rôn và
mạng nơ-rôn truyền thẳng.
Chương 4 giới thiệu qua về khái niệm mạng nơ-rôn có phản hồi và một số mạng
hoạt động theo mô hình này.
Chương 5 tóm tắt về nguyên tắc xây dựng mô hình theo thuật toán tự tổ chức và
mạng Kohonen hoạt động theo nguyên tắc đó.
Chương 6 tóm tắt các ý tưởng chính của lô-gic mờ và mạng nơ-rôn lô-gic mờ.
Một số các ứng dụng thực tế gồm các bài toán dự báo, uớc lượng, xử lý thông
tin ảnh,... được trình bày trong chương 7.
Chương 8 giới thiệu một số giải pháp mạch tích hợp mô phỏng nơ-rôn và mạng
nơ-rôn.
Thông qua giáo trình, hy vọng người đọc có thể tìm hiểu và nắm được các ý
t ư ờ n g c h ín h v ổ m ạ n g 11Ơ r ô n n h â n tạ o , tù đ ó c ó th ể tr iể n k h a i ứ n g d ụ n g c á c c ô n g
cụ này trong các bài toán xử lý tín hiệu phức tạp khi mà các công cụ kinh điển tò ra
không hiệu quả.
Trong lần xuất bàn đầu tiên, giáo trình không thể tránh khỏi các sai sót. Tác giả
rât mong nhận được các ý kiến đóng góp của bạn đọc. Các ý kiến xin gửi về Bộ môn
Kỹ thuật đo và Tin học công nghiệp, Viện Điện, trường Đại học Bách Khoa Hà Nội.
Xin chân thành cảm cm.
Tác già
Kinh tặng ông Bá nội - ngoại của các cháu,
Tặng Em và các Con thương yêu!
3
6. MỤC LỤC
LỜI NÓIĐẰU..........................................................................................................................3
CHƯƠNG 1. MỘT SỐ CÁC KHÁI NIỆMcơ BẢN...................................................... 7
1.1. Vị trí của chuyên ngành mạng nơ-rôn và ứng dụng trong xử lý
tín hiệu..........................................................................................................7
1.2. Theo dòng lịch sử....................................................................................-12
1.3. Các quá trình cơ bản của mạng nơ-rôn.................................................18
1.3.1. Quá trình học.......................................................................................... 18
1.3.2. Quá trình kiểm tra.................................................................................. 19
1.4. Các ứng dụng cùa mạngnơ-rôn..............................................................19
CHƯƠNG 2. MÔ HÌNH NƠ-RÔN..............................................................................22
2.1. Nơ-rôn sinh học và mô hinh toán học của nơ-rôn nhản tạo........ ..22
2.1.1. Bộ não con người.................................................................................. 22
2.1.2. Mô hình nơ-rôn nhân tạo của McCulloch - Pitts..............................24
2.1.3. Các dạng hàm truyền đạt chính khác................................................ 27
2.1.4. Ví dụ tính toán đáp ứng đầu ra của nơ-rôn với các hàm
truyền đạt khác nhau........................................................................... 29
2.2. Các quá trinh học và kiểm tra của no>-rôn............................................. 30
2.2.1. Quá trình học của nơ-rôn....................................................................30
2.2.2. Thuật toán học có hướng dẫn của nơ -rôn........................................33
2.2.3. Một số phương pháp nâng cao chát lượng cúa quá trinh học
sử dụng gradient................................................................................... 41
2.2.4. Quá trình kiểm tra mạng nơ-rôn và khả năng tổng quát hóa........ 46
CHƯƠNG 3. MÒ HÌNH MẠNG PERCEPTRON MLP VÀ CÁC THUẬT TOÁN
HOẠT ĐỘNG........................................................................................49
3.1. Nơ-rôn và mạng no>-rôn nhản tạo......................................................... 49
3.2. Các cấu trúc mạng nơ-rôn.......................................................................50
3.3. Cấu trúc mạng MLP...................................................................................52
3.4. Quá trinh học cùa mạng MLP...................................................................55
3.5. Thuật toán học theo bước giảm cực đại cho mạng MLP................58
3.6. Thuật toán Levenberg - Marquardt........................................................ 59
3.7. Thuật toán học của Hebb..........................................................................59
4
7. 3.8. Vấn đề mạng học quá khớp (overfitting) và mạng học không đủ
(underfitting)..............................................................................................61
3.9. Ví dụ minh họa ứng dụng........................................................................68
CHƯƠNG 4. MẠNG CÓ PHẢN HỒI.........................................................................71
4.1. Mạng RMLP................................................................................................71
4.1.1. Cấu trúc của mạng RMLP...................................................................71
4.1.2. Thuật toán học cùa mạng RMLP...................................................... 73
4.1.3. Ví dụ ứng dụng mạng RMLP............................................................. 74
4.2. Mạng ELMAN.............................................................................................77
4.2.1. Cấu trúc cùa mạng Elman.................................................................. 77
4.2.2. Thuật toán học của mạng Elman.......................................................79
4.2.3. Ví dụ ứng dụng mạng Elman............................................................. 81
4.3. Mạng RTRN...............................................................................................84
4.3.1. Cấu trúc mạng RTRN.......................................................................... 84
4.3.2. Thuật toán học của mạng RTRN.......................................................85
4.3.3. Vi dụ ứng dụng mạng RTRN.............................................................86
4.4. Mạng HOPFIELD.......................................................................................89
4.4.1. Cấu trúc cùa mạng Hopfield...............................................................89
4.4.2. Thuật toán học của mạng Hopfield....................................................91
4.4.3. Ví dụ áp dụng.......................................................................................93
4.5. Mạng HAMMING........................................................................................95
4.5.1. cáu trúc mạng Hamming................................................................... 95
4.5.2. VI dụ minh họa.....................................................................................97
4.6. Mạng BAM............................................................................................... 100
4.6.1. Cấu trúc của mạng BAM.................................................................. 100
4.6.2. Thuật toán học của mạng BAM........................................................ 101
4.6.3. Ví dụ minh họa...................................................................................102
CHƯƠNG 5. CÁC MẠNG HOẠT ĐỘNG THEO NGUYÊN TAC t ự tổ CHỨC. 105
5.1. Mạng KOHONEN.....................................................................................105
5.2. Quá trình học của mạng KOHONEN.................................................... 111
5.2.1. Các thuật toán phân nhóm trực tuyến............................................. 111
5.2.2. Thuật toán phân nhóm ngoại tuyến................................................114
5.3. Ví dụ ứng dụng mạng KOHONEN........................................................ 121
5.3.1. Xác định mẫu cho số liệu hai chiều................................................. 121
5.3.2. Xác định mẫu cho số liệu đa chiều.................................................123
5
8. CHƯƠNG 6. LÔ-GIC MỜ VÀ MẠNG NƠ-RÕN LÔ-GIC MỜ ............................125
6.1. Khái niệm lô-gic m ờ.............................................................................. 125
6.2. Biểu thức lô-gic mờ............................................................................... 127
6.2.1. Một số toán tử mờ cơ bản.................................................................127
6.2.2. Các toán tử cơ bản trong lô—
gic m ờ ................................................130
6.3. Quy tắc suy luận mờ và giá trị của quy tắc suy luận mờ................. 135
6.4. Tính đáp ứng trong trường hợp hệ nhiễu quy tắc suy luận mờ . ..137
6.5. Một số mạng nơ-rôn lô-gic mờ............................................................139
6.5.1. Mô hình mạng Mamdani/RBF...........................................................140
6.5.2. Mô hình mạng T S K ............................................................................147
CHƯƠNG 7. MỘT SỐ ỨNG DỤNG THỰC TẾ CỦA MẠNG NƠ-RÔN............... 165
7.1. Bài toán nhặn dạng ảnh.........................................................................165
7.2. Bài toán dự báo đỉnh và đáy đồ thị phụ tải điện 24h.............................. ......
7.3. Bài toán ước lượng trữ lưựng gió........................................................170
7.4. Nhận dạng tín hiệu điện tâm đồ............................................................174
7.5. Bài toán phân loại các thành phần trong hỗn hợp khí..............................178
CHƯƠNG 8. CÁC GIẢI PHÁP MẠCH MÔ PHỎNG NƠ-RÔN VÀ MẠNG
NƠ-RỎN ...........................................................................................181
8.1. Giới thiệu chung......................................................................................181
8.2. Một số mô hinh mạch mô phòng các khối no>-rôn CO
’ bàn.............. 182
8.2.1. Các khối nơ-rôn của mạng truyền thẳng........................................182
8.2.2. Mạch analog mô phòng hoạt động của nơ-rôn Kohonen
(mạng SOM)........................................................................................187
8.3. Một số mạch tích hợp mô phỏng nơ-rôn và mạng nơ-rôn........ ..189
8.3.1. Micro Devices MD1220......................................................................191
8.3.2. NLX—
420 Neural Processor Slice......................................................191
8.3.3. MT19003 NISP Neural Instruction Set Processor..........................191
8.3.4. 80170NW ETANN...............................................................................191
8.3.5. NeuroClassifier....................................................................................192
8.3.6. Các card PC Accelerator và Neurocomputers...............................192
TÀI LIỆU THAM KHẢO.............................................................................................198
6
9. C h ư ơ n g 1
MỘT SỐ CÁC KHÁI NIỆM c ơ BẢN
Trong chương này sẽ giới thiệu cho người đọc về vai trò, vị trí và các khả năng
ứng dụng thực tế của chuyên ngành mạng nơ-rôn nhân tạo. Đồng thời một số mốc lịch
sử trong quá trình của các mạng nơ-rôn cũng sẽ được điểm qua.
1.1. VỊ TRÍ CỦA CHUYÊN NGÀNH MẠNG NƠ-RỎN VÀ ỨNG DỤNG
TRONG XỬ LÝ TÍN HIỆU
Xử lý thông tin (Information Processing) là một trong những nhiệm vụ cơ bản
cùa gần như mọi lĩnh vực, xuất hiện gần như trong mọi vấn đề, bài toán. Nhìn chung để
mô tà và xừ lý các vấn đề, ta đều cần có thông tin đầu vào, yêu cầu về thông tin đầu ra
và cách thức chuyển đổi từ thông tin đầu vào thành thông tin đầu ra. Đặc biệt là từ khi
bất đầu xuất hiện các máy tính điện tử, với tốc độ tính toán càng ngày càng được nâng
cao cũng như mật độ phần tử tích hợp thỉ sự tham gia của máy tính trong các quá trình
hỗ trợ phân tích thông tin, đánh giá và lựa chọn giải pháp cho con người ngày càng phổ
biến. Các máy tính và các hệ thống máy tính hiện nay có những khả năng tính toán cực
lớn, Ihực hiộn được những khói lượng công viộc mà con người khOng Ihẻ nẳo dám
nhiệm trong thời gian ngắn. Đồng thcri mức độ tích hợp của các máy tính số được tăng
cao nên các thiết bị tính toán ngày càng nhỏ gọn, thích hợp cho việc xây dựng các hệ
thống xử lý thông tin linh hoạt và di động. Mặc dù vậy, cho đến thời điểm này, rất
nhiều khà năng cùa con người (và cùa cà nhiều sinh vật khác) vẫn chưa được thể hiện
mô phòng hoặc tái tạo một cách hiệu quả trên các máy móc hoặc thiết bị. Có thể lấy ví
dụ như khả năng nhận biết người qua ảnh, khả năng phân tích tiếng nói để hiểu được
nội dung,... đặc biệt là khả năng xử lý được các tình huống mới dựa trên các kinh
nghiệm đúc kết từ quá khứ,... Vì vậy song song với những phát triển của thông tin và
các hệ thống xử lý thông tin, ta thấy xuất hiện một ngành mới là ngành nghiên cứu về
Trí tuệ nhân tạo (Artificial Intelligence).
Một trong những mục đích chính của ngành Trí tuệ nhân tạo là nghiên cứu
và phát triển các mô hình mô phỏng những khả năng về tu duy, phân tích và xử lý
7
10. thông tin của con người, cần nhấn mạnh rằng một trong những khó khăn cơ bàn hiện
nay vẫn chưa được giải quyết đó là khi nghiên cứu về “Trí tuệ nhân tạo”, ta vẫn chưa
có định nghĩa chính thức “Trí tuệ là gì”. Khái niệm này vẫn đang được các nhà khoa
học cùa nhiều lĩnh vực (kể cả Triết học) nghiên cứu và hoàn thiện. Vì thế cũng sẽ dễ
hiểu nếu như khi theo dõi các tài liệu khác nhau, ta có thể thấy được nhiều định nghĩa
khác nhau về Trí tuệ (Intelligence) và Trí tuệ nhân tạo (Artificial Intelligence).
Hình 1.1. Vị trí của chuyên ngành trong tinh vực xừ /ý tín hiệu
Từ việc chưa có được các định nghĩa chuẩn về Trí tuệ dẫn tới thực tế rất khó có
được chuấn để đánh giá một giải pháp (hay một thiết bị,...) có “thông minh” hay không.
Ngay cả việc so sánh trực tiếp về mức độ “thông minh” của hai giải pháp hoặc hai đối
tượng khác nhau cũng đã rất khó khăn.
Trong giáo trinh này, ta có thé sứ dụng quan điểm hệ thống thông minh là hệ
thống mô phòng một khả năng nào đó cùa con người hoặc của một đối tượng thông
minh khác. Quá trinh nghiên cứu về một khả năng trước tiên nhằm trả lời các câu hỏi
“Một khả năng của con người do đâu mà có? Khả năng đó được thực hiện như thế
nào”. Sau đó ta có thể chuyển sang quá trình tái tạo lại khả năng đó trên các máy móc,
thiết bị để tạo ra các giải pháp “thông minh”.
Lấy ví dụ một hệ thống cơ khí mô phỏng cơ chế dịch chuyển của con người.
Trước tiên ta cẩn làm rõ để chuyển động thì con người cần các cơ cấu chấp hành gì
(chân, tay,...), phối hợp các cơ cấu đó như thế nào, đặc biệt là trong nhũng trường hợp
đặc biệt thì xừ lý làm sao (ví dụ giải pháp lấy thăng bằng, ước lượng các khoáng cách,
xác định tuyến đường dịch chuyển,...). Sau đó ta mới tién hành chế tạo các cơ cấu và hệ
thống đó. Ta lấy một ví dụ nữa về hệ thống tự động xác định đường đi cho các rô-bốt,
8
11. trong đó các rô-bốt cần tự phân tích các môi trường xung quanh và từ đó xác định
được đường đi tối ưu cho mình.
Trong các lĩnh vực của ngành Trí tuệ nhân tạo, các nghiên cứu về cơ chế hoạt
động và các khả năng cùa bộ não con người tạo thành một chuyên ngành được gọi
là Mạng nơ-rôn nhân tạo. Các kết quả cho thấy bộ não con người tính toán, tư duy
theo những cơ chế khác với máy tính số. Bộ năo được biểt đến như là một máy tính
phức hợp, phi tuyến và tinh toán song song. Hệ thống thần kinh cùa con người bao
gồm khoảng 1012 nơ-rôn và khoảng 1014 các ghép nối thần kinh giữa chúng. Chính hệ
thống ghép nối phức tạp này đưa lại cho chúng ta các khả năng phân tích và xử lý
thông tin, các càm xúc,... Bộ não có khả năng tồ chức, điều khiển các phần từ cơ bản
của mình (các nơ-rôn đơn lè) để thực hiện các nhiệm vụ mà ta mong muốn như nhận
dạng, điều khiển, phân tích hiệu quà hơn rất nhiều so với các máy tính hiện nay. Ta có
thể xét lại ví dụ khả năng nhìn cùa con người. Đây là bài toán phân tích và nhận dạng
ảnh (tín hiệu hai chiều, ba chiều,...) và là một trong những nhiệm vụ cơ bản của con
người, giúp cho con người giao tiếp với môi trường xung quanh. Bộ não của con người
có khả năng phân tích một hình ảnh theo nhiều nhiệm vụ khác nhau (ví dụ như khi ta
tìm một khuôn mặt quen trong một đám đông, uớc lượng khoảng cách, ước lượng vận
tốc chuyền động của các đối tượng đang quan sát,...) trong khoảng thời gian từ 100 đến
200 ms, một tốc độ mà các máy tính và phần mềm tính toán hiện nay vẫn chưa thể nào
đạt tới gần được.
Một ví dụ tiếp theo là khả năng nghe và phân tích âm thanh. Chi xét khả năng
nghe hiểu ngoại ngữ hoặc tiếng địa phương của con người đã là một nhiệm vụ hết sức
khó khăn khi xây dựng các chương trình mô phỏng. Đen nay các chương trình này mới
chi đạt được những kểt quả nhất định ban đẩu. Tiếp theo đó là những khả năng về chọn
lọc nguồn âm thanh (ta có thể phân biệt được âm thanh của từng nhạc cụ trong dàn hoà
tấu, tập trung nghe được những lời nói trong một môi trường nhiều tiếng ồn, phân biệt
được những âm thanh bất thường xung quanh,...).
Như đã đề cập ờ trên, việc tìm hiều những khả năng của bộ não con người và
tìm cách tái tạo lại các khả năng đó trên các máy móc, thiết bị hay phần mềm tính toán
là nhiệm vụ nghiên cứu chính của chuyên ngành “Mạng nơ-rôn nhân tạo”. Trong
khuôn khổ giáo trình này, ta sẽ tập trung riêng cho lĩnh vực các khả năng xử lý tín hiệu
của các hệ thống thần kinh và các phương pháp mô phỏng để tái tạo.
về mặt cấu trúc thì từ khi sinh ra, bộ não của chúng ta đã có cấu trúc rất phức
tạp. Sau đó bộ não còn tiếp tục phát triển về số lượng nơ-rôn cũng như các ghép nối
trong một thời gian ngẳn (đến năm 4 - 5 tuồi). Sau thời gian đó, số lượng nơ-rôn nói
9
12. chung không phát triển thêm nữa (thậm chí còn bị giảm đi) mà chi tự điều chinh và
thay đồi thông số của các ghép nối đang có. Quá trình tự xây dựng và tổ chức này được
thực hiện trong suốt cuộc đời cùa chúng ta. Mạng nơ-rôn nhờ vào số lượng rất lớn các
nơ-rôn và các ghép nối thần kinh của mình để tạo nên khả năng tính toán và xử lý
thông tin. Bên cạnh đó mạng nơ-rôn còn có khả năng học và tái tạo thông tin. Khả
năng học là khả năng mạng nơ-ron tự động điều chinh, thay đồi để xử lý được các
trường hợp mẫu cho trước, còn khả năng tái tạo là khả năng mạng nơ-rôn có the đưa
ra được kết quả xử lý thông tin cho những trường hợp lạ - chưa xuất hiện trong quá
trình học. Một nơ-rôn đang “phát triển” hay đang “tiến hóa” sẽ song hành với một bộ
não “mềm dẻo” - một bộ não có khả năng thích nghi với các điều kiện môi trường
xung quanh.
Phối hợp cả hai khả năng này cho phép ta tạo được những mô hình để giải quyết
các vấn đề khó và lớn mà hiện nay chưa được giải quyết triệt để (ví dụ như lượng tập
mẫu tổng cộng quá lớn, số liệu bị nhiễu lớn,...). Ta cũng cần nhớ rằng, với các công cụ
toán học cũng như thiết bị hiện nay, việc có thể mô phỏng gần đúng một não bộ vẫn là
một điều chưa khả thi.
Neu ta nhìn mạng nơ-rôn dưới góc độ là một máy tính với khả năng thích nghi
thi: Mạng nơ-rôn là một hệ thống bao gồm rất nhiều các nơ-rôn đom lẻ được nối với
nhau, phối hợp hoạt động với nhau để lưu trữ những kiến thức, kinh nghiệm nhằm tái
sử dụng:
- Kiến thức, kinh nghiệm được thu thập từ môi trường thông qua quá trình học.
- Các hệ số khuếch đại tín hiệu giữa các nơ-rôn (hay còn gọi là các trọng số
ghép nối) sẽ được sừ dụng để lưu trữ các kinh nghiệm và kiến thức nêu trên.
Một hệ trí tuệ nhân tạo hay còn gọi là hệ thông minh cần có ba khả năng chính
là: 1- ghi nhớ các kiến thức; 2- vận dụng những kiến thức đã biết để giải quyết các vấn
đề gặp phải; 3- thông qua các kinh nghiệm, các vấn đề đã được giải quyết cần thu thập
hoặc tạo ra được các kiến thức mới. Ta có thể coi hệ trí tuệ nhân tạo cũng gồm ba
thành phần chính:
- Thể hiện (Representation): Khả năng đặc trưng của hệ trí tuệ nhân tạo là có
thể dùng một ngôn ngữ hình thức thống nhất để mô tả các vấn đề cũng như các kiến
thức liên quan tới vấn đề đó. Các ngôn ngữ này trước tiên được con người sử dụng để
mô tả, sau đó được chuyển đổi thành các dạng thích hợp cho việc thể hiện trong các
máy tính điện tử. Kiến thức (knowledge) cũng là một dạng cùa thông tin. Kiến thức có
thể được thể hiện ờ nhiều dạng như các giá trị, các công thức, các thuật toán,...
10
13. - Suy luận (Reasoning)', là khả năng giải quyết các vấn đề. Theo [Fischlerl987],
một hệ thống được coi là có khả năng suy luận khi:
+ Hộ thống có khả năng thề hiện và giải quyết một dải rộng các vấn đề và dạng
vấn đề.
+ Hệ thông phải có khả năng nội suy (implicit) và ngoại suy (explicit) đê tạo ra
Dác thông tin mà hệ thống quàn lý.
+ Hệ thống phải có một cơ chế điều khiển (control) đề xác định cần phải thực
hiện các thao tác gi trong quá trình giải quyết một vấn đề hoặc khi cần kết thúc quá
trình này.
- Học tập (Learning): Đặc trung cho khả năng mở rộng, cập nhật, thay đổi các
kiên thức của một hệ thống. Mô hình đơn giản cho quá trình học của một hệ thống
lược thổ hiện trên hình 1.2. Mõi trường bên ngoài sẽ cung cấp cho hệ thống các thông
:in thông qua khối phân tích và học tập (Learning Element) để phục vụ cho việc điều
ĩhinh các phần tử tham gia vào quá trình học. Các kết quả từ khối này được chuẩn
lóa và lưu trữ vào cơ sở dữ liệu về kiến thức của hệ thống (Knowledge Base). Sau
chi tông hợp các kiến thức từ cơ sở dữ liệu này, hệ thống sẽ đưa ra quyết định về các
hao tác cần được thực hiện và truyền các thông tin này xuống cơ cấu chấp hành
'Performance Element).
H ìn h 1.2. M ồ h ìn h đtyrt g iá n c h o q u á trìn h h ọ c c ù a m ộ t h ộ th ố n g
Mạng nơ-rôn nhân tạo (hay còn gọi ngắn gọn là mạng nơ-rôn) là một trong
ihững chuyên ngành của Trí tuệ nhân tạo và là ngành được phát triển mạnh hiện nay
lái các ứng dụng rộng rãi trong nhiều vấn đề kỹ thuật. Mạng nơ-rôn có nhiều tính chất
;ẩn thiết để có thể trở thành một công cụ tốt trong xử lý tín hiệu:
—Có khả năng tạo hàm truyền phi tuyến đa biến với độ chính xác cho trước;
—Có các cấu trúc truyền thẳng và cấu trúc có phản hồi để thuận tiện lựa chọn
;ho các đối tượng có đăc tính có nhớ hoặc không có nhớ;
—Khả năng điều chinh thích nghi các thông số để thích nghi với các bộ số liệu
ĩnh cũng như các bộ số liệu động;
—Có khả năng tổng quát hóa để có thể hoạt động hiệu quả với các tín hiệu đầu
rào mới, chưa xuất hiện trong quá trình xây dựng mô hình.
14. Các mạng nơ-rôn có một đặc trưng khác so với các hệ thống tính toán tuyến tính
và phi tuyến trước đây là mỗi mạng nơ-rôn được trang bị một hoặc nhiều thuật toán
học cho mạng. Các thuật toán này cho phép chúng ta xây dựng, lựa chọn cấu trúc cha
mạng cũng như điều chinh thích nghi các thông số của mạng để phù hợp với yêu cẩu
của các bài toán được ra cho mạng.
1.2. THEO DÒNG LỊCH s ử
Các nghiên cứu cận đại về nơ-rôn được coi là bắt nguồn từ công trình
[McCulloch43] của McCulloch và Pitts vào năm 1943. McCulloch đã nghiên cứu hơn
20 năm về cơ chế thể hiện một sự kiện trong hệ thần kinh. Trong công trình kinh điền của
mình, McCulloch và PÍtts đã mô tả quá trình tính toán lô-gic cùa mạng nơ-rôn trẽn cơ sà
tổng hợp các kết quả nghiên cứu cà về tâm - sinh học cũng như toán học. Các tác giả đã
xây dựng nên mô hình hoạt động theo hàm ngưỡng và dựa trên việc điều chinh các
trọng số ghép nối, các mô hình mạng có khả năng mô phỏng những hàm truyền đạt bai
kỳ. Đây là một bước tiến rất lớn trong lịch sừ nghiên cứu và đa số các nhà khoa học
đều nhất trí rằng nó là mốc rất quan trọng trong lịch sử các ngành nghiên cứu về mạng
nơ-rôn nói riêng và trí tuệ nhân tạo nói chung. Cũng trong năm này đã xuất hiện khái
niệm “cybernetics” do Arturo Rosenblueth, Norbert Wiener và Julian Bigelow đề xuất.
Sau đó vào năm 1948, Wiener đã xuất bản cuốn sách nồi tiểng với tiêu đề Cybernetics
viết về các vấn đề quan trọng trong điều khiển, truyền thông và xử lý tín hiệu. Trong
chương 2, Wiener đã cố nắm bắt ý nghĩa vật lý quan trọng cùa chủ đề cơ chế thong kê,
Tuy nhiên phải hơn 30 năm sau, Hopfield mới xây dựng được mối liên kết giữa cơ chế
thống kê và các hệ thống có khả năng học.
Công trình cùa McCulloch và Pitts không chi tác động tới chuyên ngành mạng
nơ-rôn. Von Neumann đã sử dụng ý tường hoạt động “chuyển đổi —nghi” hay còn gọi
là chế độ hoạt động có trễ của nơ-rôn trong việc xây dựng EDVAC (Electronic
Discrete Variable Automatic Computer), tiền thân của máy ENIAC (Electronic
Numerical Integrator and Computer) [Aspray86] - máy tính đa năng đầu tiên đuợc chế
tạo tại Moore School of Electrical Engineering, Đại học Pennsylvania. Năm 1944, Von
Neumann và nhà kinh tế học Oskar Morgenstem đã đưa ra giới thiệu Lỷ thuyết trò
chơi, một phần rất quan trọng cùa lĩnh vực trí tuệ nhân tạo ngày nay trong bài báo
Theory of Games and Economic Behavior. Cũng vẫn là Von Neumann đã đưa ra câu
trả lời nổi tiếng khi có ý kiến cho rằng “Máy tính không có khả năng suy nghĩ' là “You
insist that there is something a machine cannot do. Ifyou will tell me precisely what it
is that a machine cannot do, then I can always make a machine which will doju st that'
(Các ngài đang khẳng định rằng máy tính không làm được một việc gì đó. Nhưng nếu
12
15. như các ngài có thể mô tả chinh xác cho tôi rằng máy tính không làm được việc gì thì
tôi sẽ luôn có thể xây dựng một máy mới để làm được chính việc đó). Sau đó ông đã
phát triển tiếp ý tường này đề đề xuất phương pháp nổi tiếng Turing Test vào năm 1950
nhằm kiểm tra độ thông minh cùa một máy tính.
Bưóc tiến tiếp theo của các mạng nơ-rôn được nhắc tới vào năm 1949 với cuốn
sách cùa Hebb có tiêu đề The Organization of Behavior, trong đó cơ chế sinh - hóa của
quá trình học thông qua việc điều chinh trọng số ghép nối lần đầu tiên được đề cập một
cách rô ràng và chi tiết. Cụ thề, Hebb đã trình bày về quá trình thay đổi không ngừng
của các hệ số ghép nối giữa các nơ-rôn khi một cá thể đang học về những nhiệm vụ
khác nhau và ông đã cụ thể hơn giả thiết của Ramon y Cajal rằng kênh ghép nối giữa
hai nơ-rôn sẽ có mức độ khuếch đại tăng lên nếu như nơ-rôn nguồn luôn luôn được
kích thích.
Cuốn sách của Hebb đã trở thành một nguồn cảm hứng cho các mô hình tính
toán với chức năng học và thích nghi. Công trình nghiên cứu [Rochester56] vào năm
1956 là một trong những công trinh đầu tiên đề cập tới việc sử dụng máy tính điện tử
đồ mô phỏng lý thuyết nơ-rôn và quá trình học của nơ-rôn của Hebb. Các kết quả tính
toán cho tỊiấy rằng để hoàn thiện hơn thì mạng nơ-rôn cần phải có cả các ghép nối với
độ khuếch đại nhỏ hơn 1 (giảm mức tín hiệu đầu vào) và cả độ khuếch đại âm (còn gọi là
các đầu vào tín hiệu hãm). Cùng năm đó (1956), Uttley đã công bổ một mạng nơ-rôn với
các trọng số ghép nối có thể thay đồi thích nghi để thực hiện được bài toán nhận dạng
các mẫu nhị phân. Đồng thời cụm từ Artificial Intelligence được sừ dụng như một
chù đề thảo luận chính thức của Hội nghị Dartmounth lần thứ hai do John McCarthy
tố chức.
Năm 1958, trong một công trình về bài toán nhận dạng mầu, Rosenblatt đã đưa
ra khái niệm mô hình perceptron với thuật toán học có hướng dan (supervised
learning). Công trình này đã đưa ra lý thuyết hội tụ cùa quá trinh học của perceptron.
Cũng trong thập kỷ 1950 - 1960 đã bắt đầu xuất hiện các phần mềm trò chơi
như phần mềm đánh cờ cúa Dietrich Prinz, phần mềm checkers của Christopher
Strachey. Năm 1955, Arthur Samuel đã viết được một phần mềm chai checkers với
chức năng tự học thêm trong quá trình hoạt động.
Năm 1967, cuốn sách Computation: Finite and Infinite Machines cùa Minsky đã
tổng hợp các kết quả nghiên cứu của Minsky và mở rộng các đề xuất của McCulloch
và Pitts, đồng thời kết hợp lý thuyết mạng nơ-rôn với lý thuyết tính toán và lý thuyết
máy trạng thái.
13
16. Thời gian này, với rất nhiều những kết quả thu được, đã từng có ý kiến cho rằng
mạng nơ-rôn đcm giàn có thể giải quyết được rất nhiều lớp bài toán. Nhung trong
[Minsky69], Minsky và Papert đã chứng minh bằng toán học rằng mạng nơ-rôn truyên
thẳng một lớp chi có thể giải được một số dạng bài toán nhất định do không đủ độ phi
tuyến. Đồng thời việc sử dụng nhiều lớp ẩn cũng không thể giải quyết hết được những
tồn tại.
Trong thập kỷ này, Ray Solomnoff đã bắt đầu xây dụng các nền tảng lý thuyết
toán học cho AI, trong đó cần kể tới việc ứng dụng các mô hình Bayes trong quy nạp
và dự báo.
Những năm 70 là những năm tương đối yên tĩnh của các nghiên cứu về mạng
nơ-rôn. Có một số lý do chính để các nghiên cứu này bị ảnh hường: 1—vì lý do kỹ
thuật mà chủ yếu là do các công cụ tính toán như máy tính điện tử vẫn chưa phổ biến
nên các tính toán mô phóng rất khó được thực hiện để kiểm chứng các ý tưởng cùa các
nhà nghiên cứu; 2—vì lý do phi kỹ thuật, trong đó có thể xét tới hai yếu tố ánh hường
lớn là công trình [Minsky69] đã khiến nhiều nhà nghiên cứu chần chừ và các đề tài
nghiên cứu cũng khó xin được tài trợ. Công trình đáng kể tới nhất trong những năm
này là công trình [Malsburg73] của von der Malsburg vào năm 1973 về mạng tự tô
chức (self-organising maps).
Thập kỳ 80 chứng kiến sự quay trở lại của mạng nơ-rôn trên rất nhiều lĩnh vực
cùng một lúc. Năm 1980, Grossberg [Grossberg80] đã đề ra quy tắc học tự tổ chức mới
mang tên ART (adaptive resonance theory). Năm 1982, Hopfield đã sử dụng ý tưởng
hàm năng lượng để giải thích quá trình tính toán được các mạng hồi quy sử (lụng với
các trọng số đối xứng và các mạng nơ-rôn này sau này được mang tên của ông là
mạng Hopfield. Mặc dù các mạng nơ-rôn hồi quy do Hopfield đề xuất không có mô
hình nơ-rôn thực tế tương xứng, nhưng ý tưởng các thông tin có thể được lưu trữ trong
các trạng thái động cân bằng của hệ thống mang ý nghĩa đột phá. cần lưu ý rang ý
tường này đã từng xuất hiện trước đó (có thể lấy ví dụ về trạng thái spin trong vật lý
lượng tử) nhưng lần đầu tiên được ứng dụng hết sức cụ thể trong mạng nơ-rôn là trong
công trinh cùa Hopfield. Cùng trong năm này, Kohonen đã đưa ra mô hình mạng
Kohonen-SOM (Kohonen self-organising maps) cho các lưới trong không gian một
chiều và không gian hai chiều. Mạng Kohonen đã nhanh chóng trờ thành một trong
những mạng tự tổ chức được ứng dụng rộng rãi nhất và hiện nay vẫn là một trong
những ví dụ kinh điển của những mạng thuộc dạng này.
Song song với các nghiên cứu về cấu trúc của nơ-rôn và tồ chức cùa mạng
nơ-rôn, cùng với sự phát triển của máy tính điện tử, hàng loạt các thuật toán mô phỏng
14
17. quá trình học và tối ưu hóa các thông số của mạng nơ-rôn đã được nghiên cứu và đề
xuất. Có thể kể tới các thuật toán như Stimulated Annealing [Kirkpatrick83],
Boltzmann Machines [Ackley85], Reinforcement Learning [Barto83],
Năm 1986, các tác giả Rumelhart, Hinton và Williams [Rumelbart86] đã phát
triển thuật toán lan truyền ngược (back-propagation algorithm) mà ý tường đã được
Werbos đề cập tới trong luận án nghiên cứu sinh của mình [Werbos74] vào năm 1974.
Thuật toán này sẽ được trình bày cụ thể trong các phần sau của cuốn sách này.
Tiếp theo sau đó là việc phát minh ra hai mô hình nồi tiếng về mạng nơ-rôn là
mạng RBF (Radial Basis Function) và mạng SVM (Support Vector Machines). Mạng
RBF được Broomhead và Lowe giới thiệu năm 1988 [Broomhead88]. Mạng SVM
[Boser92] do Vapnik đề xuất vào đầu những năm 90 của thế kỳ XX để ứng dụng trong
các bài toán phân loại, nhận dạng, ước lượng cũng nhưng đánh giá mật độ phân bố
của số liệu. Cơ sờ của mạng SVM (lựa trên lý thuyết về xây dựng mô hình với bộ
mẫu hữu hạn.
Tổng kết lại ta có thể liệt kê một sổ mạng nơ-rôn nhân tạo đã được đề xuất và
nghiên cứu như trong bảng 1.1.
Báng 1.1. Một số mạng nơ-rôn nhản tạo đã đưọ>c nghiên cứu
Cấu trúc Tên mạng Tác giả để xuất Nam
Tuyến tính (Linear) Hebbian Hebb 1949
Adaline Widrow và Hoff 1960
Higher Order Bishop 1995
F unctional L ink Puo 1989
Truyền thẳng đa lớp
(Multi-layer Feedforward)
MLP Bishop 1995
-
BackProp Rumelhart, Hinton và
Williams
1986
Cascade Coưelation Fahlman và Lebiere 1990
QuickProp Fahlman 1989
RPROP Riedmiller và Braun 1993
RBF Fausett 1994
OLS (Orthogonal Least
Squares)
Chen, Cowan và
Grant
1991
15
18. Mạng phân nhóm
(Classification Only)
LVQ (Learning Vector
Quantization)
Kohonen 1988
PNN (Probabilistic
Neural Networks)
Specht 1990
Mạng ước lượng
(Regression Only)
GNN (General
Regression Neural
Network)
Watson và Nadaraya 1964
Mạng có phàn hồi
(Recurrent Network)
BAM (Bidirectional
Associative Memory)
Kosko 1992
Boltzman Machine Ackley 1985
BTT (Back-propagation
Through Time)
Werbos 1990
Elman Elman 1990
FiR (Finite Impulse
Response)
Wan 1990
RTRN (Real-Time
Recurrent Network)
Williams và Zipser 1989
RB (Recurrent Back-
propagation)
Pineda 1989
TDNN (Time-Delay
Neural Network)
Lang, Waibel và
Hinton
1990
Mạng nơ-rôn cạnh tranh
(Competitive Vector
Quantization)
Grossberg Grossberg 1976
Kohonen Kohonen 1984
Conscience Desieno 1988
Mạng nơ-rôn tự chức
(Self-organizing Map)
Kohonen Kohonen 1995
GTM Bishop, Svenson và
Williams
1997
LL (Local Linear) Mulier và
Cherkassky
1995
16
19. Mạng cộng hường thích
nghi (Adaptive Resonance
Theory)
ART1 Carpenter và
Grossberg
1987
ART2 Carpenter và
Grossberg
1987
ART3 Carpenter và
Grossberg
1990
Fuzzy ART Carpenter, Grossberg
và Rosen
1991
DCL (Differential
Competitive Learning)
Kosko 1992
Mạng giảm chiều không
gian (Dimension Reduction)
Oja Oja 1989
Sanger Sanger 1989
Differential Hebbian Kosko 1992
Mạng tự liên kết
(Auto-association)
Hopfield Hopfield 1982
về mặt ứng dụng, ta cũng có thể nhắc tới một số công trình đã được ghi nhận
trong thời gian gần đây của ngành Trí tuệ nhân tạo nói chung và chuyên ngành Mạng
nơ-ròn nhân tạo nói riêng. Trong số đó, năm 1994, hai chiếc ô tô tự động dòng VaMP
do Emst Dickmanns và Daimler-Benz thiết kế đã chờ hành khách thực đi hom 1000 km
trên dường cao tốc ba làn ờ khu vực Paris vào thời điềm tương đối đông xe với tốc độ
có lúc đạt tới 130 km/h.
Năm 1997, máy tính Deep Blue đã đánh bại Đại kiện tướng Garry Kasparov
trong một cuộc thi đấu cờ chính thức cấp quốc tế.
Năm 1999, Công ty SONY đã phát triển một rô-bốt nhỏ tên là AIBO thành đồ
chơi tự động trong nhà. Năm 2005, rô-bốt ASIMO đã có thể đi lại tương đối giống
người thật và có thẻ thực hiện một số thao tác phục vụ bàn trong quán ăn.
Cũng trong năm 2005, dự án Blue Brain đã được bắt đầu với mục đích mô
phỏng cơ chế hoạt động của bộ não con người ờ cấp độ phân tử.
Các công trình nêu trẽn đây chi là một. phần rất nhỏ những kết quả đã đạt được
trong lĩnh vực nghiên cứu về mạng nơ-rôn. Từ ngày công bố công trình của
McCulloch và Pitts đến nay, mạng nơ-rôn đã liên tục phát triển và trở thành một lĩnh
vực liên ngành, phối hợp các kết quả nghiên cứu về toán học, vật lý, sinh học, kỹ
thuật,... Trong tương lai gần, mạng nơ-rôn sẽ tiếp tục được phát triển trong cả lý thuyết,
thực hành và ứng d ụ n g . _______________________
DẠI HỌCTHÁI NGUYÊN
TỉiUiiũTẢM
HỌ
CLỆUj
20. 1.3. CÁC QUÁ TRÌNH c ơ BẢN CỦA MẠNG NƠ-RÒN
Khi nghiên cứu và phát triển các mạng nơ-rôn cho các bài toán cụ thể, ta sẽ gặp
hai quá trình cơ bản sau: quá trình học (learning process) và quá trình kiểm tra (testing
process).
1.3.1. Quá trình học
Quá trình học được hiểu là quá trình tạo ra kiến thức từ các “mẫu” thông tin đã
có (trong quá khứ). Quá trình này được thực hiện cho một bộ số liệu mẫu ban đầu còn
được gọi là bộ số liệu học (learning data set). Riêng đối với mạng nơ-rôn, quá trình
học còn được hiếu là quá trình xác định các tham số cúa mạng để có thé thu được các
kết quả đầu ra theo như mong muốn cho một bộ số liệu học. Đẻ thể hiện chất lượng cùa
quá trinh học, người ta sẽ định nghĩa một hàm mục tiêu, hay còn gọi là hàm sai số Ehọc-
Quá trình học sẽ có xu hướng làm giảm giá trị cùa hàm sai số này, hay còn được gọi là
quá trình tối ưu hóa hàm sai số. Quá trình học thường được thực hiện dựa trên các thuật
toán học (learning algorithm) để tối ưu hóa các hàm mục tiêu.
Bên cạnh các thuật toán điều chinh thông số, mạng nơ-rôn còn có khả năng điều
chinh cả cấu trúc cùa mình đề mô phòng thực tế của bộ não là các nơ-rôn đơn lè có thể
chết đi, hoặc các ghép nối giữa các nơ-rôn có thể được sinh ra thêm để có thể tạo ra tín
hiệu đẩu ra như mong muốn.
Neu phân chia theo cách xừ lý bộ số liệu học thì quá trình học có thể được thực
hiện theo một số cách như sau:
- Quá trình học ngoại tuyến (offline)-, là quá trình học với toàn bộ các số liệu
mẫu đã có sẵn và các tham số cùa mô hình được cập nhật sau khi đã xem xct xong tất
cả các mẫu số liệu. Phương pháp này có số lần cập nhật ít, tuy nhiên các kết quả trung
gian khi đang xử lý các mẫu số liệu học cần phải được lưu giữ nên khá tốn bộ nhớ và
công thức cồng kềnh hom.
- Quá trình học trực tuyến (online): là quá trình học trong đó các tham số của
mô hình được cập nhật sau mỗi lần xem xét, xừ lý một mẫu số liệu. Phương pháp này
có số lần cập nhật lớn nhưng lượng thông tin cần lưu trữ ít và công thức gọn nhẹ hon.
- Quá trình học phối hợp (offline + online update): là quá trình học trong đó một
phần đầu của bộ số liệu mẫu được học ngoại tuyến, sau đó các số liệu còn lại (hoặc các
số liệu mới) được học trực tuyến. Phương pháp này phối hợp các đặc điểm của hai cách
học đã nói ở trên.
Nếu phân chia theo dạng thông tin có trong mẫu số liệu học thì ta có những dạng
học như sau:
- Học có hướng dan (supervised learning): là quá trình học với các mẫu số liệu
bao gồm một cặp tín hiệu đầu vào và tín hiệu đầu ra. Khi đó ta cần xây dựng một mô
hình (mạng nơ-rôn) với hàm truyền đạt tái tạo lại được ánh xạ từ tín hiệu đầu vào tới
tín hiệu đầu ra.
18
21. —Học tự tồ chức (self-organized learning): là quá trình học với các mẫu số liệu
chi bao gồm tín hiệu đầu vào. Thực chất đây là bài toán phân nhóm các mẫu (data
clustering), theo đó các mẫu tương tự nhau cần được quy về chung một nhóm, mỗi
nhóm sẽ có một mẫu đặc trưng (còn được gọi là trọng tâm của nhóm).
—Học theo định hướng (reinforcement learning): là quá trình học dựa trên một
tín hiệu điều khiển mang tính định hướng (ví dụ như quá trình học đang đúng hướng
hay không) từ một đối tượng “chuyên gia” bên ngoài để điều chinh thích nghi các tham
số cùa mô hình.
1.3.2. Quá trinh kiểm tra
Để đánh giá mức độ hiệu quả của quá trinh học, ngoài việc sử dụng hàm sai số
học, trong thực tế chúng ta còn sử dụng quá trình kiểm tra. Theo đó một mạng đã được
huấn luyện sẽ được kiềm tra với một bộ số liệu mới, còn được gọi là bộ số liệu kiểm tra
(testing data set). Sai số kiểm tra sẽ cho ta thấy khả năng hoạt động của mạng nơ-rôn
với các số liệu mới, chưa xuất hiện trong quá trình học. Sai số kiểm tra thấp tương ứng
với khả năng xử lý các trường họp mới tốt. Khi đánh giá về mức độ “thông minh” của
một mô hình, ta sẽ ưu tiên sử dụng sai số kiểm tra trước, sai số học được sừ dụng sau.
Mô hình có sai số kiểm tra thấp hơn sẽ được đánh giá là “thông minh” hơn mô hình có
sai số kiềm tra cao hơn.
1.4. CÁC ỨNG DỤNG CỦA MẠNG NƠ-RỒN
Với khả năng xây dựng các ánh xạ, các hàm truyền đạt phi tuyến, mạng nơ-rôn
đã được ứng dụng rất rộng rãi trong nhiều lĩnh vực, nhiều bài toán khác nhau. Ta có thể
kê tới các khả năng chính như sau:
l N h ậ n d a n g ( P n t t p r n R e c o g n i t i o n ) ' N h ậ n d ạ n g c ó th ể (ìirợ c đ in h n g h ĩa là q uá
trình phân tích tín hiệu đầu vào từ một đối tượng để xác định đối tượng đó thuộc vào
nhóm nào trong số các nhóm đã được định nghĩa trước hoặc đưa ra được những đánh
giá phân loại hay xếp hạng đối tượng đó.
2. Liên kết mẫu (Pattern Association): Đây là một trường hợp đặc biệt của bà
toán nhận dạng. Bộ nhớ hoạt động theo kiểu liên kết là một trong những chức năng đặc
trưng cùa con người. Chức năng này được xác định từ thời kỳ của Aristotle và có rất
nhiều các mô hình nhận dạng đã sử dụng phương pháp hoạt động này [Anđerson95].
Bộ nhớ liên kết được chia làm hai dạng chính: liên kết hai chiều (heteroassociation) và
tự liên kết (autoassociation). Trong mô hình liên kết hai chiều, mạng nơ-rôn đặt yêu
cầu gihi nhớ thông qua quá trình học một tập hợp các mẫu (x<
'>
,d(i)) với i = 1 ,
d(l) được gọi là đầu ra liên kết với đầu vào x(i). Kết thúc quá trình học hay còn gọi là
quá trình ghi nhớ (storage phase), khi đầu vào mạng nơ-rôn được cấp tín hiệu X thì
19
22. mạng cần tìm ra mẫu x0) gần giống X nhất trong số các mẫu đã được ghi nhớ và cung
cấp d(i) ở đầu ra cùa mạng. Chế độ làm việc này còn được gọi là chế độ sử dụng mạng
nơ-rôn để tái tạo thông tin (recall phase). Nếu ta có trường hợp đặc biệt d(l*= x(,) thì
đây sẽ là mô hình tự liên kết.
Số lượng mẫu p lớn nhất mà mạng có khả năng nhớ được một cách hiệu quả
được gọi dung lượng cùa mạng.
3. Tái tạo hàm (function approximation)'. Giả thiết rằng ta có một hàm phi tuyến
f0 , nhưng ta chỉ biết được giá trị của hàm đó tại một số điểm x(/) là d(l) = / ( x u)) với
;'= 1,2,... p . Để có thể tái tạo lại hàm j[), ta cần tìm một mạng nơ-rôn có hàm truyền
đạt FQ trên cơ sở các dữ liệu mẫu sao cho điều kiện về tái tạo sau đây được thỏa mãn:
Vx,||F(x) - /(x )|| < e
với e là độ chính xác cho trước. Ta đã chứng minh được rằng với tập số liệu mẫu p đú
lớn, với số lượng nơ-rôn trong mạng đù lớn, ta có thể tìm được mạng nơ-rôn có hàm
truyền F() thỏa mãn điều kiện trên với mọi giá trị £ >() bất kỳ. Bài toán tái tạo hàm
còn được gọi là bài toán nhận dạng hệ thống (system identification).
Một trong những ứng dụng mờ rộng của bài toán tái tạo hàm là bài toán tìm hàm
ngược. Có nghĩa là ta cần tìm hàm g0 sao cho g = f~ ' hay X = g(d) = / _l (d ).
Chú ý: Không nhầm lẫn ký hiệu toán học / -l với nghịch đảo giá trị hàm số
1
/ /( * ) .
Trong bài toán ngược này, vị trí của d và X trong một cặp mẫu được đảo ngược,
đầu vào cùa mạng sẽ là d còn đầu ra đích tương ứng sẽ là X.
4. Điều khiển: Bài toán điều khiển một đái tirọmg là một ứng dụng khác cùa
mạng nơ-rôn. Bộ não của chúng ta là một minh chứng sống cho việc tồn tại một bộ
điều khiền vừa song song, vừa phân tán, với khả năng xử lý nhiều đối tượng cùng một
lúc. Bộ não của chúng ta còn là bộ điều khiển phi tuyến, có khả năng chống nhiễu cao
và khả năng điều chinh thích nghi rất tốt.
Một ví dụ của điều khiển có phản hồi được mô tả trên hình 1.3. Hệ thống sử
dụng tín hiệu phản hồi trở về từ đối tượng và góp phần tạo thành đầu vào mới cho đỏi
tượng. Đầu ra y của đối tượng được so sánh với giá trị đích cần có d đế tạo thành tín
hiệu sai số e = y - d. Tín hiệu sai số này sẽ được sử dụng để điều chinh các thông số
của bộ điều khiển. Nhiệm vụ của bộ điều khiển là tạo ra tín hiệu đầu vào cần thiết cho
đổi tượng để tạo thành ở đầu ra đối tượng giá trị y bám theo một giá trị đích d đã định.
Trên hình 1.3, tín hiệu sai số e được đưa vào bộ điều khiển (trong trường hợp này là
mạng nơ-rôn) trước, sau đó mới ảnh hưởng tới đầu vào của đổi tượng.
20
23. Hình 1.3. Sơ đồ khối của hệ điểu khiển có phán hồi
Lọc: Lọc là một quá trinh (hoặc một thuật toán) dùng để trích chọn thông tin
được quan tâm từ một tập hợp số liệu có nhiễu. Nhiễu có xuất xứ từ nhiều nguồn khác
nhau và có thể có nhiều dạng khác nhau, ví dụ nhu sai số cùa thiết bị đo, nhiễu do kênh
truyền thông không lý tường hoặc các nhiễu xuất phát từ môi trường bên ngoài. Một ví
dụ điển hình về khá năng của con người là bài toán cocktail party problem. Trong mỗi
buổi tiệc ồn ào, có rất nhiều nguồn âm thanh pha tạp lẫn nhau, nhưng chúng ta có một
khả năng rất tốt về việc chọn lọc chi nghe và hiểu từ một nguồn nào đó như người, đạo
cụ hoặc nguồn phát các âm nhạc.
Trong các chương sau của tài liệu này chúng ta sẽ lần lượt làm quen với một số
đối tượng cơ bản trong các nghiên cứu về mạng nơ-rôn nhân tạo cũng như các ứng
dụng cùa các mạng này trong các bài toán phân tích và xừ lý tín hiệu. Đối với từng
mạng nơ-rôn, ta sẽ xem xét về cấu trúc cùa mạng và các thuật toán học cho những cấu
trúc này. Trong chương 2 ta sẽ có các trình bày về mô hình nơ-rôn sinh học và mô hình
nơ-rôn nhân tạo của McCulloch - Pitts. Chương 3 giới thiệu về mạng nơ-rôn truyền
thẳng nhiều lớp MLP (Multi-Layer Perceptrori). Trong chương 4 là tập hợp một số
mạng nơ-rôn có kênh phản hồi tín hiệu để tạo thành các cấu trúc hồi quy. Mạng
Kohonen với cơ chế tự tổ chức đề phân nhóm trên cơ sở các mẫu tín hiệu đầu vào được
trình bày trong chương 5. Chương 6 giới thiệu về một trong những hướng nghiên cứu
được đầu tư mạnh nhất trong các mạng nơ-rôn hiện nay, đó là lý thuyết lô-gic mờ và
các rnạng nor—
rôn lô—
gic mòr Trong hai chưnmg cuôi ta sẽ điêm qua vê một sô ví dụ
minh họa ứng đụng mạng nơ-rôn trong các bài toán xử lý tín hiệu thực tế cũng như về
các giải pháp phần cứng để mô phỏng các mạng nơ-rôn trên các thiết bị.
21
24. Chương 2
MỒ HÌNH NƠ-RÔN
Não bộ của con người bao gồm một hệ thống vô cùng phức tạp các phần từ được
gọi là nơ-rôn thần kinh ghép nối với nhau. Tổng cộng trong một hệ thần kinh cùa con
người có khoảng 10 - 1014 nơ-rôn. Từ nhiều thế kỷ qua, các nhà khoa học đã và đang
nghiên cứu về cấu trúc và các nguyên lý hoạt động của não bộ con người. Các công
trình nghiên cứu cũng đă chi rõ nhờ có bộ não phát triển mà loài người mới có được
“trí thông minh” cao hon các loài động vật khác. Phần từ cơ bàn cùa não bộ là nơ-rôn
thần kinh. Trong chương này chúng ta sẽ xem xét về mô hình của một nơ-rôn đơn lè,
các nguyên tẳc hoạt động chính và một số vấn đề cơ bàn như quá trình và thuật toán
học, bộ số liệu học và bộ số liệu kiểm tra, khả năng đáp ứng của nơ-rôn đối với các
1rường hợp mới,...
2.1. NƠ-RÓN SINH HỌC VÀ MỎ HỈNH TOÁN HỌC CỦA NƠ-RÔN
NHÂN TẠO
2.1.1. Bộ não con người
Hệ thần kinh của con người có thế được mô tả là một hệ thống gồm ba phần tử
c h ín h : c á c đ ầ u th ầ n k in h c â m ứ n g ( r c c c p t o r s ), h ệ th o n g th â n k in h tru n g tâ m ( b r a in ,
neural nets) và hệ thống chấp hành (effectors). Các thần kinh cảm ứng thu thập các tác
động từ môi trường bên ngoài, chuyển thành tín hiệu điện và truyền về hệ thần kinh
trung ương. Tại đây các tín hiệu này được não bộ phân tích, xử lý và đưa ra những
quyết định điều khiền. Các tín hiệu điều khiển này sẽ được chuyển tới các cơ câu châp
hành để thực hiện.
Cấu trúc cùa não bộ được phân tích rõ ràng hơn bát đầu từ các công trình của
Ramon y Cajal [Cajall 1], Ông là người đã đề xuất ý tường nơ-rôn là phần tử cơ sở cấu
thành nên hệ mạng thần kinh. Các nơ-rôn này hoạt động với tần số tương đối thấp. Neu
như các IC hiện nay có tần số làm việc đạt tới GHz (10 Hz) thì các nơ-rôn của con
người chi hoạt động với tần số cỡ kHz (10 Hz). Với tần số làm việc thấp nhu vậy
nhưng bộ não đã tăng tốc độ xừ lý bằng việc sử dụng song song một số lượng nơ-rôn
rất lớn cũng như số lượng ghép nối khổng lồ giữa những nơ-rôn này. Các công trình
[Haykin94] đã ước lượng trong bộ não của chúng ta có khoảng 1012 nơ-rôn và khoảng
22
25. 1014 ghép nổi giữa các nơ-rôn. Có cấu trúc khổng lồ như vậy nhưng bộ não lại là hệ
thong rất tiết kiệm năng lượng. Theo [Haykin94], ta có năng lượng tiêu thụ trung bình
của bộ não là 10 16 J cho mỗi hoạt động trong một giây, trong khi các máy tính thông
thường sử dụng tới 10 ^J —10 9J cho mỗi lệnh trong một giây.
Nơ-rôn là phần tử cơ bản của hệ thần kinh. Việcjighiên cứu và làm sáng tò
các cơ chế hoạt động cùa các nơ-rôn đóng vai trò quan trọng trong việc nghiên cứu
các quá trình thu thập, xử lý, truyền đi xa cũng như tái sừ dụng các thông tin trong
mạng nơ-rôn.
Hình 2.1. Cấu trúc của rtơ-rôn [Glencoe2001]
Các tín hiệu từ bên ngoài được truyền tới nơ-rôn thông qua các khớp thần kinh
(synapse). Quá trình thu thập và phản ứng với các tín hiệu đầu vào của nơ-rôn là một
quá trình điện hóa hết sức tinh vi và phức tạp. Có thế mô tả một cách tóm tắt như sau:
dưới tác dụng cùa các xung tín hiệu đến từ các khớp thần kinh, bên trong nơ-rôn sẽ
sinh ra các chất đặc biệt được gọi là các chất dẫn xuất. Các chất này sẽ tác động lên
màng của hạt nhân nơ-rôn làm thay đổi điện thế của màng này. Mức độ thay đổi điện
thê sẽ tỷ lệ thuận với lượng dẫn xuất được sinh ra. Các khớp thần kinh ứng với các đầu
vào tin hiệu có kích thước khác nhau cũng như có khả năng tích chứa các chất dẫn xuất
khác nhau, từ đó dẫn tới mức độ ảnh hưởng của mỗi đầu vào tín hiệu sẽ khác nhau. Có
đầu vào sẽ có tác dụng tăng kích thích của màng, có đầu vào sẽ làm giảm kích thích
của màng của hạt nhân. Neu như tổng lượng kích thích lên màng của nơ-rôn đù lớn thì
bên trong nhân nơ-rôn sẽ xảy ra các phàn ứng điện - hóa và tạo ra ờ đầu ra của nơ-rôn
một xung điện áp có hình dáng như trên hình 2.2.
Xung này được truyền theo các ghép nối của nơ-rôn để có thể lan truyền đến
các nơ-rôn khác. Neu tổng lượng kích thích đầu vào lên màng nơ-rôn chưa đủ lớn
thì no-rôn sẽ tự quay trở về trạng thái trước đó và không có bất cứ thay đồi gì ờ đầu
23
26. ra tín hiệu cùa nơ-rôn. Sau khi đã hoàn thành nhiệm vụ cùa mình, các chất dẫn xuất sẽ
được trang hòa thông qua quá trình hấp thụ cùa hạt nhân hoặc tự bị phân rã hay được
dẫn chuyển tới các vùng bên ngoài tác động của màng và bên ngoài tác động của khớp
thần kinh, đồng thời nơ-rôn sẽ chuyển sang trạng thái nghi thông qua việc màng cùa
hạt nhân bị trơ trong một thời gian ngắn (còn gọi là thời gian trơ tuyệt đối), sẽ không
phản ứng và tạo xung đầu ra ngay cả khi tồng các kích thích đầu vào rất lớn. Sau thời
gian trơ tuyệt đổi, màng hạt nhân sẽ dần quay trở lại trạng thái như trước. Thời gian
của quá trinh trở lại trạng thái cũ này được gọi là thời gian trơ tương đối.
Hình 2.2. Ví dụ hình dạng một xung điện áp đầu ra cùa một nơ-rón khi bị kích thich
Ta cũng có thể nhận thấy từ hình 2.2 là do có các thời gian "trơ" nên các chu kỳ
hoạt động của nơ-rôn dài cở ms, hay nói cách khác tần số hoạt động cùa nơ-rôn chi
vào khoảng kHz. Tuy nhiên có khả năng phân tích và xử lý thông tin của não bộ còn
vượt xa rất nhiều so với các máy tính có tốc độ xử lý tín hiệu tới GHz hoặc THz như
hiện nay.
2.1.2. Mô hinh no>-rôn nhân tạo của McCulloch - Pitts
Một trong những nghiên cứu đầu tiên đưa ra được mô hình toán học cho nơ-rôn
là của McCulloch và Pitts vào năm 1943 [McCulloch43]. Theo đó ta có thể mô tả các
nơ-rôn thần kinh của con người có cấu trúc đặc trưng chung như sau:
- Có nhiều tín hiệu đầu vào;
- Mức độ phụ thuộc vào các tín hiệu đầu vào khác nhau;
- Khi tồng các kích thích đầu vào vượt quá một ngưỡng, nơ-rôn sẽ tạo ra một
xung tín hiệu đầu ra.
Từ đó ta có mô hình của nơ-rôn bao gồm ba thành phần cơ bản:
- Hệ thống các ghép nối thần kinh (synapses, connection links): được đặc trưng
bời hệ số khuếch đại tín hiệu của mỗi ghép nối. Cụ thể khi có một tín hiệu X (là đầu ra
của nơ-rôn thứj) được đưa vào điểm đầu của kênh ghép nối nơ-rôn thứj đến nơ-rôn
24
28. 1 khi u > e
0 khi u < 9
(2 .2)
2. Đáp ứng đầu ra:
y = l ( u - ỡ ) = ị
với hàm truyền đạt là hàm bước nhảy Heaviside.
Các nơ-rôn sử dụng hàm ngưỡng còn được gọi là các nơ-rôn McCulloch —Pitts
do được các tác già này đưa ra lần đầu vào năm 1943 [McCulloch43]. Mô hình hàm
ngưỡng này đơn giản nhưng có yếu điểm là đạo hàm tại điểm u = 0 không tồn tại nên
trong những thuật toán học sừ dụng gradient được trình bày ờ các phần sau, ta thường
không sử dụng hàm ngưỡng này.
Bên cạnh đó, ta còn có cách thứ hai để thể hiện công thức trên của một nơ-rôn
trong đó giá trị ngưỡng phân cực 6 được thể hiện bằng hệ số khuếch đại cho một đầu
vào cố định “1” với hệ số khuếch đại là Wữ= - 9 . Mô hình của nơ-rôn với cách mô tả
này được thể hiện trên hình 2.5, theo đó đầu ra cùa nơ-rôn được tính theo công thức
hàm bước nhảy đơn vị:
y = l(u) =
1 khi u> 0
0 khi u< 0
N
với u = -Wj, trong đó J
C
0 = l;tv0 = -ớ.
i=0
(2.3)
Hình 2.5. Mô hình nơ-rôn với phân cực bias là đàu vào x0: chi tiết (a) và rút gọn (b)
Chú ỷ: Trong một số tài liệu và phần mềm (ví dụ như Matlab), ta có thể gặp các
dạng biểu diễn dưới dạng véc-tơ. Với x = [x1,x2,...,x Af]r và w = [W,Wz,...,WN^ tacó:
N
u = w0 + Ỵ j xi w, = wữ+ XT■w
i=l
Nếu sử dụng dạng biểu diễn mở rộng X = [l,x1,x2,...,.vA
,]r và w =[h'0,ivl,tv2.....W
NT
thì:
N
u = fV0 + Y jxr Wi = x T- w
/=I
26
29. 2.1.3. Các dạng hàm truyền đạt chính khác
Như đã nhắc tới ờ các phần trên, hàm truyền đạt ngưỡng khá giống với mô tả
hàm truyền đạt của nơ-rôn sinh học. Tuy nhiên việc sử dụng hàm truyền đạt này có
nhược điểm lớn là đạo hàm của hàm ngưỡng là hàm không liên tục (thực chất là hàm
xung Dirac), cụ thể:
Khi đó việc sử dụng các thuật toán tối ưu hóa với hàm ngưỡng sẽ khó khăn hơn
nhiều do trong đa số những thuật toán này sử dụng tới đạo hàm của các hàm truyền đạt.
Sau đây là một số hàm có đạo hàm liên tục thường được sử dụng đề thay thế hàm
ngưỡng trong các tài liệu về mạng nơ-rôn.
a) Hàm logsig hoặc sigmoid
Hàm có dạng đồng biến và có thể coi là hàm trung gian giữa hàm tuyến tính và
hàm ngưỡng. Hàm logsig với tham số a có thề đuợc tính theo công thức:
với a là hệ sổ dốc. Biểu diễn hàm logsig cho các giá trị a = 1,2 và 5 được thể hiện trên
hình 2.6. Khi a —
>00 ta có hàmf(u) tiến tới hàm ngưỡng. Hàm logsig có ưu điểm hơn
so với hàm ngưỡng là tồn tại đạo hàm tại mọi điểm.
(2.4)
logsiga (u) =
I+ e~"“
(2.5)
0
-5 -4 -3 -2 -1 0
X
2 5
Hình 2.6. Hàm truyền đạt logsig với các hệ số dốc a khác nhau
27
30. Hàm logsig có đạo hàm được tính theo công thức sau:
d , , -e -au(-a) a-e-°u
-j-logsiga(u) = -------= -------------— —
du (l + e-™) (l + e-au) (2.6)
= a ■
logsiga(u) ■
(l - logsiga(u))
(việc biểu diễn d f / du theo giá trị hàmf(u) sẽ giúp cho việc tính toán nhanh hơn như
sẽ thấy ở các mục sau).
b) Hàm tansig
Các hàm ngưỡng và hàm ìogsig đều có giá trị đầu ra thuộc khoảng từ 0 đến 1.
Trong những trường hợp cần có những đầu ra tín hiệu âm, ta thường sử dụng hàm
tansig với khoảng giá trị từ —
1 đến 1.
au __ nu
f(u) = tansiga(«) = ------ -----
eau + e~au (2.7)
= 2 -logsig2a(u)-
Đạo hàm của hàm tansig cũng có thể dễ dàng biểu diễn qua giá trị hàm số:
— lansigju) = ------—— — = a •(l -tansigị (u)) (2 .8)
du (ea“ + e-°u)
Hình 2.7. Hàm truyền đạt tansig với các hệ số dốc a khác nhau
28
31. c) Các hàm tuyến tinh hoặc tuyến tính từng đoạn
Mặc dù bản chất các hàm truyền cùa nơ-rôn thần kinh là các hàm phi tuyến, tuy
nhicn khi ứng dụng mô phỏng trong các bài toán thực tế, ta vẫn thường gặp các liên hệ
íuyến tính. Vì vậy nhiều ứng dụng mạng nơ-rôn đã sử dụng hàm truyền tuyến tính.
Ngoài mục đích này ra, hàm truyền tuyến tính còn có nhiều ưu điểm như quá trình tính
toán nhanh, giá trị đầu ra nơ-rôn không bị hạn chế (có thể tạo ra các giá trị từ -00 đến
+C
0 ). Hàm tuyến tính (purelin —Pure Linear Function) có dạng:
/ ( « ) = purelin(u) = a U + b (2.9a)
Hàm tuyến tính bão hòa (satlin - Saturated Linear Function): Trong một số
dạng mạng nơ-rôn như mạng Hamming, Hopfields, BAM,... , các nơ-rôn có hàm
truyền đạt là hàm tuyến tính bão hòa, được cho theo một trong công thức sau:
Hàm tuyến tính bão hòa dương:
1 k h i U > 1
f(u ) = satlin(u) = <u khi 0 <M<1 (2.9b)
0 khi u< 0
hoặc hàm tuyến tính bão hòa âm:
f(u ) = scitlin(u) =
1 khi u > 1
u khi —
1< M< 1
-1 khi u < -
(2.9c)
2.1.4. Ví dụ tính toán đáp ứng đầu ra cùa no*-rôn với các hàm
truyền đạt khác nhau
Ta có thể lấy ví dụ một nơ-rôn với hai đầu vào; ba trọng số
wữ= -0,2; =0,7; w2 = 0,5; hàm truyền ngưỡng. Khi đó ta có kết quả đầu ra của
nơ-rôn khi có các đầu vào nhị phân như trong bảng sau:
Xi X2 d u = wữxữ + WịX + W2X2
2
II
0 0 0 -0,2 0
0 1 1 0,3 1
1 0 1 0,5 1
1 1 1 1,0 1
Với hàm truyền đạt là các hàm cơ bản khác như logsig, lansig hay tuyến tính
bão hòa (satlin) thì các đáp ứng đầu ra sẽ là:
29
32. Xi Xĩ d u = ỈV0xữ+ ÌVịXị + fV2x2 y = logsig(u) y = tansig(u) y = satlin(u)
0 0 0 -0,2 0,450 -0,197 0
0 1 1 0,3 0,574 0,291 0,3
1 0 1 0,5 0,623 0,462 0,5
1 l 1 1,0 0,731 0,762 1,0
2.2. CÁC QUÁ TRÌNH HỌC VÀ KIẾM TRA CỦA NƠ-RÔN
Với cấu trúc và nguyên tắc hoạt động như đã trình bày ờ trên, ta thấy rang
nơ-rôn thực chất là một khối tính toán có hàm truyền đạt phi tuyến. Điều khiến cho
nơ-rôn trờ nên khác biệt so với các mô hình phi tuyến khác cùa toán học là đi kèm với
nơ-rôn, ta được trang bị các thuật toán học và quá trình đánh giá chất lượng cùa nơ-rỏn
thông qua việc kiểm tra trên các mẫu số liệu mới. Có thể nói mỗi mô hình thông minh
nói chung và mô hình nơ-rôn nói riêng đều có hai quá trình đặc trưng là quá trình học
(learning process) và quá trình kiếm tra (testing process). Sau đây chúng ta sẽ tìm hicu
về hai quá trình này đối với mô hình nơ-rôn cùa McCulloch - Pitts.
2.2.1. Quá trình học của nơ-rôn
Đặc trưng quan trọng nhất cùa mạng nơ-rôn là khá năng mạng học từ môi
trường xung quanh nhằm mục đích giảm sai số và nâng cao chất lượng hoạt động của
mạng. Quá trình học của nơ-rôn thường là một quá trình lặp trong đó các trọng số ghcp
nối cũng như giá trị ngưỡng phân cực của nơ-rôn được điều chinh thích nghi. Ta nói
rằng sau mỗi một lần lặp, nơ-rôn học được nhiều hom từ môi trường.
Hiện rất nhiều định nghĩa về quá trinh học trong nhiều ngành nghiên cứu khác
nhau như triết học, tâm lý học, ngay cả trong các nghiên cứu về mạng nơ-rôn. Ta có
thể sứ dụng định nghĩa của Mendel và McClaren [Mendel70]: Học là một quá trình,
trong đó các tham số tự do cùa một (mạng) nơ-rôn được điều chinh thích nghi khi
được kích thích bởi môi trường bên ngoài. Dạng cùa quá trình học được xác định bời
phương pháp điểu chinh các thông số.
Định nghĩa trên của quá trinh học bao gồm ba bước:
1. Nơ-rôn được kích thích bời môi trường bên ngoài.
2. Nơ-rôn điều chinh các thông số của minh khi bị kích thích.
3. Đáp úng đầu ra cùa mạng nơ-rôn sau khi điều chình cũng sẽ thay đồi so với
trước khi điều chinh.
Quá trinh học sẽ được thực hiện theo những quy trình chặt chẽ còn được gọi là
các thuật toán học. Với mỗi mạng nơ-rôn, ta có rất nhiều các thuật toán học khác nhau
đã được nghiên cứu và đề xuất. Các thuật toán này đều có những ưu, nhược điểm riêng
cùa mình và cũng như các giải pháp cho các vấn đề kỹ thuật khác, đối với mỗi một bài
30
33. toán cụ thề, ta cần xem xét và đánh giá các thuật toán để lựa chọn được một thuật toán
“tôt” đê sử dụng.
Nơ-rôn McCulloch - Pitts là một mô hình có hàm truyền đạt phi tuyến từ đầu
vào tới đầu ra nên tập các mẫu số liệu bao gồm cà đầu vào và đầu ra tương ứng. Thuật
toán hợc cho nơ-rôn thuộc về nhóm các thuật toán học có hướng dẫn. Quá trình học
được định nghĩa là quá trinh tìm kiếm các thông số của nơ-rôn sao cho đối với một tập
hợp p mẫu số liệu đầu vào cho trước, nơ-rôn sẽ xử lý và đưa ra được
những đáp ứng ịy ,y 2,---,yp tương ứng "tốt nhất", có nghĩa là các đáp ứng sao cho
giá tri một hàm mục tiêu cho trước đạt được cực trị mong muốn.
Hinh 2.8. Hệ xây dựng mõ hình xắp xi một đói tượng cho trước
(phối họp sứ dụng sai số đầu ra e = y - d )
Với tập số liệu học gồm p mẫu { x , v ớ i / = 1 , v é c - t ơ đầu vào
X, e E ;V, giá trị đích (destination) cần đạt dị € M (do ta đang xét nơ-rôn đơn lẻ nên
chi có một tín hiệu đầu ra), ta cần xác định nơ-rôn có N đầu vào và một đầu ra với hàm
truyền đạtf() sao cho:
Vi. f {*.,)* dt (2.10)
hay ta có thể sử dụng hàm mục tiêu là tổng các bình phương sai số:
E = Ỳ Ẳ f ( x i ) ~ d i ) 2 ^ m in ( 2 1 1 )
1 Í=1
Trên hình 2.8 là sơ đồ khối chức năng mô tả quá trình học này. “Hướng dẫn”
được hiểu là tập hợp các kiến thức được trích ra từ môi trường. Các kiến thức được xây
dựng dưới dạng các cặp mẩu vào - ra (x ,d )(input-output samples), trong đó X là véc-tơ
đầu vào mẫu cònd là đầu ra mẫu tương úng (còn gọilà đáp án tương ứngvới đầu vào x).
Khi cho nơ-rônhọc theo một mẫu, đầu tiên chúngta cho X vàođầu vào của nơ-rôn,
nơ-rôn sẽ tổ chức tính toán với đầu vào mới và đưa ra đáp ứng y. Ta sẽ có đáp ứ n g/
31
34. thường sai lệch so với giá trị đích cần đạt là d, khi đó tín hiệu sai số e = y - d sẽ được
sử dụng để điều chình các thông số cùa hệ thống học nhằm mục đích giảm giá trị e về
nhỏ nhất có thể. Khi sai số e = 0 thì nơ-rôn sẽ dừng quá trình học và các tham số của
nơ-rôn được giữ nguyên.
Do mô hình nơ-rôn thường là mô hình có hàm truyền phi tuyến nên thực chất
đây là bài toán tối ưu hóa phi tuyến hay còn gọi là bài toán tìm cực trị của hàm phi
tuyến đa biến trong không gian đa chiều. Các bài toán này khó có lời giải trực tiếp đưa
ra nghiệm tổng quát mà các thuật toán thường là thuật toán lặp để tìm nghiệm cận tối
ưu. Khi quá trinh lặp được kết thúc, ta nói rằng mô hình học đã thu nhận được các
thông tin của tập mẫu, qua đó đã phần nào học được về vấn đề từ môi trường xung
quanh. Neu chất lượng học đã có thể chấp nhận được, ta sẽ tách phần hướng dẫn và đề
mô hình học hoạt động độc lập. Tuy nhiên do tập mẫu thường có kích thước hạn chế,
không thể chứa hết tất cả các trường hợp có thể. Vì vậy ngoài việc học xong tập mẫu,
ta còn cần đánh giá khả năng hoạt động cùa mô hình đối với các trường hợp còn lại.
Ta có thể lấy ví dụ một nơ-rôn mô phỏng hàm lô-gíc OR, tức là đầu ra của
nơ-rôn (như đã trình bày trong phần 2.1 ờ trên) y = xI OR x2 . Sừ dụng các kết quả đã
có ở trên (ba trọng số wữ= -0,2; W =0,7; w2 = 0,5; hàm truyền ngưỡng). Khi đó ta
có bảng sau:
Xi Xỉ d u = w ax 0 + PVịXị + ỈV2X2
3
II
^3
1
II
*
>
0 0 0 - 0,2 0 0
0 1 1 0,3 1 0
1 0 1 0,5 1 0
1 1 1 1,0 1 0
Ta có thể nhận thấy với hàm truyền đạt ngưỡng, nơ-rôn đã tái tạo chính xác cả
bốn trường hợp mẫu của hàm lô-gic OR hai biến.
Xét hàm truyền đạt của nơ-rôn là hàm logsig, khi đó đầu ra của nơ-rôn được
cho theo bảng sau:
X/ X2 d u = W0xữ+ ÍVịXị + fV2x2 y = logsig(u) e = y - d
0 0 0 - 0,2 0,450 0,450
0 1 1 0,3 0,574 -0,426
1 0 1 0,5 0,623 -0,377
1 1 1 1,0 0,731 -0,269
32
35. Trong Tường hợp này, tín hiệu đầu ra của nơ-rôn khá “lệch” so với giá trị đích
cần đạt. Khi Có nơ-rôn cần phải “học” đề có thể giảm được các sai số đó (tương đương
với các đầu n của nơ-rôn tiến gần về các giá trị đích hơn). Với một bộ số liệu mẫu cho
trước, với hàm truyền cho tnrớc, nhiệm vụ còn lại là tìm các giá trị trọng số ghép nối
[W] để sai sò đầu ra nhỏ nhất.
Chú ỷ. Đối với mô hình nơ-rôn McCulloch - Pitts thì số lượng đầu vào của
nơ-rôn N phụ thuộc vào bộ mẫu số liệu, dạng cùa hàm truyền đạt của nơ-rôn cần
chọn trước. Hàm truyền của nơ-rôn thường được xác định dựa trên mức tín hiệu đầu
ra cần có. Nếu các giá trị đằu ra chỉ nằm trong đoạn (0,1) thì ta có thể dùng hàm
logsig. Nếu chi nằm trong đoạn (-1,1) thì ta có thể dùng hàm tansig. Neu có thê nam
ngoài đoạn (-1,1) thì ta có thể dùng hàm purelin. Tuy nhiên trong thực tế, ta có thể
chuẩn hóa đầu ra của số liệu sao cho chi nằm trong đoạn ( - 1,1) để có thể sử dụng hàm
tansig.
2.2.2. Thuật toán học có hướng dẫn của no*-rôn
Có rất nhiều thuật toán học đã đuợc nghiên cứu và phát triển. Trong phần này ta
sẽ trình bày về một thuật toán cơ bản nhất là học có hướng dan (supervised learning,
learning with c teacher) trên cơ sở lan truyền ngược sai số (error backpropagation).
Thuật toán này được phát triển dựa trên thuật toán bước giảm cực đại (steepest descent)
để xác định giá trị cực tiểu của một hàm số.
a) Thuật toán bước giảm cực đại
Nội dun' của thuật toán bước giảm cực đại có thể được trình bày tóm tắt như
sau: “Cho một làmf(x) bất kỳ, tìm điểm cực tiểu xm
in của hàm số đã cho trong trường
h ự p v iệ c g iá i p k u ư n g t r in h f x ) — 0 k h ô n g k h ù th i” .
Như ta cã biết, đối với những hàm đơn giản, ta có thể sử dụng phương pháp tìm
các điểm cực tiiu bằng cách giải phương trình f'ịx ) = 0 , nhưng trong nhiều trường hợp
việc giải phươig trình này cũng không dễ dàng, khi đó ta có thể sử dụng phương pháp
bước giảm cực đại. Nội dung chính của thuật toán như sau:
Xuất phấ từ một giá trị khởi đầu ta cần tìm điểmx(l) sao c h o /íx (1)ì < / Ị x (0)j .
Sau đó tìm điển x{2) sao cho / Ị x <
2)ì< / ( * (l)) • Nếu tiếp tục quá trình tìm kiếm như
vậy, ta sẽ thu drợc kết quả là một chuỗi mà giá trị hàm số giảm dần và
sẽ đạt tới một tong các cực tiểu của hàmf(x). Khi đó:
(2.12)
33
36. Theo thuật toán bước giảm cực đại, ta sẽ có công thức xác định bước tiếp theo là:
x('+1
) = x (') - 7 ^
dx
(2.13)
trong đó: 7
7 - hệ số bước học. Công thức này là hệ quả của phép khai triển Tay-lor
của hàm số/lân cận điểm x(l), theo đó:
/ ( x (' ) + a ) « / ( x (0) + A - / ’(x('>) + o ( a 2) (2.14)
Nếu chọn A = -r]- f'(x ^ j với r) đủ nhỏ thì:
/ ( * (,) + a) */(*<'>) - 7 .( / ’(* (0))2 + o ( a 2) < f ( x (l)) (2.15)
Từ đó ta có nếu chọn J
C
(,+1) = x(,) + A = J
E
(,) -77 —
ôx
thì giá trị hàm số tại
điểm x(,+l) sẽ giảm (với ỈỊ đủ nhỏ). Minh họa của thuật toán này được thể hiện trên
hình 2.9. Từ điềm A ứng với hoành độ X , ta xác định tiếp tuyến với đồ thị hàm số tại
A và trên phương tiếp tuyến đó xác định điểm B (độ dài AB được xác định bời hệ số
bước học). Hoành độ của B tương ứng với điểm lặp x('+
1/l của bước tính toán hiện thời.
Hình 2.9. Nguyên tắc tìm điểm tiép theo trong thuật toán bước giảm cực đại
Trẽn hình 2.10 là minh họa trường hợp bước học 7 quá lớn nên điểm x<(+l)
chuyền sang vùng khác có giá trị lớn hơn giá trị hàm số tại điểm x(l).
34
37. Hình 2.10. Minh họa trường hợp hệ số bước học quá lớn dẫn tới điểm B vượt quá xa và
giá trị hàm số ứng với XẨ
l“ v lớn hom giá trị tại điểm A
b) Sừ dụng thuật toán bước giám cực đại cho một nơ-rôn
Trong quá trình học của mạng nơ-rôn, ta cần tối ưu hóa giá trị hàm sai số hay
nói cách khác là cần xác định điểm cực tiều của hàm sai số. Với mô hình nơ-rôn như
trên hình 2.5 và bộ số liệu p mẫu {xj.rfj},* = ,...p , ta có tín hiệu đầu ra ứng với mẫu
đầu vàox, là:
y ,= f
j=0
Sai số trên bộ số liệu học là:
•i=l
(2 .16)
(2.17)
Ta cần tỉm các trọng số Wj ( j = 0,1,..., N ) hay còn gọi là véc-tơ trọng số w để
giảm sai số cho theo (2.17). Bắt đầu từ một bộ giá trị ban đầu nào đó
(0) (0) (0) “I J
wữ ,Wị ,...,W N , theo công thức (2.13), các trọng sô được điêu chình
(0)
w
thích nghi theo công thức lặp:
35
38. nr('+,) _ «/(,) dE
W j = f V j - T]
dWj
(2 . 18)
với / = 0,1,...
Trong đỏ gradient cúa sai số theo các trọng số được xác định từ các công thức
(2.16) và (2.17):
ÕE
ÕW,
= Ể u - 4 )
a i=|
dy,-
= í > , - 4 ) / ( í x * v
i=l v>=° /
=Ẻ ừ , - 4 ) / ( ĩ x - * 0
Í=1 V-/=° /
(2.19)
Chú ý là phương pháp này sử dụng công thức đạo hàm của hàm truyền đạt nên
việc sử dụng hàm truyền đạt ngưỡng không thuận tiện cho phương pháp này.
Ta lấy ví dụ minh họa ứng dụng công thức trên với trường hợp hàm OR với một
mẫu (p = 1) X| = x2 = 1-» d = Xị o r *2=1; các trọng số ban đầu
[w]t0
>= [W
o<
0
) ^|(0) ^2
*
0)J=[-0,2 0,7 0,5]; nơ-rôn có hàm truyền logsig.
Khi đó y°> = f[w k ữ)xữ+ w tữ)x + fV2
(0)x2'j= /(1 ,0 ) = 0,731.
Sai số ban đầu E(0) = - ( y (0) - d ) 2 = -(0,731 - l )2 =0,0362 .
Các giá trị gradient:
ÔE
ew n
ÕE
ÔỈV,
ÕE
ÔW,
[W
]=[W
](C
[wHw]<
0
=(/<»- d ) r ( w Ị » + w ị « ) x ữ= ( / » - dy y i - y « » ) X
o
= (0,731 -1 ) 0,731 (1-0,731) 1= -0,0529
=(y{ 0 ) +0 f >
*, +fV2
(0)x2)xl = (y(0)- d ) y (0)(l - / ° v .
= -0,0529
= (y (0)- d ) / ' ( i v 0
(0> + w ị° + ỈVị0)x2)x2 = (y(0)- d ) / ° 1- y o,)*2
= -0,0529
36
39. (Đây là trường hợp khá đặc biệt khi cả ba tín hiệu đầu vào đều bằng nhau
J
C
0 = Xị = x2 =1, dẫn tới các giá trị gradient cũng bằng nhau cho cả ba trọng số).
Chọn hệ số học 77= 1, ta có các trọng số kết nối mới:
< > = < » ■
ÕE
1õwn
dfV,
ÕE
w]=[wf
[w]=[wf
= -0,2 + 1 0 ,0529 = -0 ,147
= 0,7 + 1 0,0529 = 0,753
= 0,5 + 1 0,0529 = 0,553
[WHW](0)
Bộ trọng số mới sau bước học thứ nhất:
[W](I)=ỊV 0
(I) fVị0) ^ 2
(l)] = [-0,147 0,753 0,553]
Giá trị đầu ra mới:
/ ) = / ( < ,)x0 + < )jc
1+W'2
(1)^2) = /( 1 >159) = 0,761
Sai số ờ bước thứ nhất:
£<" = ! ( _ /' ) -r f)2 = 1(0,761 - 1)2 = 0 ,0286 <0,0362 = E(0)
Như vậy ta thấy sau một bước điều chinh, giá trị của hàm sai số đã giảm xuống.
Tiếp tục thực hiện như vậy liên tiếp nhiều bước, ta sẽ có giá trị cùa sai số giàm dần như
trên hình 2.11 là biểu diễn quá trình này cho 100 bước đầu tiên.
Hình 2.11. Đồ thị giá trị hàm sai số giảm trong quá trình học
37
40. Giá trị sai số sau 100 bước đạt is*100*=0,00947 . Trên đồ thị hình 2.12 là sự
thay đổi của ba trọng số ghép nối của nơ-rôn trong quá trình học trên.
Hình 2.12. Két quả 100 bước điều chình thích nghi giá trị cùa ba trọng số ghép nối
trong quá trình học
Trên đây !à một số kết quả cho trường hợp học một mẫu. Tiếp theo ta xét trường
hợp học với ba mẫu đồng thời:
STT Xi X2 d
1 0 0 0
2 0 1 1
3 1 1 1
Các đầu ra của nơ-rôn cho ba mẫu trước khi học là:
y t = 0,45; y2 = 0,574; y 3 =0,731
ứng với sai số theo công thức (2.17) là:
£ = ị Ẻ ừ , - ^ ) 2 = |[ ( 0 ,4 5 - 0 ) 2 + (0)5 7 4 -l)2 + (0 ,7 3 1 -l)2] = 0,228
Các đầu ra của nơ-rôn sau khi học 100 bước là:
y, = 0,456; y 2 = 0,604; y3 = 0,76
ứng với sai số theo công thức (2.17) là:
£ = -£ (> > ,.-á ,.)2 = i[(0 ,4 5 6 -0 )2 + (0 ,6 0 4 -l)2 + (0 ,7 6 -l)2] = 0;211 <0,228
38
41. Sừ dụng các công thức học (2.18) với p = 3 và với các giá trị khởi tạo ban đầu
tương tự như trên, ta thu được kết quả học ba mẫu có đuờng sai sổ tồng cộng được thể
hiện trên hình 2.13.
Bước học
Hình 2.13. Két quả học 100 bước với ba mầu học của nơ-rôn
c) Thuật toán L-M
Các thuật toán sử dụng gradient (đạo hàm bậc nhất) có tốc độ hội tụ chậm. Khi
đó, nhóm thuật toán thông dụng thứ hai để điều chinh thích nghi các tham số của mạng
nơ-rôn là thuật toán Levenberg-Marquardt (L-M). Thuật toán này dựa trên khai triển
bậc hai của khai triển Taylor. Xét sai số theo công thức (2.17) là hàm phụ thuộc các
trọng số ghép nối của nơ-rôn, khi đó ta khai triển hàm E lân cận điểm w - các giá trị
trọng số hiện tại sẽ được:
1
2 '
E ạv + p) = EỢT) + [#(W0]7 p + ị p TH(tV)p + ỡ (p 3) (2.20)
vói p - khoảng lân cận khai triển, g(W) = VE =
ÔE ÕE ÔE
dfV,' ÕW, '" " d w „
là véc-tơ
gradient của hàm E theo các trọng số ghép nối (được nhóm lại trong ma trận W), còn H
là ma trận vuông đối xứng cùa các đạo hàm bậc hai (còn gọi là ma trận Hessian) của E
theo w với:
H(W) = [ //,] =
õ2E
õtVịõỉVị
ô2E
dWx
ÔWn
ô2E
dtv„õfv.
õ2E
ÕW„ÕW„
(2 .21)
39
42. Tại điểm cực tiểu (đang cần tìm) của hàm số ta sẽ có g(W ) = 0 và H(W) xác
định dương. Xét bước lặp thứ t giá trị các trọng số là W*'1, già thiết cần tìm điểm xấp
xi tiếp theo w ('+l) = w (,) + p tiến gần điểm cực tiểu của hàm số, khi đó ta có:
a £ ÍW ơ+l)ì ổ£ÍW <
') +p)
— ------'-= — i—--------- = 0 (2.22)
ổp ỡp
hay:
g (w <o) + H (w ('))p(') =0 (2.23)
Từ đó suy ra công thức xác định phương biến thiên của véc-tơ trọng số về phía
cực tiểu địa phương của hàm sai số là:
P(,)= - [ h (w ơ))] 'g ( w (,)) (2.24)
Bổ sung thêm hệ số bước để tránh các trường hợp bước dịch chuyển quá lớn, ta
có công thức lặp theo phương pháp Levenberg - Marquarđt như sau:
W «+1>= W (') - ^ [ h ( w (,)) J ' g (w ơ)) (2.25)
Ghi chú: v ề mặt lý thuyết, nếu ta sử dụng các khai triển Taylor bậc cao hơn thì
sẽ cỏ được tốc độ hội tụ nhanh hơn, tuy nhiên các công thức khi đó sẽ rất phức tạp và
cồng kềnh. Vì vậy nói chung ta thường chi gặp đến các công thức khai triển đạo hàm
bậc hai trong các thuật toán học cùa các mạng nơ-rôn nói chung.
0í
---------.------ 1
-------—
»
-----*
--------1
--------1
------- —
---------------- ----------------------- 1
-
ì
0 10 20 30 40 50 60 70 8060 100
Bước học
Hình 2.14. Két quà 100 bước học nơ -ròn theo thuật toán Levenberg - Marquadrt
40
43. Trường hợp học với nhiều mẫu, ta xét ví dụ với ba mẫu như trường hợp trên, sử
dụng các công thức học (2.25) với p = 3 và với các giá trị khởi tạo bạn đầu tương tự
như trên, ta thu được đường sai số tổng cộng cho quá trinh học ba mẫu được thể hiện
trên hình 2.14. Các đầu ra của nơ-rôn sau khi học 100 bước là:
y t =0,15;y 2 =0,887; y 3= 0,965
ứng với sai số theo công thức (2.17) là:
E = —^ (.v , - d ị) 2 = —1"(0,15-0)2 + (0,887 —l) 2 + (0 ,9 6 5 -l)2l = 0,0182
2 Í=1 2 L
tốt hơn so với kết quả từ phương pháp sừ dụng đạo hàm bậc nhất là E = 0,211.
2.2.3. Một Số phương pháp nâng cao chất lượng của quá trình
học sử dụng gradient
a) Học với hệ số học thích nghi
Như ta có thể thấy trên hình 2.10, hệ số học rj có ảnh hường lớn tới hiệu quả cùa
quá trình học. Cách đơn giản nhất là chọn hệ sổ học 77cố định. Tuy nhiên đây lại là
phương pháp kém hiệu quà do quá trình học thường rơi vào cực tiểu địa phương hoặc
cần số bước lặp lớn để đạt được độ chính xác cho trước. Neu hệ số học 77quá nhỏ sẽ
dẫn tới số bước lặp lớn, trong khi hệ số học 7
7quá lớn sẽ dẫn tới hiện tượng dao động
xung quanh điểm cực tiểu.
Để khắc phục nhược điểm này, ta có thể sừ dụng phương pháp hệ số học thích
nghi. Phương pháp hệ số học thích nghi thay đổi hệ số học tùy thuộc kết quả hàm sai số
thu được. Nếu nhir tại bưórc lặp thử k. sai sổ * có nghĩa là xu hướng hoc
đang tốt và ta có thể tăng hệ số bước học với mong muốn tăng tốc độ hội tụ cùa quá
trình học. Khi đó hệ số bước học sẽ được tăng lên:
nik+l)=r?w -einc (2.26)
với einc là hệ số tăng bước học (learning coefficient increment). Còn nếu như sai số
tăng lên {E(k^> có nghĩa là hệ số bước học đang quá lớn, khi đó hệ số bước học
sẽ được giảm đi theo liên hệ:
rỊạ+') =TỊ<k)-£Jec (2.27)
với £dec là hệ số giảm bước học (learning coefficient decrement). Trong các chương
trình mô phòng, ta thường sử dụng các giá trị sau: £wc = 1,02 hoặc 1,05 hay 1,10 và
Edec =0>7 hoặc 0,6 hay 0,5.
41
44. Thử nghiệm lại với nơ-rôn với một mẫu học:
Hình 2.15. KẾt quả học 100 bước bằng thuật toán học với hệ số học thích nghi
Sau 100 bước học, ta có đáp ứng đầu ra y = 0,994 xấp xi giá trị đích d = l với
sai số £ = l,8 icr5 nhỏ hơn rất nhiều so với sai số E = 0,00947 như trên hình 2.11.
1401
----------- ------------------------1
-----
Hình 2.16. Sự thay đổi của hệ số học trong quá trinh học với hệ số học thích nghi
42
45. Hình 2.16 biểu diễn sự thay đồi của hệ số bước học trong quá trình học 100 bước
trên. Ta có thể quan sát thấy đây là trường hợp học đơn giản nên sai số liên tục giảm,
dẫn tới việc hệ số liên tục được tăng lên, tốc độ học đẩy nhanh và sai số sau 100 bước
rất nhỏ.
Đối với trường hợp học ba mẫu, hoàn toàn tương tự ta có kết quả học như trên
hình 2.17.
Hình 2.17. Két quá học 100 bước với bộ só liệu ba mẫu và
thuật toán học sứ dụng hệ số học thích nghi
Các đầu ra của nơ-rôn sau khi học 100 bước là: _
V
| =0,0306; yỉ — 0,976;
y3 =0,995 ứng với sai số theo công thức (2.17) là E = 7,678 10-4 rất nhỏ so với sai
số A
' = 0,211 đạt được bàng thuật toán học gradient thông Ihường. Sai sỏ
E = 7,678 lO”4 còn tốt hơn cà trường hợp sử dụng thuật toán L-M (iì = 0,0181)như
đã trình bày ở phần trẽn.
Chú ý: Ta có thổ sử dụng phối hợp công thức (2.25) với hệ số học thích nghi để
thu được kết quả tốt hơn nữa, tuy nhiên cần chú ý là các phần mềm tính toán sẽ càng
phức tạp hon.
b) Phương pháp học với quán tinh
Trong phương pháp học với quán tính, các trọng số cùa mạng được cập nhật
theo công thức sau:
A tv (l) = -t]VEU) + (2.28)
với AW(,) = w ơ+l> - w(í) là lượng điều chỉnh ở bước thứ t, a (,) được gọi là hệ số
quán tính và có giá trị nằm trong khoảng (0,1).
43
46. Thành phần đầu tiên cùa vế phải chính là gradient tính theo phương pháp bước
giảm cực đại, thành phần thứ hai phụ thuộc vào độ cập nhật của bước trước và không
phụ thuộc vào gradient của bước hiện tại. Hệ số a (,) càng lớn thì thành phần quán tính
càng ảnh hưởng tới quá trình học. Đặc biệt ta có thể thấy mức độ ảnh hường lớn tại các
khoảng hàm số có dạng bằng phẳng hoặc tại gần các điểm cực tiểu.
Tại các khoảng bằng phẳng của của hàm số, gradient cùa các bước liên tiếp sẽ
có giá trị gần bằng nhau. Với:
ta có:
Afy(0 a ------l — VEự)
1- a ự)
Với 0 < a(l) <1 ta có — Ỉ-ỴY> 1, hay nói cách khác việc sử dụng hệ số quán
1 -c r °
tính tương đương với việc sử dụng hệ số học lớn hơn và điều này sẽ giúp cho quá trình
học diễn ra nhanh hơn (ví dụ với a = 0,9, ta có tốc độ học được tăng lên 10 lần).
Việc lựa chọn giá trị hệ số quán tính cho một bài toán cụ thể không phải là một
nhiệm vụ dễ dàng, ví dụ như hệ sổ quán tính lớn sẽ gây khó khăn trong trường hợp
điềm đang xét của hàm mục tiêu có độ dốc lớn. Thông thường việc lựa chọn này được
thực hiện bằng việc thừ nghiệm với các giá trị khác nhau và chọn trường hợp có kêt
quả tốt nhất.
Quay lại ví dụ học ba mẫu bằng thuật toán bước giàm cực đại, khi sừ dụng thuật
toán học có quán tính với các hệ số quán tính a (,) khác nhau, ta có được kết quả tổng
hợp như trong bảng sau:
Hệ số quán tinh Các giá trị đầu ra Các giá trị đích Sai số
a<,) = 0 (thuật toán
y t =0,456 d ị= 0 £ = 0,211
bước giảm cực đại) y 2 = 0,604 d2 =
3*3 =0,76 <
*3= 1
a (O=0,5 y t =0,185 dx= 0 £ = 0,0275
>
>
2 =0,863 d2 =
>»3=0,956 d, =
ft
II
o
* = 0 ,1 7 dx= 0 £ = 0,0319
y2 =0,873 d2 =
y-Ị = 0,863 d, = 1
44
47. c) xấp xi thuật toán L-M
Việc tính toán theo công thức (2.24) khá phức tạp do ta phải sử dụng công thức
nghịch đào ma trận H. Để khắc phục nhược điểm này, thuật toán L-M đã thay thế
H(W) [Hagan94] bàng giá trị gần đúng G(W) được xác định như sau. Với:
trong đó:
và các ký hiệu:
£(W ) = ỉf > ? ( W )
1 i=l
e,(w ) = > ,(w )-rf,
(2.29)
(2.30)
e (w ) =
e,(W )
e2(W)
** (w )
J(W ) =
Ô
C
ị ỡe,
ôỉVị ẽW2 ẽW„
õ e ĩ S e 2 õe2
d w 2 ÕWn
5 e n õ e n
õtV ị Õ W 2 d w n _
(2.31)
Khi đó véc-tơ gradient g và ma trận G xấp xi ma trận Hessian H được xác định
bới:
g(W) = [J(W)]r e(W)
g (w )= [j (w )]7
'j (w ) + r (w )
(2.32)
(2.33)
với R(W) là thành phần khai triển bậc cao của H theo w. Tuy nhiên việc xác định giá
tri chính xác của R khá khó khăn nên thuật toán L-M đã thay thành phần này bằng
thành phần vl với V thay đổi trong quá trình học. Cụ thể, tại bước thứ t ta có:
;Ịw (,)) = [ J (w (0)J J (W(,)) + v(,,1 (2.34)
Tại các bước học đầu tiên (k nhỏ), ta có w (k) sai khác lớn so với vị trí cực tiểu,
do đó cần chọn v(,) rất lớn (so với giá trị riêng lớn nhất của ma trận
[ j ( w (,))]r j ( w (,)jl để có:
g (w w ) s v w 1 (2.35)
và phương biến thiên sẽ được tính theo phương bước giảm cực đại:
g(w<'>)
„(0 . (2.36)
45