Xem mẫu
- J NHÀ XUẤT BẢN BÁCH KHOA - HÀ NỘI
- PGS. TSKH. TRÀN HOÀI LINH
MẠNG NƠ-RÔN
VÀ ỦNG DỤNG TRONG x ử LÝ TÍN HIỆU
NHÀ XUÁT BẢN BÁCH KHOA - HÀ NỘI
- 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 phám của Thư viện Quốc gia Việt Nam
Trần Hoài Linh
Mạng nơ-rôn và ứng dụng trong xử iý tín hiệu/Trần Hoài Linh. - H. : Bách
khoa Hà Nội, 2014. - 204tr. ; 24cm
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 -d c 14
BKF0037p-ClP
2
- LỜI NÓI ĐÀU
Cuốn giáo trình Mạng nơ—rôn và ứng dụng trong x ử lý tín 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ưcmg, 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, ướ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 trinh, hy vọng 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ừ đó cỏ thể 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ả.
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 ơn.
Tác giá
Kính 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
- MỤC LỤC
LỜI NỎIĐẰU................................................................................................................. 3
CHƯƠNG 1. MỘT SỐ CÁC KHÁI NIỆM c ơ 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á trinh CO’ bản cùa mạng no>-rôn.............................................. 18
1.3.1. Quá trinh học................................................................................... 18
1.3.2. Quá trinh kiểm tra............................................................................ 19
1.4. Các ứng dụng của mạng no>-rỏn.......................................................... 19
CHƯƠNG 2. MÔ HÌNH NƠ-RỎN.............................................................................22
2.1. No>-rôn sinh học và mô hình toán học của no>-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ụ tinh 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á trình 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á trình 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. No>-rôn và mạng no>-rôn nhân tạ o ........................................................ 49
3.2. Các cấu trúc mạng no>-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 M LP.............. 58
3.6. Thuật toán Levenberg - Marquardt....................................................... 59
3.7. Thuật toán học cùa Hebb.........................................................................59
4
- 3.8. Vần đề mạng học quá khớp (overtitting) và mạng học không đủ
(undertitting).............................................................................................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 RM LP...............................................................................................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 R TR N ............................................................................................... 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. Ví 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 Hopíield...........................................................89
4.4.2. Thuật toán học của mạng Hoptield................................................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. Ví dụ minh họa............................................................................... 97
4.6. Mạng BA M ............................................................................................... 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 TÁC 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
- 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. Tinh đá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 TS 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......................... 167
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 dồ....................... ................................... 174
7.5. Bài toán phân loại các thành phần ừong hỗn họp khi............................. 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õ hình mạch mô phòng các khối no>-rôn cơ 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 no^-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
- Chương 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, thực hiện được những khối lượng công việc mà con người không thể nào đảm
nhiệm trong thời gian ngắn. Đồng thời 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ề tư duy, phân tích và xừ lý
7
- 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ệm
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 tĩnh vực xừ lý 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á trình 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 nhu 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
- 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ổ xct 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, ướ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. Chì 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 trinh 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
- 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á trinh 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ó thể đư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á
trinh 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 phcp ta tạo được những mô hình đe 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ụ nhir 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
thì: Mạng nơ-rôn là một hệ thống bao gồm rắt nhiều các nơ-rôn đơn 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 dề giải quyct 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
- - 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
cá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 gì 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 trưng 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
được thể hiện trên hình 1.2. Môi truờng bên ngoài sẽ cung cấp cho hệ thống các thông
tin thông qua khối phân tích và học tập (Learning Element) để phục vụ cho việc điều
chinh 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
hó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
khi 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
thao tác cần dượ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ình 1.2. Mô hình đon giản cho quá trình học của một hệ thống
Mạng nơ-rôn nhân tạo (hay còn gọi ngan gọn là mạng nơ-rôn) là một trong
nhữ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
vớ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
cầ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
cho 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
tĩ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
vào mới, chưa xuất hiện trong quá trình xây dựng mô hình.
Il
- 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 cho
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à Pitts đã 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 bất
kỳ. Đây là một bước tiến rất lern 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ế thống kê.
Tuy nhiên phải hơn 30 năm sau, Hopficld 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 chì 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à che độ 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 đượ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 Morgenstern đã đư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 o f Games and Economic Behavior. Cũng van 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. I f you will tell me precisely what it
is that a machine cannot do, then I can always make a machine which will do just 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
- như các ngài có thể mô tả chính 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
nham 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 o f Behavior, trong đó cơ chế sinh - hóa của
quá trinh học thông qua việc điều chinh trọng số ghcp 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 trình đầ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 Hcbb. Các kết quà tính
toán cho thấ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 dẫn (supervised
learning). Công trình này dã dưa ra lý thuyết hội tụ của quá trình 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 chơi 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ả nghicn 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
- 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 đơn giản có thể giải quyết được rất nhiều lớp bài toán. Nhưng 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ự to
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 \ụ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 dược các mạng hồi quy sử dụ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 hm trữ trrng
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 ý ràng ý
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à trcng
công trình của Hopficld. Cùng trong năm này, Kohonen đã đưa ra mô hình mạig
Kohonen-SOM {Kohonen self-organising maps) cho các lưới trong không gian nột
chiều và không gian hai chiều. Mạng Kohonen đã nhanh chóng trờ thành một trcng
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 trcng
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 nự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ô phcng
14
- 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 dựa trên lý thuyết ve 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 no>-rôn nhản tạo dã đưực nghiên cứu
Cấu trúc Tên mang Tác giả để xuất Năm
Tuyển tính (Linear) Hebbian Hebb 1949
Adaline Widrow và Hoff I960
Higher Order Bishop 1995
Functional Link Pao 1989
Truyền thảng đa lớp MLP Bishop 1995
(Multi-laver Feedforward)
BackProp Rumelhart, Hinton và 1986
Williams
Cascade Correlation Fahlman và Lebicre 1990
QuickProp Fahlman 1989
RPROP Riedmiller và Braun 1993
RBF Fausctt 1994
OLS (Orthogonal Least Chen, Cowan và 1991
Squares) Grant
15
¥
- Mạng phân nhóm LVQ (Learning Vector Kohonen 1988
(Classification Only) Quantization)
PNN (Probabilistic Specht 1990
Neural Networks)
Mạng ước lượng GNN (General Watson và Nadaraya 1964
(Regression Only) Regression Neural
Network)
Mạng có phản hồi BAM (Bidirectional Kosko 1992
(Recurrent Network) Associative Memory)
Boltzman Machine Ackley 1985
BTT (Back-propagation Wcrbos 1990
Through Time)
Elman Elman 1990
FiR (Finite Impulse Wan 1990
Response)
RTRN (Real-Time Williams và Zipser 1989
Recurrent Network)
RB (Recurrent Back- Pineda 1989
propagation)
TDNN (Time-Delay Lang, Waibel và 1990
Neural Network) Hinton
Mạng nơ-rôn cạnh tranh Grossberg Grossberg 1976
(Competitive Vector
Quantization)
Kohoncn Kohonen 1984
Conscience Desieno 1988
Mạng nơ-rôn tự chức Kohonen Kohonen 1995
(Self-organizing Map)
GTM Bishop, Svenson và 1997
Williams
LL (Local Linear) Mulier và 1995
Cherkassky
16
- M ạng cộng hường thích ART1 Carpenter và 1987
nghi (Adaptive Resonance Grossberg
Theory)
ART2 Carpenter và 1987
Grossberg
ART3 Carpenter và 1990
Grossberg
Fuzzy ART Carpenter, Grossberg 1991
và Rosen
DCL (Differential Kosko 1992
Competitive Learning)
Mạng giám chiều không Oja Oja 1989
gian ('Dimension Reduction)
Sanger Sanger 1989
Differential Hebbian Kosko 1992
Mạng tự liên kết Hopfield Hopfield 1982
(Auto-association)
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 hơn 1000 km
trên đườ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ụng.
17
- 1.3. CÁC QUÁ TRÌNH c ơ BẢN CỦA MẠNG NƠ-RÔN
Khi nghicn 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 (learningprocess) và quá trình kiểm tra (testing
process).
1.3.1. Quá trinh 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ố Ehpc.
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 xét 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 hơn.
- 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ẹ hom.
-Q u á 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.
Neu 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 dẫn (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.
I8
- - 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á trình kiềm tra
Để đánh giá mức độ hiệu quả của quá trình 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ó the
kể tới các khả năng chính như sau:
1. Nhận dạng (Pattern Recognition): Nhận dạng có thổ được định nghĩa là quá
trình phân tích tín hiệu dầu vào từ một doi tượng dẻ xác dịnh dối tượng dó 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ài
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
trung 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 dã sứ dụng phương pháp hoạt động này [Anderson95].
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 ghi nhớ thông qua quá trình học một tập hợp các mẫu (x ^ ^ d '0 ) với /' = 1 ,
d0) được gọi là đầu ra liên kết với đầu vào x(l). 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
nguon tai.lieu . vn