Số hóa bởi Trung tâm Học liệu
ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC
CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
LÂM VIỆT THẮNG
MẠNG NƠRON KOHONEN – SOM
ỨNG DỤNG TRONG PHÂN NHÓM SINH VIÊN
DỰA TRÊN KẾT QUẢ HỌC TẬP
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên 2014
2
Số hóa bởi Trung tâm Học liệu
LỜI CẢM ƠN
Để hoàn thành chƣơng trình học và viết luận văn tốt nghiệp này, em đã
nhận đƣợc sự hƣớng dẫn, giúp đỡ và góp ý nhiệt tình của thầy cô trƣờng Đại học
Công nghệ thông tin và Truyền thông.
Trƣớc hết, em xin chân thành cảm ơn đến quý thầy cô trƣờng Đại học Công
nghệ thông tin và Truyền thông, đặc biệt là thầy cô đã tận tình dạy bảo cho em
trong suốt thời gian học tập tại trƣờng.
Em xin gửi lời biết ơn sâu sắc đến thầy giáo Tiến sĩ Nguyễn Văn Tảo. Thầy
đã dành rất nhiều thời gian, tâm huyết và tận tình giúp đỡ, hƣớng dẫn cho em trong
suốt quá trình nghiên cứu và giúp em hoàn thành luận văn này.
Mặc dù đã có nhiều cố gắng hoàn thiện luận văn bằng tất cả sự nhiệt tình và
năng lực của mình, tuy nhiên không thể tránh khỏi những thiếu sót, rất mong nhận
đƣợc những đóng góp quý báu của quý thầy cô và các bạn.
Thái Nguyên, ngày 28 tháng 8 năm 2014
Học viên
Lâm Việt Thắng
3
Số hóa bởi Trung tâm Học liệu
MỞ ĐẦU
Sự bùng nổ và phát triển mạnh mẽ của công nghệ đã đƣa máy tính đến với
mọi hoạt động sinh hoạt và lao động của con ngƣời. Kèm theo đó là những khối
lƣợng dữ liệu thông tin, tri thức khổng lồ mà để quản lý và nắm bắt, phân loại
chúng là một bài toán nan giải tốn nhiều thời gian công sức của những nhà quản lý,
phát triển. Ngày nay khi dữ liệu số đã trở lên thông dụng và trở thành loại thông tin
đƣợc trao đổi phổ biến nhất trên tất cả các phƣơng tiện thông tin, liên lạc…Nhƣng
việc nắm bắt nội dung của loại thông tin này là điều tƣơng đối khó cho những hệ
thống giám sát phân loại tự động. Những thông tin này mang tính chất phức tạp mà
để hiểu đƣợc nó thì những phƣơng pháp phân loại bình thƣờng là chƣa đủ mạnh.
Thực tế đã chứng minh cách tốt nhất để phân loại dữ liệu là dùng bộ óc con ngƣời.
Tất nhiên đó là điều vô cùng quý giá và khi ứng dụng chúng để giải quyết những
vấn đề trong tin học đã đem lại những thành công ngoài mong đợi.
Một máy tính, dù có mạnh đến đâu chăng nữa, đều phải làm việc theo một
chƣơng trình chính xác đã đƣợc hoạch định trƣớc bởi các chuyên gia. Bài toán
càng phức tạp thì việc lập trình càng công phu.
Từ lâu các nhà khoa học đã nhận thấy những ƣu điểm của bộ óc con ngƣời
và tìm cách phát triển để máy tính có khả năng học tập, nhận dạng và phân loại.
Các mạng nơron nhân tạo (Artificial Neural Network, ANN) đã ra đời từ những nỗ
lực đó. ANN là một lĩnh vực nghiên cứu rộng lớn và chỉ mới phát triển mạnh
khoảng 15 năm gần đây. Tuy có nhiều kết quả khích lệ, nhƣng ANN hãy còn xa
mới đạt đƣợc sự hoàn chỉnh nhƣ bộ óc con ngƣời. Và những ứng dụng trong công
nghệ thông tin còn nhiều hạn chế.
Trong khuôn khổ luận văn xin trình bày những nghiên cứu tổng quan về
ANN, những lỗ lực cải tiến thuật toán, cài đặt và những ứng dụng của mạng nơron
trong việc phân cụm dữ liệu số.
4
Số hóa bởi Trung tâm Học liệu
NHIỆM VỤ LUẬN VĂN
Trong luận văn tập trung nghiên cứu nền tảng lý thuyết và ứng dụng của
mạng nơron nhân tạo. Cụ thể giải quyết bài toán phân cụm dữ liệu số trên máy tính
với sự trợ giúp của mạng Kohonen-SOM. Vì vậy trong khuôn khổ luận văn sẽ
hƣớng tới hai mục đích chính:
1. Nghiên cứu mạng nơron cụ thể là mạng SOM, từ ý tƣởng tự nhiên tới
phƣơng cách cài đặt trên máy tính đồng thời đƣa ra những phƣơng pháp cải tiến về
mặt giải thuật nhằm đƣa mạng nơron ứng dụng giải quyết bài toán phân cụm dữ
liệu số.
2. Ứng dụng mạng nơron giải quyết bài toán phân cụm thực tế biến những
nghiên cứu, cải tiến trở lên hữu dụng.
5
Số hóa bởi Trung tâm Học liệu
MỤC LỤC
MỤC LỤC 5
CHƢƠNG 1: TỔNG QUAN MẠNG NƠRON 7
1.1. Giới thiệu chung 7
1.2. Ý tƣởng sinh học 7
1.3. Mô hình nơron nhân tạo cơ bản 9
1.4. Sử dụng mạng nơron nhân tạo 11
1.5. Thu thập dữ liệu cho mạng nơron nhân tạo 12
1.6. Perceptron nhiều lớp 14
1.6.1. Huấn luyện Perceptron nhiều lớp 14
1.6.2. Thuật toán backpropagation. 15
1.6.3. Học quá mức và tổng quát hóa 16
1.6.4. Chọn lựa dữ liệu 18
1.7. Mô hình mạng nơron 18
1.7.1. Mô hình nơron và cấu trúc mạng 19
1.7.2. Cấu trúc dữ liệu 23
1.7.3. Kiểu huấn luyện 23
1.8. Tóm tắt 23
CHƢƠNG 2: KOHONEN-SOM VÀ PHÂN CỤM DỮ LIỆU 26
2.1. Tìm hiểu mạng Kohonen 26
2.2. Mạng Kohonen là gì? 26
2.2.1. Cấu trúc mô hình mạng Kohonen 28
2.2.2. Thuật toán phân cụm bằng mạng Kohonen 28
- – SOM 32
2.3.1. Tổng quan về SOM 32
2.3.2. SOM cơ bản 33
2.3.3. Khởi tạo mạng Kohonen (SOM) 33
2.3.4. Huấn luyện mạng Kohonen - Som 34
2.3.5. Tỉ lệ học 34
2.3.6. Cập nhật lại trọng số 35
6
Số hóa bởi Trung tâm Học liệu
2.3.7. Xác định nơron chiến thắng 36
2.4. Kohonen (SOM) và phân cụm dữ liệu 37
2.4.1. SOM phân cụm với bản đồ 1 chiều 37
2.4.2. SOM phân cụm với bản đồ 2 chiều 37
2.4.3. Xác định ranh giới các cụm 38
2.4.4. Trực quan mạng 39
2.4.5. Số lƣợng nhóm khi phân cụm 40
2.5. SOM –Thách thức trong quá trình phân cụm dữ liệu 41
2.5.1. SOM –Bài toán phân cụm màu 41
2.5.2. SOM –Thách thức phân nhóm 45
2.5.3. SOM –Vấn đề số lƣợng nhóm 47
2.6. SOM –Giải quyết những vấn đề tồn tại khi phân cụm 48
2.6.1. Giải pháp phân cụm tự nhiên trong quá trình học 48
2.6.2 Giới hạn điều chỉnh số lƣợng nhóm trên mạng SOM 51
CHƢƠNG 3: ỨNG DỤNG PHÂN CỤM ĐIỂM 54
3.1. Phát biểu bài toán ứng dụng 54
3.1.1. Nội dung 54
3.1.2. Mục đính- Yêu cầu 55
3.2. Phân tích thiết kế hệ thống cho ứng dụng 56
3.2.1. Xác định các tác nhân và các Use case 56
3.2.2. Biểu đồ Use Case 57
3.2.3. Biểu đồ trình tự cho từng Use Case 57
3.3. Chƣơng trình ứng dụng 61
3.3.1. Giao diện tổng quan cho ứng dụng 61
3.3.2 Một số tính năng cho ứng dụng 62
3.3.3 Hƣớng dẫn sử dụng, chạy thử nghiệm 68
KẾT LUẬN 71
TÀI LIỆU THAM KHẢO 73
7
Số hóa bởi Trung tâm Học liệu
CHƢƠNG 1: TỔNG QUAN MẠNG NƠRON
1.1. Giới thiệu chung
Mạng nơron nhân tạo (Artificial Neural Networks) trong một vài năm trở
lại đây đã đƣợc nhiều ngƣời quan tâm và đã áp dụng thành công trong nhiều lĩnh
vực khác nhau, nhƣ tài chính, y tế, địa chất và vật lý. Thật vậy, bất cứ ở đâu có vấn
đề về dự báo, phân loại và điều khiển, mạng nơron nhân tạo đều có thể ứng dụng
đƣợc. Sự thành công nhanh chóng của mạng mạng nơron nhân tạo có thể là do
một số nhân tố chính sau:
Năng lực: mạng nơron nhân tạo là những kỹ thuật mô phỏng rất tinh vi, có
khả năng mô phỏng các hàm cực kỳ phức tạp. Đặc biệt, mạng nơron nhân tạo hoạt
động phi tuyến. Trong nhiều năm, mô hình tuyến tính là kỹ thuật đƣợc sử dụng
rộng rãi trong hầu hết các lĩnh vực, vì thế mô hình tuyến tính có tính chiến lƣợc tối
ƣu hóa đƣợc biết nhiều nhất.
Dễ sử dụng: mạng nơron nhân tạo có tính học theo các ví dụ. Ngƣời sử
dụng mạng nơron nhân tạo thu thập các dữ liệu đặc trƣng, và sau đó gọi các thuật
toán huấn luyện để có thể tự học cấu trúc của dữ liệu. Mặc dù ngƣời sử dụng làm
tất cả những điều cần thiết để có thể chọn và chuẩn bị dữ liệu, sử dụng loại mạng
phù hợp và có thể hiểu đƣợc các kết quả, nhƣng mức độ ngƣời sử dụng biết cách
áp dụng thành công mạng nơron nhân tạo vẫn thấp hơn nhiều những ngƣời sử dụng
các phƣơng pháp thống kê truyền thống…
Mạng nơron nhân tạo dựa trên việc mô phỏng cấp thấp hệ thống nơron sinh
học. Trong tƣơng lai với sự phát triển mô phỏng nơron sinh học, chúng ta có thể có
loại máy tính thông minh thật sự.
1.2. Ý tƣởng sinh học
Mạng nơron nhân tạo phát triển từ nghiên cứu về trí tuệ nhân tạo; đặc biệt
cố gắng bắt chƣớc bộ não có cấu trúc cấp thấp về khả năng học và chấp nhận sai
của hệ thống nơron sinh học.
Suốt những năm 1960 – 1980 các nhà nghiên cứu về trí tuệ nhân tạo đã tìm
ra hệ chuyên gia dựa trên mô hình cấp cao về xử lý lý luận của bộ não. Mặc dù mô
8
Số hóa bởi Trung tâm Học liệu
hình đã rất thành công trong một vài lĩnh vực, nhƣng vẫn chƣa bắt chƣớc đƣợc trí
tuệ con ngƣời. Điều này là do cấu trúc mô hình chƣa bằng bộ não. Do đó, để tái tạo
trí thông minh, chúng ta cần phải xây dựng những hệ thống có cấu trúc giống bộ
não con ngƣời.
Bộ não con ngƣời gồm một số rất lớn nơron (khoảng 10.000.000.000 nơron)
kết nối với nhau (trung bình mỗi nơron kết nối với hàng chục ngàn nơron khác).
Mỗi nơron là một tế bào đặc biệt, có thể truyền các tín hiệu điện. Nơron có cấu
trúc rễ ngõ vào, thân tế bào và cấu trúc rễ ngõ ra (sợi thần kinh). Các sợi thần kinh
của một tế bào kết nối với các tế bào khác thông qua synapse. Khi một nơron kích
hoạt, nó tạo ra xung điện hóa học dọc theo sợi thần kinh. Tín hiệu này đi qua các
synapse đến các nơron khác, và tiếp tục bị kích hoạt. Nơron hoạt động chỉ khi tất
cả các tín hiệu nhận đƣợc ở thân tế bào thông qua rễ ngõ vào vƣợt quá một mức
nào đó (ngƣỡng hoạt động).
Hình 1.2 : Cấu tạo tế bào nơron
Cƣờng độ tín hiệu thu đƣợc của nơron phụ thuộc vào độ nhạy của synapse.
Chỉ có việc học làm thay đổi cƣờng độ kết nối synapse. Ví dụ nhƣ theo thí nghiệm
có điều kiện Pavlovian cổ điển, gõ chuông trƣớc khi cho chó ăn tối, con chó nhanh
chóng học đƣợc rằng rung chuông gắn liền với ăn. Kết nối synapse giữa phần vỏ
não thính giác và tuyến nƣớc bọt đã nhạy hơn, vì thế khi rung chuông vỏ não thính
giác bị kích thích, con chó bắt đầu tiết nƣớc bọt.
Do đó, từ một số rất lớn các đơn vị xử lý rất đơn giản này (mỗi đơn vị thực
hiện tổng trọng số các ngõ vào sau đó kích hoạt một tín hiệu nhị phân nếu tổng ngõ
9
Số hóa bởi Trung tâm Học liệu
vào vƣợt quá ngƣỡng), bộ não điều khiển để hoạt động những công việc cực kì
phức tạp. Dĩ nhiên, sự phức tạp trong hoạt động của bộ não không thể trình bày
hết, nhƣng dù sao mạng trí tuệ nhân tạo có thể đạt đƣợc một vài kết quả đáng chú ý
với mô hình không phức tạp hơn bộ não.
1.3. Mô hình nơron nhân tạo cơ bản
Nơron nhân tạo đƣợc định nghĩa nhƣ sau:
Nơron nhân tạo nhận một số các ngõ vào (từ dữ liệu gốc, hay từ ngõ ra các
nơron khác trong mạng). Mỗi kết nối đến ngõ vào có một cƣờng độ (hay trọng số),
những trọng số này tƣơng ứng với tác dụng synapse trong nơron sinh học. Mỗi
nơron cũng có một giá trị ngƣỡng.
Tín hiệu đƣợc truyền qua hàm kích hoạt (hay còn gọi là hàm truyền) tạo giá
trị ngõ ra nơron.
Hình 1.3(a): Mô hình nơron nhân tạo cơ bản
Nếu sử dụng hàm truyền nấc (nghĩa là ngõ ra nơron là 0 nếu ngõ vào nhỏ
hơn 0, và là 1 nếu ngõ vào lớn hơn hay bằng 0) thì nơron hoạt động giống nhƣ
nơron sinh học. Thực tế, hàm nấc ít khi sử dụng trong mạng trí tuệ nhân tạo. Lƣu ý
rằng trọng số có thể âm, nghĩa là synapse có tác dụng kiềm chế hơn là kích hoạt
nơron, các nơron kiềm chế có thể tìm thấy trong bộ não.
Trên đây mô tả các nơron đơn lẻ. Trong thực tế các nơron đƣợc kết nối với
nhau. Khi mạng hoạt động, chúng phải có ngõ vào (mang giá trị hoặc biến của thế
giới thực) và ngõ ra (dùng để dự báo hoặc điều khiển). Ngõ vào và ngõ ra tƣơng
ứng với các nơron giác quan và vận động, nhƣ tín hiệu đƣa vào mắt và điều khiển
10
Số hóa bởi Trung tâm Học liệu
cánh tay. Tuy nhiên chúng còn có các nơron ẩn đóng vai trò ẩn trong mạng. Ngõ
vào, nơron ẩn và ngõ ra cần đƣợc kết nối với nhau.
Hình 1.3(b): Mô hình mạng nơron nhân tạo cơ bản
Vấn đề chính ở đây là hồi tiếp. Một mạng đơn giản có cấu trúc tiến: tín hiệu
đi vào ở ngõ vào, qua các nơron ẩn và cuối cùng đến các nơron ngõ ra. Cấu trúc
nhƣ thế chạy ổn định. Tuy nhiên, nếu mạng có hồi tiếp (chứa các kết nối ngƣợc trở
về các nơron trƣớc đó) mạng có thể chạy không ổn định và dao động rất phức tạp.
Mạng hồi tiếp rất đƣợc các nhà nghiên cứu quan tâm, nhƣng cấu trúc tiến đã chứng
minh rất hiệu quả trong việc giải quyết các vấn đề thực tế.
Mạng nơron nhân tạo tiến cho nhƣ hình dƣới. Các nơron đƣợc sắp xếp theo
cấu trúc liên kết lớp riêng biệt. Lớp ngõ vào không phải là nơron thực: các nơron
này hoạt động đơn giản là giới thiệu các giá trị của các biến vào. Các nơron lớp ẩn
và lớp ngõ ra đƣợc kết nối với tất cả các nơron lớp trƣớc đó. Cũng nhƣ vậy chúng
ta có thể định nghĩa mạng có các kết nối một phần với một vài nơron trong lớp
trƣớc đó, tuy nhiên trong hầu hết các ứng dụng mạng có kết nối đầy đủ vẫn tốt
hơn.
Hình 1.3 ( c):Cấu trúc mạng nơron nhân tạo
11
Số hóa bởi Trung tâm Học liệu
Khi mạng hoạt động, các giá trị biến ngõ vào đƣợc đặt vào các nơron ngõ
vào, và sau đó các nơron lớp ẩn và lớp ngõ ra lần lƣợt đƣợc kích hoạt. Mỗi nơron
tính giá trị kích hoạt của chúng bằng cách lấy tổng các trọng số ngõ ra của các
nơron lớp trƣớc đó, và trừ cho ngƣỡng. Giá trị kích hoạt truyền qua hàm kích hoạt
tạo ra giá trị ngõ ra của nơron. Khi toàn bộ mạng đã hoạt động, các ngõ ra của lớp
ngõ ra hoạt động nhƣ ngõ ra của toàn mạng.
1.4. Sử dụng mạng nơron nhân tạo
Một loạt vấn đề dẫn tới việc giải quyết bằng mạng nơron đƣợc định nghĩa
bằng cách nó làm việc hoặc nó đƣợc huấn luyện. Mạng nơron nhân tạo làm việc từ
những ngõ vào khác nhau, đƣa ra những ngõ ra khác nhau. Do đó có thể sử dụng
khi biết một vài thông tin và sẽ dự đoán những thông tin chƣa biết.
Ví dụ:
Dự đoán thị trƣờng chứng khoán: nếu biết giá cả chứng khoán của tuần
trƣớc và chỉ số FTSE, ta sẽ dự đoán đƣợc giá cả chứng khoán ngày mai.
Điều khiển: ta muốn biết có hay không một robot biết quẹo phải, trái hay
chuyển động về một phía để đạt đƣợc mục tiêu, ta sẽ biết đƣợc những gì robot
đang quan sát.
Điều kiện quan trọng trong việc sử dụng mạng nơron nhân tạo là phải biết
mối liên hệ giữa ngõ vào và ngõ ra biết trƣớc. Mối quan hệ này có thể kéo theo
nhiều thứ nhƣng nó nhất định phải tồn tại.
Tổng quát, nếu ta sử dụng một mạng mạng nơron nhân tạo ta sẽ không biết
chính xác trạng thái tự nhiên của mối liên hệ giữa ngõ vào và ngõ ra, nếu ta biết
mối liên hệ ta sẽ làm mô hình đó trực tiếp. Một tính năng khác của mạng nơron
nhân tạo là nó có thể học mối liên hệ giữa ngõ vào và ngõ ra thông qua việc huấn
luyện. Có hai loại huấn luyện sử dụng trong mạng nơron nhân tạo là huấn luyện có
giám sát và không giám sát. Với những loại mạng khác nhau thì sử dụng các loại
huấn luyện khác nhau. Huấn luyện có giám sát sử dụng thông dụng nhất.
Trong việc học có giám sát, ngƣời sử dụng mạng phải có một tập hợp dữ liệu cần
huấn luyện. Tập hợp này chứa những ngõ vào mẫu với ngõ ra tƣơng ứng và mạng
12
Số hóa bởi Trung tâm Học liệu
sẽ huấn luyện để đƣa ra mối liên hệ giữa ngõ ra và ngõ vào. Tập hợp dữ liệu
thƣờng đƣợc lấy từ những bản ghi chép trƣớc đó.
Mạng nơron nhân tạo sau đó đƣợc huấn luyện bằng một trong các thuật
toán học có giám sát (ví dụ backpropagation), sử dụng các dữ liệu để điều chỉnh
trọng số và ngƣỡng của mạng sao cho cực tiểu hóa sai số trong việc dự báo của
mạng trên tập huấn luyện. Nếu mạng đƣợc huấn luyện chính xác, nghĩa là nó đã
học mô phỏng một hàm chƣa biết với mối liên hệ giữa ngõ ra và ngõ vào, do đó
với các tín hiệu vào đến sau, mạng sẽ dự báo tín hiệu ra tƣơng ứng.
1.5. Thu thập dữ liệu cho mạng nơron nhân tạo
Một khi ta quyết định giải quyết một vấn đề sử dụng mạng nơron nhân tạo
ta cần phải thu thập dữ liệu cho mục tiêu huấn luyện. Tập hợp dữ liệu huấn luyện
bao gồm một số các trƣờng hợp, mỗi trƣờng hợp chứa những giá trị của tầm ngõ
vào và ngõ ra khác nhau. Những việc đầu tiên cần làm là: những biến nào sử dụng,
bao nhiêu trƣờng hợp cần thu thập.
Sự lựa chọn các biến do trực giác quyết định. Công việc chuyên môn của ta
trong lĩnh vực cần giải quyết sẽ cho ta những ý tƣởng về các biến ngõ vào phù hợp.
Trong mạng nơron nhân tạo, ta có thể chọn và loại bỏ nhiền biến và mạng nơron
nhân tạo cũng có thể xác định bằng thực nghiệm những biến hữu ích. Trong bƣớc
một ta nên tính đến bất kì biến nào mà ta nghĩ có ảnh hƣởng đến quá trình thiết kế.
Mạng nơron nhân tạo xử lý dữ liệu số trong một tầm giới hạn rõ ràng. Điều
này đƣa ra một vấn đề nếu dữ liệu nằm trong một vùng đặc biệt nhƣ dữ liệu chƣa
biết hay không phải dữ liệu số. May mắn thay có nhiều phƣơng pháp lý tƣởng cho
vấn đề này, đƣợc xây dựng trên mạng nơron nhân tạo. Dữ liệu số đƣợc chia nhỏ
thành những khoảng thích hợp cho mạng và những giá trị thiếu có thể đƣợc thay
thế bằng giá trị trung bình hay giá trị thống kê của biến đó thông qua những biến
khác đã đƣợc huấn luyện.
Xử lý dữ liệu không phải là số thì khó hơn. Loại dữ liệu không phải là số
thông thƣờng nhất là những biến có giá trị danh định nhƣ giới tính (nam, nữ). Biến
có giá trị danh định có thể biểu diễn bằng số học và mạng nơron nhân tạo có chức
13
Số hóa bởi Trung tâm Học liệu
năng hỗ trợ điều này. Tuy nhiên mạng nơron nhân tạo làm việc tốt với những
trƣờng hợp biến danh định là một tập nhiều giá trị.
Số trƣờng hợp mẫu dùng để huấn luyện mạng rất khó xác định. Đã có một
vài hƣớng dẫn về mối liên hệ giữa số trƣờng hợp mẫu với kích thƣớc mạng (cách
đơn giản nhất là số trƣờng hợp mẫu gấp 10 lần số kết nối trong mạng). Thực ra số
trƣờng hợp mẫu cũng liên quan đến độ phức tạp của hàm mà mạng phải học. Khi
số biến tăng lên, số trƣờng hợp mẫu cần để huấn luyện cũng tăng phi tuyến, vì thế
với một số nhỏ các biến (50 hoặc nhỏ hơn) thì lại cần một số lớn các trƣờng hợp
mẫu.
Trong hầu hết các vấn đề trong thực tế, số trƣờng hợp mẫu là khoảng hàng
trăm hay hàng ngàn mẫu. Đối với những vấn đề rất phức tạp thì cần nhiều hơn,
nhƣng trƣờng hợp này rất ít. Nếu dữ liệu huấn luyện ít hơn, rõ ràng không đủ
thông tin để huấn luyện mạng, và cách tốt nhất là dùng mạng tuyến tính.
Nhiều vấn đề trong thực tế có dữ liệu không đáng tin cậy, một vài dữ liệu bị phá
hỏng do nhiễu, hoặc các giá trị không phối hợp đƣợc với nhau. Mạng nơron nhân
tạo có khả năng đặc biệt xử lý dữ liệu bị mất (sử dụng giá trị trung bình hay những
giá trị thống kê khác). Vì thế nếu dữ liệu đƣa vào ít, ta nên đƣa vào những trƣờng
hợp giá trị bị mất (rõ ràng nếu không có thì không lý tƣởng). mạng nơron nhân tạo
cũng chịu đƣợc nhiễu, nhƣng cũng phải có giới hạn. Nếu thỉnh thoảng có giá trị
nằm xa ra khỏi vùng giá trị bình thƣờng thì mạng huấn luyện phải có ngƣỡng.
Cách tốt nhất đối với trƣờng hợp này là nhận ra và loại bỏ những giá trị nằm xa đó
(có thể hủy trƣờng hợp này hoặc xem giá trị nằm xa này là giá trị bị mất). Nếu giá
trị xa này khó nhận ra, mạng nơron nhân tạo có chức năng huấn luyện chịu đƣợc
giá trị nằm khỏi vùng này nhƣng cách huấn luyện này thƣờng kém hiệu quả hơn là
huấn luyện chuẩn. Tóm lại, cách thu thập dữ liệu có thể nói gọn lại nhƣ sau:
- Chọn những giá trị huấn luyện có tác dụng.
- Dữ liệu số và danh định có thể xử lý trực tiếp bằng mạng nơron nhân tạo.
Chuyển những loại biến khác sang một trong các dạng này.
14
Số hóa bởi Trung tâm Học liệu
- Cần hàng trăm hoặc hàng ngàn trƣờng hợp mẫu huấn luyện; càng nhiều
biến thì càng nhiều mẫu huấn luyện. mạng nơron nhân tạo có khả năng nhận ra
những biến hữu dụng để huấn luyện.
1.6. Perceptron nhiều lớp
Ngày nay, Perceptron là cấu trúc mạng đƣợc dùng phổ biến nhất. Mỗi nơron
lấy tổng trọng số và ngƣỡng của ngõ vào, qua hàm truyền đến ngõ ra, các nơron
đƣợc sắp xếp theo các lớp tới. Vì thế mạng có thể mô phỏng các hàm phức tạp tùy
theo số lớp và số nơron mỗi lớp.
Tùy theo vấn đề mà các nơron có số ngõ vào và ngõ ra khác nhau. Chúng ta
không thể biết chính xác sẽ sử dụng bao nhiêu ngõ vào. Tuy nhiên, chúng ta giả sử
rằng số ngõ vào có thể chọn lựa dễ dàng. Và để dễ dàng, thƣờng ta chọn có một
lớp ẩn và số nơron trong đó bằng một nửa tổng số ngõ vào và ngõ ra.
1.6.1. Huấn luyện Perceptron nhiều lớp
Khi số các lớp, số nơron mỗi lớp đã đƣợc chọn, trọng số và ngƣỡng của
mạng phải đƣợc cài đặt sao cho có đƣợc cực tiểu sai số trong việc dự đoán của
mạng. Đây chính là công việc của các thuật toán huấn luyện. Các trƣờng hợp mẫu
chúng ta thu thập đƣa qua mạng để mạng tự điều chỉnh trọng số và ngƣỡng sao cho
cực tiểu hóa lỗi. Lỗi trong một cấu hình cụ thể của mạng đƣợc xác định bằng cách
cho chạy tất cả các trƣờng hợp huấn luyện qua mạng, so sánh giá trị ngõ ra của
mạng với giá trị mong muốn. Lỗi này đƣợc tính theo hàm sai số của mạng. Thông
thƣờng hàm sai số là tổng bình phƣơng lỗi (SSE – Sum Squared Error).
Khái niệm cần biết thêm là mặt phẳng sai số. Mỗi trọng số và ngƣỡng trong
tổng số N trọng số và ngƣỡng đƣợc xem là một chiều trong không gian. Chiều thứ
(N + 1) là sai số mạng. Đối với bất kỳ cấu hình trọng số nào, lỗi cũng có thể vẽ ở
chiều thứ (N+1), tạo thành mặt phẳng lỗi. Đối tƣợng của việc huấn luyện mạng là
tìm điểm thấp nhất trong mặt phẳng nhiều chiều này.
Trong mạng tuyến tính có hàm sai số SSE, mặt phẳng sai số là parapol,
nghĩa là có một giá trị nhỏ nhất. Do đó chúng dễ dàng xác định giá trị cực tiểu.
Chúng ta không thể xác định đƣợc vị trí giá trị nhỏ nhất của mặt phẳng sai số, và vì
thế huấn luyện mạng mạng nơron nhân tạo cần phải phân tích tỉ mĩ mặt phẳng sai
15
Số hóa bởi Trung tâm Học liệu
số. Từ cấu hình ngẫu nhiên các trọng số và ngƣỡng ban đầu (nghĩa là điểm ngẫu
nhiên trên mặt phẳng sai số) các thuật toán huấn luyện tìm kiếm đến giá trị nhỏ
nhất. Thông thƣờng, việc tìm kiếm dựa trên gradient (độ dốc) trên mặt phẳng sai số
tại điểm hiện tại, và sau đó sẽ di chuyển xuống giá trị nhỏ hơn. Do đó có nhiều khả
năng thuật toán dừng ở điểm thấp là điểm giá trị cực tiểu cục bộ (nhƣng dù sao
cũng hy vọng là giá trị nhỏ nhất).
1.6.2. Thuật toán backpropagation.
Các ví dụ phổ biến nhất về thuật toán huấn luyện mạng nơron nhân tạo là
backpropagation. Các thuật toán bậc hai hiện đại nhƣ conjugate gradient descent
và Levenberg – Marquardt cơ bản nhanh hơn trong nhiều vấn đề, nhƣng
backpropagation vẫn có một số ƣu điểm trong một vài trƣờng hợp khác, và là thuật
toán dễ hiểu nhất.
Trong backpropagation, vector gradient của mặt phẳng sai số đƣợc tính
toán. Vector này chỉ ra đƣờng giảm dốc nhất và vị trí hiện tại, vì thế chúng ta biết
rằng nếu chúng ta di chuyển dọc theo nó một “khoảng ngắn”, cuối cùng chúng ta
sẽ đạt đƣợc giá trị nhỏ nhất. Khó khăn ở đây là quyết định độ lớn của từng bƣớc di
chuyển.
Bƣớc lớn có thể hội tụ nhanh hơn, nhƣng có thể vƣợt quá điểm cần đến hay
đi ra khỏi vùng có cực tiểu (nếu mặt phẳng sai số bị lệch tâm). Ngƣợc lại, bƣớc
quá nhỏ có thể đi đến đúng hƣớng nhƣng chúng ta cần phải thực hiện phép lặp
nhiều lần. Trong thực tiễn, kích thƣớc bƣớc tỷ lệ với độ dốc và hằng số đặc biệt:
tốc độ học. Giá trị chính xác tốc độ học phụ thuộc vào từng ứng dụng cụ thể, và
thƣờng đƣợc chọn qua thực tiễn.
Thuật toán thƣờng có thêm khái niệm momentum. Momentum sẽ thúc đẩy
di chuyển đi theo theo một hƣớng xác định nếu sau khi qua nhiều bƣớc đi cùng
một hƣớng, thuật toán sẽ di chuyển nhanh hơn, đƣa đến khả năng thoát khỏi vùng
giá trị cực tiểu cục bộ và cũng có thể di chuyển nhanh chóng qua vùng bằng phẳng.
Thuật toán do đó xử lý lặp đi lặp lại, sau một số epoch. Ở mỗi epoch, các
trƣờng hợp huấn luyện sẽ đƣợc đƣa ra xem xét trong mạng, các ngõ ra thực và
mong muốn đƣợc so sánh và tính toán lỗi. Lỗi này kết hợp với gradent mặt phẳng
16
Số hóa bởi Trung tâm Học liệu
sai số, sử dụng để điều chỉnh trọng số và sau đó quá trình xử lý lặp lại. Cấu hình
mạng ban đầu là ngẫu nhiên, và huấn luyện chỉ dừng lại khi số vòng lặp epoch tối
đa cho phép xảy ra hay khi sai số đạt đƣợc ở một mức cho phép, hoặc khi sai số
không tăng nữa.
1.6.3. Học quá mức và tổng quát hóa
Một vấn đề mà các kỹ thuật trên không thực sự cực tiểu sai số là khi chúng
ta đƣa một trƣờng hợp mới vào mạng. Nói cách khác, thuộc tính mong muốn nhất
của mạng là khả năng tổng quát hóa các trƣờng hợp mới. Thực ra, mạng đƣợc huấn
luyện cực tiểu hóa sai số dựa trên tập huấn luyện, tập này không hoàn hảo và hữu
hạn, rõ ràng sẽ không đúng khi cực tiểu sai số trên mặt phẳng sai số thực – mặt
phẳng sai số của mô hình cơ sở và chƣa biết.
Sự phân biệt ở đây chính là học quá mức hay khít quá mức. Cách dễ nhất để
minh họa khái niệm này là việc dò theo đồ thị đƣờng cong đa thức hơn là minh họa
bằng mạng nơron nhân tạo nhƣng ý nghĩa thì giống nhau.
Đa thức là phƣơng trình có các hệ số và lũy thừa hằng số.
Ví dụ:
y = 2x + 3
y= 3x
2
+ 4x + 1
Các đa thức khác nhau có đồ thị khác nhau, với bậc lớn hơn (và do đó có
nhiều số hạng hơn) sẽ có đồ thị phức tạp hơn. Với một tập dữ liệu cho trƣớc, chúng
ta muốn tìm ra đa thức biểu diễn dữ liệu này. Dữ liệu có thể có nhiễu, vì thế chúng
ta không cần thiết tìm ra phƣơng trình đúng nhất cho tất cả các điểm. Đa thức bậc
thấp hơn sẽ không thể đủ chính xác với tất cả các điểm, trong khi đó đa thức bậc
cao hơn chính xác tất cả các dữ liệu sẽ rất phức tạp, đa thức này sẽ có đồ thị không
đúng với hàm cơ sở.
Mạng nơron nhân tạo cũng có vấn đề nhƣ vậy. Mạng có càng nhiều trọng
số thì hàm càng phức tạp và do đó sẽ rơi vào tình trạng khít quá mức. Mạng có ít
trọng số hơn sẽ không đủ khả năng để mô phỏng hàm cơ sở. Ví dụ nhƣ mạng
không có các lớp ẩn chỉ mô phỏng hàm truyền tuyến tính đơn giản.
17
Số hóa bởi Trung tâm Học liệu
Vậy chúng ta sẽ chọn lựa độ phức tạp của mạng đúng nhƣ thế nào? Mạng
lớn hơn sẽ hầu nhƣ luôn luôn có đƣợc sai số nhỏ hơn, nhƣng điều này có thể là khít
quá mức hơn là một mô hình tốt.
Câu trả lời là sử dụng xác nhận mức giao. Vài mẫu huấn luyện đƣợc lƣu lại
và không thực sự dùng cho huấn luyện trong thuật toán backpropagation. Để thay
thế, những mẫu này đƣợc sử dụng để kiểm tra độc lập trong quá trình của thuật
toán. Nhƣ vậy hiệu suất ban đầu của mạng luôn luôn bằng nhau ở những tập huấn
luyện và xác minh lại. Trong quá trình huấn luyện, sai số huấn luyện tự nhiên giảm
xuống, và cho phép huấn luyện cực tiểu hóa hàm sai số thực, sai số xác minh cũng
giảm xuống. Tuy nhiên, nếu sai số xác minh không giảm, hay bắt đầu tăng lên,
điều này có nghĩa là mạng bắt đầu khít quá mức dữ liệu, và huấn luyện nên dừng
lại (có thể cài đặt mạng nơron nhân tạo tự động dừng lại khi bắt đầu học quá mức).
Trƣờng hợp khít quá mức xảy ra trong quá trình xử lý huấn luyện gọi là học quá
mức. Trong trƣờng hợp này, chúng ta nên giảm số nơron ẩn hay/và lớp ẩn vì mạng
quá mạnh đối với vấn đề này. Ngƣợc lại, nếu mạng không đủ mạnh để mô phỏng
hàm cơ sở, học quá mức không có khả năng xảy ra, cũng nhƣ sai số huấn luyện
hay xác minh lại không rơi vào mức bão hòa.
Những vấn đề liên quan đến cực tiểu cục bộ, và những quyết định sử dụng
quá kích thƣớc của mạng, nghĩa là chúng ta phải chạy thử trên nhiều mạng khác
nhau, có thể huấn luyện mỗi mạng vài lần (để tránh rơi vào trƣờng hợp cực tiểu
cục bộ sai số) và quan sát hiệu suất từng mạng. Điều quan trọng là quan sát sai số
xác minh. Tuy nhiên, nên nhớ rằng nên mô phỏng mạng đơn giản hơn là mạng
phức tạp, chúng ta cũng thể chọn mạng nhỏ hơn là mạng lớn có khả năng cải thiện
sai số xác minh không đáng kể.
Vấn đề đối với kỹ thuật này về việc thí nghiệm lặp đi lặp lại là tập xác minh
không thực sự đóng vai trò chọn lựa mạng, nghĩa là nó chỉ là một phần trong quá
trình huấn luyện. Độ tin cậy của nó chỉ ở mức độ vừa phải – khi số lần thí nghiệm
đủ, chúng ta có khả năng rơi vào trƣờng hợp mạng thực hiện tốt trên tập xác minh.
Để thêm độ tin cậy hiệu suất của mô hình cuối cùng thì trong thực tế thƣờng sử
dụng thêm một tập thứ ba – là tập kiểm tra. Mô hình cuối cùng đƣợc kiểm tra với
18
Số hóa bởi Trung tâm Học liệu
tập dữ liệu kiểm tra để đảm bảo rằng kết quả của tập xác minh và huấn luyện là
thật.
Tóm lại, việc thiết kế mạng (khi các biến ngõ vào đã đƣợc chọn) gồm các
bƣớc sau:
Chọn cấu hình ban đầu (thƣờng một lớp ẩn có số nơron ẩn bằng nửa tổng số
nơron ngõ vào và ngõ ra).
Thực hiện lặp đi lặp lại số thí nghiệm của mỗi cấu hình, giữ lại mạng tốt
nhất (thƣờng dựa trên sai số xác minh). Thí nghiệm nhiều lần trên mỗi cấu hình
mạng để tránh rơi vào sai số cục bộ.
Trong mỗi lần thí nghiệm, nếu xảy ra việc học chƣa đủ (mạng không đạt
đƣợc mức hiệu suất chấp nhận) thì thử tăng số nơron trong lớp ẩn. Nếu không hiệu
quả, thì thêm một lớp ẩn.
Nếu xảy ra học quá mức (sai số xác minh bắt đầu tăng lên) thử bỏ bớt một
vài nơron ẩn (và có thể bỏ lớp ẩn).
1.6.4. Chọn lựa dữ liệu
Các bƣớc mô tả trên đều dựa trên một giả định, đó là dữ liệu huấn luyện,
xác minh và kiểm tra phải đại diện cho mô hình cơ sở (hơn nữa, ba tập này phải
độc lập). Nếu dữ liệu huấn luyện không đặc trƣng thì giá trị mô hình chỉ là một sự
dàn xếp, xấu nhất có thể không sử dụng đƣợc.
Tƣơng lai không phải là quá khứ. Dữ liệu huấn luyện đặc trƣng cho những
gì đã xảy ra. Nếu môi trƣờng thay đổi, mối quan hệ nơron trong mạng không còn
phù hợp nữa.
Tất cả các trƣờng hợp phải đƣợc khái quát. Mạng nơron nhân tạo chỉ có thể
học từ những mẫu đƣợc đƣa vào. Do đó mạng nơron nhân tạo không thể có một
quyết định đúng khi nơron chƣa đƣợc huấn luyện.
Mạng chỉ có thể học theo cách dễ nhất mà nó có thể. Backpropagation có
tính chất tốt nhƣ nhau nếu dữ liệu rất ít.
1.7. Mô hình mạng nơron
Mô hình mạng nơron tổng quát có dạng nhƣ sau:
19
Số hóa bởi Trung tâm Học liệu
Hình 1.7: Mô hình mạng nơron nhân tạo
Ngày nay mạng Nơron có thể giải quyết nhiều vấn đề phức tạp đối với con
ngƣời, áp dụng trong nhiều lĩnh vực nhƣ nhận dạng, định dạng, phân loại, xử lý tín
hiệu, hình ảnh v.v…
1.7.1. Mô hình nơron và cấu trúc mạng
1.7.1.1. Mô hình nơron
Cấu trúc một Nơron:
Ngõ vào một nơron có thể là đại lƣợng vô hƣớng hoặc có hƣớng, đại lƣợng
này đƣợc nhân với trọng số tƣơng ứng để đƣa vào nơron, hoặc có thể cộng thêm
ngƣỡng (bias), thƣờng bằng 1. Dƣới đây là mô hình một nơron với ngõ vào vô
hƣớng p không có ngƣỡng b (hình bên trái) và có ngƣỡng b (hình bên phải). Ngõ
vào vô hƣớng p đƣợc nhân với trọng số vô hƣớng w tạo thành wp, đối số wp (hình
bên trái) qua hàm truyền f cho kết quả đầu ra là vô hƣớng a = f(wp). Hình bên phải
là nơron có ngƣỡng b, giá trị b đƣợc cộng với wp rồi qua hàm truyền f cho kết quả
đầu ra là vô hƣớng a = f(wp+b). Có thể điều chỉnh những thông số của nơron nhƣ
trọng số và ngƣỡng (w và b) để đạt đƣợc yêu cầu mong muốn nghĩa là “huấn
luyện” mạng.
20
Số hóa bởi Trung tâm Học liệu
Hình 1.7.1.1(a) : Cấu trúc một Nơron
Hàm truyền
Có rất nhiều hàm truyền áp dụng trong mạng nơron nhân tạo, trong đó ba
hàm thƣờng sử dụng nhất là Hard Limit, Linear, Log-Sigmoid. Tổng quát với một
hàm truyền có đầu vào là một hoặc một nhóm vector thì đầu ra là :
a = f ( p * w + b ).
Với a: đầu ra
p: đầu vào
w: trọng số
b: ngƣỡng
f: hàm truyền
Vậy một ngõ vào với các hàm truyền khác nhau sẽ cho các kết quả khác
nhau. Để có giải pháp tối ƣu thì cần phải có kinh nghiệm sử dụng các hàm truyền
hoặc phải tốn một khoảng thời gian để thử nghiệm hàm truyền.
Nơron với Vector nhập
Một nơron đƣợc cho trên hình vẽ sau với vector nhập p = [p
1
, p
2
, ……p
R
],
trọng số W = w
1,1
, w
1,2
,……w
1,R
, ngƣỡng b và hàm truyền f . Tổng đối số và
ngƣỡng tạo ở ngõ ra n là
n = w
1,1
p
1
+ w
1,2
,p
2
+ ……w
1,R
p
R
+ b
hay n = W*p + b
Hình 1.7.1.1(b) : Nơron với vector nhập
Nếu có nhiều nơron thì cách biểu diễn trên không hiệu quả, do đó có thể
định nghĩa một lớp gồm nhiều nơron nhƣ sau.
21
Số hóa bởi Trung tâm Học liệu
Hình 1.7.1.1(c) : Nơron với vector nhập
1.7.1.2. Cấu trúc mạng
Hai hay nhiều nơron kết hợp thành một lớp, và một mạng riêng biệt có thể
chứa một hay nhiều lớp nơron.
Một lớp nơron
Trong hình dƣới mô tả một lớp nơron với:
R: số phần tử của vectơ đầu vào
S: số nơron trong lớp
a: vector ngõ ra của lớp nơron
Hình 1.7.1.2 (a) : Một lớp nơron
Ma trận trọng số W:
22
Số hóa bởi Trung tâm Học liệu
RSSS
R
R
www
www
www
W
,2,1,
,22,11,2
,12,11,1
Một lớp mạng đƣợc vẽ gọn nhƣ sau:
Hình 1.7.1.2 (b) : Một lớp mạng nơron
Mạng nhiều lớp nơron
Hình 1.7.1.2 (c) : Mạng nhiều lớp nơron
Mạng có nhiều lớp, mỗi lớp có một ma trận W, một ngƣỡng b và một vectơ
ngõ ra a. Thông thƣờng giá trị ra của một lớp là giá trị vào của lớp tiếp theo. Mỗi
lớp trong mạng đảm nhiệm vai trò khác nhau, lớp cho kết quả ở đầu ra của mạng
đƣợc gọi là lớp ngõ ra _ output layer, tất cả các lớp còn lại đƣợc gọi là lớp ẩn _
hidden layers. Mạng đa lớp có khả năng xử lý rất lớn. Chẳng hạn nhƣ một mạng có
hai lớp, lớp thứ nhất là sigmoid, lớp thứ hai là linear có thể đƣợc huấn luyện đến
một hàm gần đúng với một số kết nối cố định.
23
Số hóa bởi Trung tâm Học liệu
1.7.2. Cấu trúc dữ liệu
Cấu trúc định dạng của dữ liệu vào ảnh hƣởng đến việc mô phỏng của
mạng. Có hai loại mạng static network và dynamic network. Hai kiểu vector đầu
vào cơ bản là kiểu xảy ra đồng thời (concurrently) và kiểu xảy ra liên tục theo thời
gian (sequentially).
Kiểu đầu vào xảy ra đồng thời đƣợc mô phỏng trong mạng tĩnh (không có
hồi tiếp hoặc trễ), thứ tự của các vector đầu vào không quan trọng và chúng không
ảnh hƣởng lẫn nhau.
Kiểu đầu vào xảy ra liên tục đƣợc mô phỏng trong mạng dynamic. Thứ tự
các giá trị đầu vào rất quan trọng. Trong trƣờng hợp này, giá trị đầu ra thu đƣợc là
do giá trị vào hiện tại và giá trị vào trƣớc đó. Nếu thay đổi thứ tự của dữ liệu vào
thì sẽ làm thay đổi dữ liệu ra.
1.7.3. Kiểu huấn luyện
Trong phần này mô tả hai kiểu huấn luyện khác nhau.
Incremental training: trọng số và ngƣỡng của mạng đƣợc cập nhập mỗi
khi có dữ liệu vào mạng. Kiểu này ứng dụng trong cả hai mạng tĩnh và động, tuy
nhiên thƣờng dùng trong mạng động nhiều hơn, nhƣ là những bộ lọc thích ứng.
Batch training: trọng số và ngƣỡng của mạng chỉ đƣợc cập nhập sau khi tất
cả dữ liệu đã vào mạng, dùng trong cả hai mạng tĩnh và động.
1.8. Tóm tắt
Từ khi ra đời và phát triển, mạng nơron đã đƣợc ứng dụng trong nhiều lĩnh
vƣc khác nhau. Không thể liệt kê đƣợc hết ứng dụng của mạng nơron, tuy nhiên ta
có thể thấy một số ứng dụng điển hình nhƣ sau:
- Tài chính - ngân hàng: định giá bất động sản, cho vay, kiểm tra tài sản cầm
cố giá mức độ hợp tác, phân tích đƣờng tín dụng, chƣơng trình thƣơng mại thông
qua giấy tờ, cấp phát thẻ tín dụng, phân tích tài chính liên doanh, dự báo tỉ giá tiền
tệ,…
- Quân sự: định vị phát hiện vũ khí, dò tìm mục tiêu, nhận dạng ngƣời nói,
phân luồng rada.
24
Số hóa bởi Trung tâm Học liệu
- Y học: xử lý, chuẩn đoán hình ảnh trong y học, phân tích tín hiệu điện tâm
đồ,…
- Bảo hiểm: Đánh giá việc áp dụng các chính sách xã hội, tối ƣu hóa sản phẩm.
- Giao thông: các hệ thống dẫn đƣờng tự động trong ô tô, các bộ phận hoạt
động của xe,…
- Hàng không: phi công tự động, giả lập đƣờng bay, các hệ thống điều khiển
lái máy bay, bộ phận phát hiện lỗi,
- Giải trí: tạo các hiệu ứng đặc biệt, hoạt hình,
- Thiết bị điện tử: dự báo mã tuần tự, sơ đồ chip IC, điều khiển tiến trình,
phân tích nguyên nhân hỏng chip,
- Nhận dạng mẫu: phân loại tín hiệu của rada, nhận dạng và hiểu tiếng nói,
nhận dạng vân tay, kí tự, chữ viết,
- Xử lý tín hiệu: phân tích tín hiệu địa chấn và hình thái học.
- Xứ lý ảnh, nhìn máy: gồm trùng khớp ảnh, tiền xử lý ảnh, phân đoạn và
phân tích ảnh, nén ảnh,…
- Vấn đề lập kế hoạch, điều khiển và tìm kiếm: Gồm cài đặt song song các
bài toán thỏa mãn ràng buộc, bài toán lập thời khóa biểu cho trƣờng đại học, bài
toán ngƣời đi du lịch,
- Giải các bài toán tối ƣu: Vấn đề chính là tìm những thuật toán huấn luyện
mạng để góp phần tìm nghiệm cho nhiều lớp bài toán tối ƣu toàn cục.
Tóm lại, mạng nơron nhân tạo đƣợc xem là một cách tiếp cận đầy tiềm năng
để giải quyết các bài toán có tính phi tuyến, phức tạp và đặc biệt trong tình hình
các dữ liệu đầu vào không tƣờng minh.
Đầu vào của một nơron gồm ngƣỡng b và tổng các trọng số vào. Ngõ ra của
nơron phụ thuộc vào đầu vào và hàm truyền nơron đơn rất ít sử dụng. Tuy nhiên
một vài nơron có thể kết hợp thành một lớp hay nhiều lớp thì khả năng xử lý cao
hơn. Vấn đề đơn giản có thể trình bày bằng một lớp đơn. Tuy nhiên, nó không giải
quyết đƣợc nhiều vấn đề phức tạp. Mạng đa lớp feedforward có khả năng giải
quyết lớn hơn.
25
Số hóa bởi Trung tâm Học liệu
Cấu trúc một mạng có thể mô tả bằng số lớp, số nơron trong một lớp, hàm
truyền của mỗi lớp và kết nối giữa các lớp. Tùy thuộc vấn đề mạng cần giải quyết
mà có cấu trúc khác nhau.
Nếu một ánh xạ tuyến tính cần mô tả nên sử dụng nơron tuyến tính. Tuy
nhiên, mạng tuyến tính không thể thực hiện bất cứ tính toán phi tuyến nào. Sử
dụng hàm truyền phi tuyến để tạo cho mạng có khả năng thực hiện mối quan hệ
phi tuyến giữa đầu vào và đầu ra. Mạng có ngƣỡng b có thể mô tả mối quan hệ
giữa đầu vào và đầu ra dễ dàng hơn mạng không có ngƣỡng b. Ví dụ một nơron
không có ngƣỡng sẽ luôn tạo ra ngõ vào zero cho hàm truyền (khi tất cả ngõ vào
nơron là zero). Tuy nhiên một nơron với ngƣỡng có thể học để tạo ra một ngõ nhập
cho bất kỳ hàm truyền