Tải bản đầy đủ (.pdf) (59 trang)

Hệ chuyên gia và ứng dụng trong nhận dạng động vật

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (618.38 KB, 59 trang )


TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
KHOA CÔNG NGHỆ THÔNG TIN
*************



NGUYỄN THỊ XÂM



ỨNG DỤNG THUẬT TOÁN ROSENBLATT
XÂY DỰNG CHƯƠNG TRÌNH
TƯ VẤN MUA MÁY TÍNH



KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Khoa học máy tính











HÀ NỘI − 2015




TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
KHOA CÔNG NGHỆ THÔNG TIN
*************



NGUYỄN THỊ XÂM



ỨNG DỤNG THUẬT TOÁN ROSENBLATT
XÂY DỰNG CHƯƠNG TRÌNH
TƯ VẤN MUA MÁY TÍNH




KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Khoa học máy tính




Người hướng dẫn khoa học

TS. LƯU THỊ BÍCH HƯƠNG

HÀ NỘI − 2015



LỜI CẢM ƠN

Lời đầu tiên, em xin chân thành cảm ơn TS. Lưu Thị Bích Hương đã
trực tiếp hướng dẫn em hoàn thành khóa luận. Với những lời chỉ dẫn, sự tận
tình hướng dẫn của cô đã giúp em vượt qua nhiều khó khăn trong quá trình
hoàn thành khóa luận này.
Em cũng xin gửi lời cảm ơn tới các thầy, cô giáo trong khoa Công nghệ
thông tin trường Đại học sư phạm hà nội 2 những người đã giúp đỡ cho em
trong suốt quá trình học tập và nghiên cứu.
Cuối cùng, em xin bày tỏ lòng biết ơn tới gia đình và các bạn bè đã
giúp đỡ, động viên em rất nhiều trong suốt quá trình học tập để em có thể
thực hiện tốt khóa luận này.
Hà Nội, tháng 05 năm 2015
Sinh viên thực hiện


Nguyễn Thị Xâm




LỜI CAM ĐOAN

Tên em là: NGUYỄN THỊ XÂM
Sinh viên lớp: K37A – Tin học, khoa Công nghệ thông tin, trường Đại
học sư phạm hà nội 2.
Em xin cam đoan:
1. Đề tài: “Ứng dụng thuật toán Rosenblatt xây dựng chương trình tư

vấn mua máy tính” là sự nghiên cứu của riêng em, dưới sự hướng dẫn của
TS. Lưu Thị Bích Hương.
2. Khóa luận hoàn toàn không sao chép của tác giả nào khác.
Nếu sai em xin hoàn toàn chịu trách nhiệm.
Hà Nội, tháng 05 năm 2015

Sinh viên thực hiện


Nguyễn Thị Xâm





MỤC LỤC

MỞ ĐẦU 1
CHƯƠNG 1: MẠNG NƠRON NHÂN TẠO 4
1.1. Mạng nơron nhân tạo 4
1.1.1. Khái niệm 4
1.1.2. Mô hình mạng nơron nhân tạo 6
1.1.3. Ứng dụng của mạng nơron nhân tạo 10
1.2. Mạng nơron lan truyền thẳng nhiều lớp 12
1.2.1. Mạng perceptron một lớp 12
1.2.2. Mạng perceptron nhiều lớp 14
CHƯƠNG 2: THUẬT TOÁN ROSENBLATT ĐỂ HUẤN LUYỆN MẠNG
PERCEPTRON 16
2.1. Giới thiệu thuật toán Rosenblatt 16
2.1.1. Lịch sử 17

2.1.2. Tư tưởng của thuật toán 18
2.2. Luật học 19
2.2.1. Luật học có giám sát 19
2.2.2. Luật học gia tăng 20
2.2.3. Luật học không giám sát 20
2.3. Kiến trúc perceptron 20
2.3.1. Perceptron một nơron 22
2.3.2. Perceptron nhiều nơron 25
2.4. Luật học perceptron 26
2.4.1. Kiểm tra vấn đề 26
2.4.2. Xây dựng luật học 28
2.4.3. Luật học thống nhất 32
2.4.4. Huấn luyện mạng perceptron nhiều nơron 33
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG 35
3.1. Phát biểu bài toán 35


3.2. Thuật toán Rosenblatt huấn luyện mạng Perceptron trong bài toán tư
vấn mua máy tính 35
3.2.1. Module giúp khởi tạo trọng số và hệ số hiệu chỉnh 35
3.2.2. Module áp dụng thuật toán Rosenblatt huấn luyện mạng Perceptron
36
3.2.3. Module thông tin cá nhân 38
3.2.4. Module kết quả 41
3.2.5. Module lý do 41
3.3. Xây dựng chương trình mô phỏng 44
3.3.1. Giao diện chính 44
3.3.2. Module giúp khởi tạo trọng số và hệ số hiệu chỉnh 45
3.3.3. Module áp dụng thuật toán Rosenblatt huấn luyện mạng Perceptron
45

3.3.4. Module thông tin cá nhân 45
3.3.5. Module kết quả 47
3.3.6. Module lý do 47
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 48
TÀI LIỆU THAM KHẢO 50













BẢNG KÝ HIỆU VIẾT TẮT

Ký hiệu Viết đầy đủ Ý nghĩa
ANN
Artificial Neural Network Mạng nơron nhân tạo
MLP Multilayer Perceptron Mạng perceptron
nhiều lớp
IBM International Business Machines

Là một tập đoàn công
nghệ máy tính ở mỹ
AI Artificial Intelligence Trí tuệ nhân tạo

cm Xen-ti-met Hệ đo lường


















DANH MỤC HÌNH

Hình 1.1. Cấu tạo của tế bào nơron sinh học 5
Hình 1.2. Mô hình nơron nhân tạo 5
Hình 1.3. Mạng nơron nhân tạo chỉ có một nút và có sự phản hồi 8
Hình 1.4. Mạng nơron truyền thẳng một lớp 8
Hình 1.5. Mạng nơron truyền thẳng nhiều lớp 8
Hình 1.6. Mạng nơron hồi quy một lớp 9
Hình 1.7. Sự khác nhau giữa hồi quy tuyến tính và mạng 11
Hình 1.8. Mạng perceptron một lớp 13
Hình 1.9. Đồ thị biểu diễn hai đường thẳng để phân tách 14

Hình 1.10. Thực hiện XOR bằng mạng MLP 15
Hình 2.1. Mạng perceptron 20
Hình 2.2. Mạng perceptron hai đầu vào 22
Hình 2.3. Quyết định ranh giới cho hai đầu vào perceptron 23
Hình 2.4. Vấn đề bằng đồ thị 24
Hình 2.5. Vector trọng số trực giao 25
Hình 2.6. Đồ thị biểu diễn hai đầu vào và một đầu ra 26
Hình 2.7. Vấn đề kiểm tra mạng 27
Hình 2.8. Ranh giới quyết định 27
Hình 2.9. Các vector trọng số tương ứng với các ranh giới quyết định 28
Hình 2.10. Vector trọng số phân lớp 29
Hình 2.11. Các vector trọng số tại một trong hai vector khác nhau thuộc cùng
một lớp 29
Hình 2.12. Quy luật cộng p
1
và 1
w
30
Hình 2.13. Quy luật trừ p
1
và 1
w
31
Hình 2.14. Kết quả huấn luyện cả ba vector 31
Hình 3.1. Form giao diện chính 44
Hình 3.2. Form giúp khởi tạo trọng số và hệ số hiệu chỉnh 45

Hình 3.3. Form áp dụng thuật toán Rosenblatt huấn luyện mạng Perceptron
45
Hình 3.4. Form yêu cầu trả lời độ tuổi 46

Hình 3.5. Form yêu cầu trả lời thu nhập 46
Hình 3.6. Form yêu cầu trả lời đối tượng 46
Hình 3.7. Form yêu cầu trả lời chất lượng sản phẩm 46
Hình 3.8. Form kết quả 47
Hình 3.9. Form lý do 47





















1

MỞ ĐẦU
1. Lý do chọn đề tài

Cùng với sự phát triển mạnh mẽ của Công nghệ thông tin, máy tính là
nhu cầu thiết yếu của rất nhiều người. Một trong những ứng dụng của Công
nghệ thông tin là mạng nơron nhân tạo. Ngày nay máy tính đã và đang trở
thành một phần quan trọng trong cuộc sống hàng ngày của người dân, với số
lượng đông dân số trên toàn thế giới đang sử dụng máy tính.
Đặc trưng của mạng nơron là khả năng học và xử lý song song. Mạng
nơron nhân tạo được thiết kế để mô hình một số tính chất của mạng nơron
sinh học. Tuy nhiên, khác với các mô hình nhận thức, phần lớn các ứng dụng
lại có bản chất kỹ thuật. Vào năm 1957, Frank Rosenblatt và một số nhà
nghiên cứu khác đã phát triển một loại mạng nơron gọi là perceptron. Đóng
góp quan trọng của Rosenblatt là giới thiệu một luật học huấn luyện các mạng
perceptron để giải quyết vấn đề nhận dạng mẫu.
Trước đây, máy tính chỉ có cấu hình thấp, lưu trữ được ít, tốc độ chậm.
Để đáp ứng nhu cầu của người sử dụng rất nhiều hãng máy tính trên thế giới
đã ra đời với nhiều chức năng mới và tiện ích cho người sử dụng. Máy tính
không chỉ có chức năng lưu trữ, nó còn gọn nhẹ và cấu hình cao có thể lưu trữ
được nhiều hơn, thao tác thực hiện nhanh hơn …. Chính vì vậy, vấn đề đặt ra
là cần xây dựng chương trình tư vấn mua máy tính cho phù hợp với từng đối
tượng.
Với mong muốn học hỏi kinh nghiệm, đồng thời bổ sung kiến thức về
khoa học máy tính, cũng như tổng kết những kỹ năng kiến thức trong suốt quá
trình học tập ở trường, em quyết định chọn đề tài “Ứng dụng thuật toán
Rosenblatt xây dựng chương trình tư vấn mua máy tính” để làm đề tài
khóa luận tốt nghiệp.
2. Mục tiêu nghiên cứu
Mục tiêu của khóa luận “Ứng dụng thuật toán Rosenblatt xây dựng
chương trình tư vấn mua máy tính” là tìm hiểu, nghiên cứu về các kỹ thuật
2

mạng perceptron. Đồng thời xây dựng chương trình mô phỏng ứng dụng thuật

toán Rosenblatt vào chương trình tư vấn mua máy tính bằng ngôn ngữ Visual
C#.
3. Nhiệm vụ nghiên cứu
Nhiệm vụ cơ bản của khóa luận là tìm hiểu tổng quan về mạng nơron
nhân tạo, các ứng dụng của mạng nơron nhân tạo trong thực tế và đặc biệt là
thuật toán Rosenblatt. Đọc và tìm hiểu về ngôn ngữ Visual C#. Từ đó, xây
dựng một chương trình mô phỏng để tư vấn mua máy tính.
4. Đối tượng nghiên cứu
Đối tượng nghiên cứu là thuật toán Rosenblatt.
5. Phạm vi nghiên cứu
Vấn đề mạng nơron nhân tạo là một vấn đề rộng lớn. Vì vậy trong
phạm vi khóa luận này em chỉ đi tìm hiểu về mạng perceptron và thuật toán
Rosenblatt, ứng dụng thuật toán Rosenblatt để xây dựng chương trình mô
phỏng tư vấn mua máy tính.
6. Phương pháp nghiên cứu
a. Phương pháp nghiên cứu lý luận
Nghiên cứu qua việc đọc sách, báo và các tài liệu liên quan nhằm xây
dựng cơ sở lý thuyết của khóa luận và các biện pháp cần thiết để giải quyết
các vấn đề của khóa luận.
b. Phương pháp chuyên gia
Tham khảo ý kiến của các chuyên gia để có thể thiết kế chương trình phù
hợp với yêu cầu thực tiễn. Nội dung xử lý nhanh đáp ứng được yêu cầu ngày
càng cao của người sử dụng.
c. Phương pháp thực nghiệm
Thông qua quan sát thực tế, yêu cầu của cơ sở, những lý luận được
nghiên cứu và kết quả đạt được qua những phương pháp trên.


3


7. Ý nghĩa khoa học và thực tiễn
Ý nghĩa khoa học: Các mạng perceptron ra đời, phát triển và có cơ sở
khoa học vững chắc, nội dung nghiên cứu của khóa luận sẽ góp phần làm rõ
hơn lý thuyết mạng perceptron và tính ứng dụng của nó. Hiện nay mạng
perceptron là một lĩnh vực đang được các chuyên gia nghiên cứu và phát
triển.
Ý nghĩa thực tiễn: Chương trình mô phỏng nếu thành công sẽ góp phần
phát triển mạng perceptron và ứng dụng mạng perceptron trong các bài toán
phân lớp, dự đoán, điều khiển và tối ưu hóa, … đặc biệt trong việc tư vấn mua
máy tính cho phù hợp với từng đối tượng.
8. Bố cục của khóa luận
Khóa luận được trình bày trong ba chương với bố cục như sau:
Chương 1: Mạng nơron nhân tạo
Chương 2: Thuật toán Rosenblatt để huấn luyện mạng perceptron
Chương 3: Xây dựng chương trình mô phỏng











4

CHƯƠNG 1: MẠNG NƠRON NHÂN TẠO
1.1. Mạng nơron nhân tạo

1.1.1. Khái niệm
Theo các nhà nghiên cứu sinh học về bộ não, hệ thống thần kinh của
con người bao gồm khoảng 100 tỷ tế bào thần kinh, thường gọi là các nơron.
Mỗi tế bào nơron gồm ba phần:
+ Thân nơron với nhân bên trong (gọi là soma), là nơi tiếp nhận hay
phát ra các xung động thần kinh.
+ Một hệ thống dạng cây các dây thần kinh vào (gọi là dendrite) để đưa
tín hiệu tới nhân nơron. Các dây thần kinh vào tạo thành một lưới dày đặc
xung quanh thân nơron, chiếm diện tích khoảng 0, 25 mm
2
.
+ Đầu dây thần kinh ra (gọi là sợi trục axon) phân nhánh dạng hình
cây, có thể dài từ một cm đến hàng mét. Chúng nối với các dây thần kinh vào
hoặc trực tiếp với nhân tế bào của các nơron khác thông qua các khớp nối (gọi
là synapse). Thông thường mỗi nơron có thể có từ vài chục cho tới hàng trăm
ngàn khớp nối để nối với các nơron khác. Có hai loại khớp nối, khớp nối kích
thích (excitatory) sẽ cho tín hiệu qua nó để tới nơron còn khớp nối ức chế
(inhibitory) có tác dụng làm cản tín hiệu tới nơron. Ước tính mỗi nơron trong
bộ não của con người có khoảng 104 khớp nối (hình 1.1).
Chức năng cơ bản của các tế bào nơron là liên kết với nhau để tạo nên
hệ thống thần kinh điều khiển hoạt động của cơ thể sống. Các tế bào nơron
truyền tín hiệu cho nhau thông qua các dây thần kinh vào và ra, các tín hiệu
đó có dạng xung điện và được tạo ra từ các quá trình phản ứng hoá học phức
tạp. Tại nhân tế bào, khi điện thế của tín hiệu vào đạt tới một ngưỡng nào đó
thì nó sẽ tạo ra một xung điện dẫn tới trục dây thần kinh ra. Xung này truyền
theo trục ra tới các nhánh rẽ và tiếp tục truyền tới các nơron khác.



5











Hình 1.1. Cấu tạo của tế bào nơron sinh học
Với mục đích tạo ra một mô hình tính toán phỏng theo cách làm việc
của nơron trong bộ não con người. Vào năm 1943, các tác giả McCulloch và
Pitts đã đề xuất một mô hình toán học cho một nơron như sau:






Hình 1.2. Mô hình nơron nhân tạo
Trong mô hình này, một nơron thứ i sẽ nhận các tín hiệu vào x
j
với các
trọng số tương ứng là w
ij
, tổng các thông tin vào có trọng số là
m
ij j
j 1

w x



Thông tin đầu ra ở thời điểm t+1 được tính từ các thông tin đầu vào
như sau:
   
 
 
ij j i
out t 1 g w x t 1.1
   


Trong đó g là hàm kích hoạt (còn gọi là hàm chuyển) có dạng là hàm
bước nhảy, nó đóng vai trò biến đổi từ thông tin đầu vào thành tín hiệu đầu ra.
w
m
W
1
dendrite
axon
Soma
Synapse
6







1 nÕu f 0
g(t) (1.2)
0 nÕu f < 0

Như vậy, out = 1 (ứng với việc nơron tạo tín đầu ra) khi tổng các tín
hiệu vào lớn hơn ngưỡng θ
i
, còn out = 0 (nơron không tạo tín hiệu ở đầu ra)
khi tổng các tín hiệu vào nhỏ hơn ngưỡng θ
i
.
Trong mô hình nơron của McCulloch và Pitts, các trọng số w
ij
thể hiện
ảnh hưởng của khớp nối trong liên kết giữa nơron j (nơron gửi tín hiệu) và
nơron i (nơron nhận tín hiệu). Trọng số w
ij
tương ứng với khớp nối kích
thích, trọng số âm ứng với khớp nối ức chế còn w
ij
bằng 0 khi không có liên
kết giữa hai nơron. Hàm chuyển g ngoài dạng hàm bước nhảy còn có thể
chọn nhiều dạng khác nhau và sẽ được đề cập ở các phần sau.
Thông qua cách mô hình hoá đơn giản một nơron sinh học như trên,
McCulloch và Pitts đã đưa ra một mô hình nơron nhân tạo có tiềm năng tính
toán quan trọng. Nó có thể thực hiện các phép toán logic cơ bản như AND,
OR và NOT khi các trọng số và ngưỡng được chọn phù hợp. Sự liên kết giữa
các nơron nhân tạo với các cách thức khác nhau sẽ tạo nên các loại mạng
nơron nhân tạo (Artificial Neural Network – ANN) với những tính chất và

khả năng làm việc khác nhau.
1.1.2. Mô hình mạng nơron nhân tạo
Như đã được giới thiệu, mạng nơron nhân tạo là một hệ thống xử lý
thông tin được xây dựng trên cơ sở tổng quát hoá mô hình toán học của nơron
sinh học và phỏng theo cơ chế làm việc của bộ não con người. Mạng nơron
nhân tạo được thể hiện thông qua ba thành phần cơ bản: Mô hình của nơron,
cấu trúc và sự liên kết giữa các nơron, phương pháp học được áp dụng cho
mạng nơron.
a. Các phần tử xử lý
Việc xử lý thông tin tại mỗi nơron có thể xem là gồm hai phần: Xử lý
tín hiệu vào (input) và đưa tín hiệu ra (output). Tương ứng với phần vào của
mỗi nơron là một hàm tương tác (interaction) f, hàm này kết hợp các thông tin
7

truyền tới nơron và tạo thành thông tin đầu vào tổng hợp (gọi là net input) của
nơron đó.
Một nơron thứ i trong mạng thường có hàm f
i
ở dạng tuyến tính như
sau:


Thao tác thứ hai trong mỗi nơron là tính giá trị đầu ra tương ứng với
giá trị đầu vào f thông qua hàm kích hoạt hay còn gọi là hàm chuyển g(f)
(hàm kích hoạt). Một số hàm chuyển thường được sử dụng:
+ Hàm bước nhảy:


+ Hàm dấu:




+ Hàm sigmoid:


Hoặc:


b. Liên kết trong mạng nơron nhân tạo
Mạng nơron nhân tạo gồm các nơron và liên kết có trọng số giữa
chúng. ANN tạo nên một hệ thống xử lý thông tin làm việc trên cơ sở phỏng
theo cách làm việc của hệ thống các nơron trong bộ não con người. Tuy
nhiên, trong bộ não của con người, các tế bào nơron liên kết với nhau chằng
chịt và tạo nên một mạng lưới vô cùng phức tạp.
m
i i ij j i
j 1
f net w x

  


(1.3)
1 khi f 0
g(f) =
0 khi f < 0






(1.4)
1 khi f 0
g(f) = sgn(f) =
1 khi f < 0






(1.5)
f
1
g(f) =
1 + e


(1.6)
f
2
g(f) = - 1
1 + e


(1.7)
8

Các loại mạng nơron nhân tạo được xác định bởi cách liên kết giữa các
nơron, trọng số của các liên kết đó và hàm chuyển tại mỗi nơron. Các hình vẽ

dưới đây thể hiện các cách kết nối khác nhau.




Hình 1.3. Mạng nơron nhân tạo chỉ có một nút và có sự phản hồi






Hình 1.4. Mạng nơron truyền thẳng một lớp
Mạng nơron truyền thẳng một lớp là loại mạng chỉ có lớp nơron đầu
vào và một lớp nơron đầu ra (thực chất lớp nơron đầu vào không có vai trò xử
lý, do đó mạng chỉ có một lớp). Loại mạng này còn được gọi là mạng
perceptron một lớp. Mỗi nơron đầu ra có thể nhận tín hiệu từ các đầu vào x
1
,
x
2
, … , x
m
để tạo ra tín hiệu đầu ra tương ứng.








Hình 1.5. Mạng nơron truyền thẳng nhiều lớp

Trọng số
Lớp

Các lớp ẩn Lớp ra
9

Trong mạng nơron truyền thẳng nhiều lớp, lớp nhận tín hiệu vào của
mạng gọi là lớp vào (input layer), nó thường không thực hiện việc chuyển đổi
thông tin mà chỉ làm chức năng nhận tín hiệu. Tín hiệu ra của mạng được đưa
ra từ lớp ra (output layer). Các lớp ở giữa lớp vào và lớp ra gọi là các lớp ẩn.
Trong mạng truyền thẳng (feedforward network) không có nút nào mà đầu ra
của nó là đầu vào của một nút khác trên cùng lớp với nó hoặc lớp trước.
Mạng có phản hồi (feedback network) là mạng mà đầu ra của một
nơron có thể trở thành đầu vào của nơron trên cùng một lớp hoặc của lớp
trước đó. Mạng feedback có chu trình khép kín gọi là mạng hồi quy (recurrent
network).








Hình 1.6. Mạng nơron hồi quy một lớp
c. Các luật học của mạng nơron nhân tạo
Như đã được đề cập ở phần đầu, luật học là một trong ba yếu tố quan

trọng tạo nên một mạng nơron nhân tạo. Có hai vấn đề cần học đối với mỗi
mạng nơron nhân tạo đó là học tham số (parameter learning) và học cấu trúc
(structure learning).
Học tham số là việc thay đổi trọng số của các liên kết giữa các nơron
trong một mạng, còn học cấu trúc là việc điều chỉnh cấu trúc của mạng bao
gồm thay đổi số lớp nơron, số nơron của mỗi lớp và cách liên kết giữa chúng.
Hai vấn đề này có thể được thực hiện đồng thời hoặc tách biệt.
10

Về mặt phương pháp học, có thể chia ra làm ba loại: Học có giám sát
hay còn gọi là học có thầy, học tăng cường và học không có giám sát hay còn
gọi là học không có thầy.
1.1.3. Ứng dụng của mạng nơron nhân tạo
Đặc trưng của mạng nơron nhân tạo là khả năng học và xử lý song
song. Nó có thể gần đúng mối quan hệ tương quan phức tạp giữa các yếu tố
đầu vào và đầu ra của các quá trình cần nghiên cứu và khi đã học được thì
việc kiểm tra độc lập thường cho kết quả tốt. Sau khi đã học xong, mạng
nơron nhân tạo có thể tính toán kết quả đầu ra tương ứng với bộ số liệu đầu
vào mới.
Về mặt cấu trúc, mạng nơron nhân tạo là một hệ thống gồm nhiều phần
tử xử lý đơn giản cùng hoạt động song song. Tính năng này của ANN cho
phép nó có thể được áp dụng để giải các bài toán lớn.
Về khía cạnh toán học, theo định lý Kolmogorov, một hàm liên tục bất
kỳ f (x
1
, x
2
, , x
n
) xác định trên khoảng I

n
(với I =[0,1]) có thể được biểu diễn
dưới dạng:


Trong đó: χ
j
, Ψ
ij
là các hàm liên tục một biến. Ψ
ij
là hàm đơn điệu,
không phụ thuộc vào hàm f. Mặt khác, mô hình mạng nơron nhân tạo cho
phép liên kết có trọng số các phần tử phi tuyến (các nơron đơn lẻ) tạo nên
dạng hàm tổng hợp từ các hàm thành phần. Do vậy, sau một quá trình điều
chỉnh sự liên kết cho phù hợp (quá trình học), các phần tử phi tuyến đó sẽ tạo
nên một hàm phi tuyến phức tạp có khả năng xấp xỉ hàm biểu diễn quá trình
cần nghiên cứu. Kết quả là đầu ra của nó sẽ tương tự với kết quả đầu ra của
tập dữ liệu dùng để luyện mạng. Khi đó nói mạng nơron nhân tạo đã học được
mối quan hệ tương quan đầu vào - đầu ra của quá trình và lưu lại mối quan hệ
tương quan này thông qua bộ trọng số liên kết giữa các nơron. Do đó, mạng
   
2n 1 n
j ij i
j 1 i 1
f x x

 
 
  

 
 
 

(1.8)
11

nơron nhân tạo có thể tính toán trên bộ số liệu đầu vào mới để đưa ra kết quả
đầu ra tương ứng.








Hình 1.7. Sự khác nhau giữa hồi quy tuyến tính và mạng
Với những đặc điểm đó, mạng nơron nhân tạo đã được sử dụng để giải
quyết nhiều bài toán thuộc nhiều lĩnh vực của các ngành khác nhau. Các
nhóm ứng dụng mà mạng nơron nhân tạo đã được áp dụng rất có hiệu quả là:
+ Bài toán phân lớp: Loại bài toán này đòi hỏi giải quyết vấn đề phân
loại các đối tượng quan sát được thành các nhóm dựa trên các đặc điểm của
các nhóm đối tượng đó. Đây là dạng bài toán cơ sở của rất nhiều bài toán
trong thực tế: Nhận dạng chữ viết, tiếng nói, phân loại gen, phân loại chất
lượng sản phẩm, tư vấn sản phẩm …
+ Bài toán dự báo: Mạng nơron nhân tạo đã được ứng dụng thành công
trong việc xây dựng các mô hình dự báo sử dụng tập dữ liệu trong quá khứ để
dự đoán số liệu trong tương lai. Đây là nhóm bài toán khó và rất quan trọng
trong nhiều ngành khoa học.

+ Bài toán điều khiển và tối ưu hoá: Nhờ khả năng học và xấp xỉ hàm
mà mạng nơron nhân tạo đã được sử dụng trong nhiều hệ thống điều khiển tự
động cũng như góp phần giải quyết những bài toán tối ưu trong thực tế.
Tóm lại, mạng nơron nhân tạo được xem như 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 là
X
Y
Xấp xỉ bằng mạng nơron
Y= f (X, a
1,
… , a
n
)
X
Y
Hồi quy tuyến tính
Y = a
1
X + a
2
12

trong tình huống mối quan hệ bản chất vật lý của quá trình cần nghiên cứu
không dễ thiết lập tường minh.
1.2. Mạng nơron lan truyền thẳng nhiều lớp
1.2.1. Mạng perceptron một lớp
Mạng perceptron một lớp do F.Rosenblatt đề xuất năm 1960 và là
mạng truyền thẳng chỉ một lớp vào và một lớp ra không có lớp ẩn. Trên mỗi
lớp này có thể có một hoặc nhiều nơron. Mô hình mạng nơron của Rosenblatt
sử dụng hàm ngưỡng đóng vai trò là hàm chuyển. Do đó, tổng của các tín

hiệu vào lớn hơn giá trị ngưỡng thì giá trị đầu ra của nơron sẽ là 1, còn trái
lại sẽ là 0.
i
i
i
1 nÕu net
out = (1.9)
0 nÕu net <
 





Với net
i
= Σw
ij
x
j
là tổng thông tin đầu vào của nơron i.
Ngay từ khi mạng perceptron một lớp được đề xuất nó đã được sử
dụng để giải quyết bài toán phân lớp. Một đối tượng sẽ được nơron i phân vào
lớp A nếu:
Tổng thông tin đầu vào:
Trong đó: w
ij
là trọng số liên kết từ nơron j tới nơron i, x
j
là đầu vào từ

nơron j, và θ là ngưỡng của nơron i. Trong trường hợp trái lại đối tượng sẽ
được phân vào lớp B.
Việc huấn luyện mạng dựa trên phương pháp học có giám sát với tập
mẫu học là {(x
(k)
, d
(k)
)}, k = 1, 2, … , p. Trong đó d
(k)
= [d
1
(k)
, d
2
(k)
, …, d
n
(k)
]
T

là đầu ra quan sát được tương ứng với đầu vào x
(k)
= [x
1
(k)
, x
2
(k)
, … , x

m
(k)
]
T

(với m là số đầu vào, n là số đầu ra và p là cặp mẫu đầu vào - đầu ra dùng cho
việc học). Sau quá trình học, đầu ra tính toán được y
(k)
= [y
1
(k)
, y
2
(k)
, …, y
n
(k)
]
T

sẽ bằng với đầu ra của mẫu học d
(k)
.
   
 
   
 
m
k k k k
T

i i ij j i
i 1
y g w x g w x d víi i 1, 2, , n; k 1, 2, , p1.10

 
      
 
 


ij j i
w x
 


13







Hình 1.8. Mạng perceptron một lớp
Để bắt đầu quá trình luyện mạng, các trọng số được gán giá trị ngẫu
nhiên trong khoảng [-3, 3]. Sau đó hiệu chỉnh các trọng số cho phù hợp với
mẫu học để làm giảm sai số giữa y
(k)
và d
(k)

.
Các bước tiến hành:
 Xác định ngẫu nhiên bộ trọng số.
 Với mỗi mẫu học (x
(k)
, d
(k)
), k = 1, 2, … , p thực hiện các bước:
+ Tính giá trị y
(k)
theo công thức (1.10).
+ Xác định sai số δ
i
tại nơron i: δ
i
= d
i
– y
i
, trong đó d
i
là giá trị
đầu ra quan sát được và y
i
là giá trị đầu ra tính toán tại nơron thứ i.
+ Tính ∆w
ij
là số gia của trọng số w
ij
(trọng số liên kết giữa đầu

vào j tới nơron i) theo công thức: ∆w
ij
=ηδ
i
x
j
trong đó η là tốc độ học
(0<η<1).
+ Hiệu chỉnh w
ij
(t+1)
= w
ij
(t)
+ ∆w
ij
=w
ij
(t)
+ηδ
i
(t)
x
j
(t)

trong đó w
ij
(t+1)
là trọng số sau khi điều chỉnh ở lần học tại thời điểm t.

Rosenblatt đã chứng minh rằng quá trình học của mạng Perceptron sẽ
hội tụ tới bộ trọng số w, biểu diễn đúng các mẫu học với điều kiện là các mẫu
này biểu thị các điểm rời rạc của một hàm khả tách tuyến tính nào đó (f: R
n

→ R được gọi là khả tách tuyến tính nếu các tập {F
-1
(x
k
)}, với x
k
thuộc miền
trị của f, có thể tách được với nhau bởi các siêu phẳng trong không gian R
n
).
Năm 1969, Minsky và Papert đã chứng minh một cách chặt chẽ rằng
lớp hàm thể hiện sự phụ thuộc giữa đầu vào và đầu ra có thể học bởi mạng
perceptron một lớp là lớp hàm khả tách tuyến tính. Khả tách tuyến tính là
.
.
Y
1
Y
2
Y
n
W
n1
d
e

2
d
2
d
e
e
X
1
X
2
X
m
= -1
W
11
W
1m
W
12
.
.
14

trường hợp tồn tại một mặt siêu phẳng để phân cách tất cả các đối tượng của
một lớp này với một lớp khác, ví dụ một mặt phẳng sẽ phân chia không gian
ba chiều thành hai vùng riêng biệt. Mở rộng ra, nếu có n đầu vào, n > 2 thì
công thức
n
ij j i
i 1

w x

 

tạo nên một siêu phẳng có n-1 chiều trong không gian n
chiều, nó chia không gian đó thành hai nửa. Trong nhiều bài toán thực tế đòi
hỏi chia các vùng của các điểm trong một siêu không gian thành các lớp riêng
biệt. Loại bài toán này gọi là bài toán phân lớp. Bài toán phân lớp có thể giải
quyết bằng cách tìm các tham số thích hợp cho một siêu phẳng để nó có thể
chia không gian n chiều thành các vùng riêng biệt.
Với tính chất như đã nêu trên, mạng perceptron một lớp có thể mô tả
các hàm logic như AND, OR và NOT. Tuy nhiên nó không thể hiện được
hàm XOR. Như vậy chứng tỏ mô hình perceptron một lớp không thể giải
quyết bài toán này. Vấn đề này sẽ được giải quyết bằng mô hình mạng nơron
perceptron nhiều lớp (Multilayer Perceptron − MLP).
1.2.2. Mạng perceptron nhiều lớp
Mạng perceptron nhiều lớp (Multilayer Perceptron − MLP) còn được
gọi là mạng truyền thẳng nhiều lớp là sự mở rộng của mô hình mạng
perceptron với sự bổ sung thêm những lớp ẩn và các nơron trong các lớp ẩn
này có hàm chuyển (hàm kích hoạt) dạng phi tuyến. Mạng MLP có một lớp
ẩn là mạng nơron nhân tạo được sử dụng phổ biến nhất, nó có thể xấp xỉ các
hàm liên tục được định nghĩa trên một miền có giới hạn cũng như những hàm
là tập hợp hữu hạn của các điểm rời rạc.
Giải quyết bài toán XOR với mạng MLP:




Hình 1.9. Đồ thị biểu diễn hai đường thẳng để phân tách
X

X
15

Có thể dùng hai đường thẳng để phân tách với trường hợp hàm XOR:
-0, 5 + x
1
+ x
2
= 0 và -1, 5 + x
1
+ x
2
= 0
Hay giải hệ bất phương trình:
1 2 1 2
1 2 1 2
0, 5 + x + x > 0 0, 5 + x + x > 0
1, 5 + x + x < 0 1,5 x x 0
 
 

 
   
 

Dễ thấy mỗi bất phương trình ở trên có thể được thực hiện bằng một
nơron và đầu ra của hai nơron này (hai bất phương trình) là đầu vào của một
hàm AND.
Do vậy có thể sử dụng mạng MLP sau để thực hiện chức năng của hàm
XOR như sau:





Hình 1.10. Thực hiện XOR bằng mạng MLP






1
1
X
2
X
1
Y = X
1
XOR X
2
-1.5
1
1
1
1
-1
-1
- 0.5
1.5

16

CHƯƠNG 2: THUẬT TOÁN ROSENBLATT ĐỂ HUẤN LUYỆN
MẠNG PERCEPTRON
2.1. Giới thiệu thuật toán Rosenblatt
Trong khoa học máy tính, Perceptron là một thuật toán cho học giám
sát của các phân loại nhị phân. Đây là một loại phân lớp tuyến tính dựa trên
một kết hợp một bộ dữ liệu với các vector đặc trưng. Các thuật toán cho phép
học tập trực tuyến và có thể xử lý các yếu tố cùng một lúc.

Các thuật toán perceptron được phát minh vào năm 1957 tại các phòng
thí nghiệm hàng không Cornell bởi Frank Rosenblatt, được tài trợ bởi văn
phòng Hoa Kỳ nghiên cứu hải quân. Các perceptron được dự định là một máy
tính, chứ không phải là một chương trình. Sau đó perceptron đã được thực
hiện trong phần cứng được xây dựng gọi là “Mark I perceptron”.
Trong một cuộc họp báo năm 1958 do Hải quân Mỹ tổ chức,
Rosenblatt đã tuyên bố về perceptron gây ra một cuộc tranh cãi nóng bỏng
trong cộng đồng AI non trẻ. Dựa trên báo cáo Rosenblatt, Perceptron là “phôi
thai của một máy tính điện tử hy vọng sẽ có thể đi bộ, nói chuyện, nhìn thấy,
ghi, sao chép chính nó và có ý thức về sự tồn tại của nó”.
Mặc dù ban đầu perceptron có vẻ đầy hy vọng, Rosenblatt đã nhanh
chóng chứng minh rằng perceptron không thể được huấn luyện để nhận ra
nhiều lớp của mô hình. Điều này dẫn đến các lĩnh vực mạng nơron trong tình
trạng trì trệ nhiều năm. Trước khi mạng perceptron được công nhận là một
mạng truyền thẳng với hai hoặc nhiều lớp (cũng được gọi là một perceptron
đa tầng) có sức mạnh xử lý lớn hơn nhiều so với perceptron một lớp. Lớp
perceptron đơn chỉ có khả năng học tập mô hình tách tuyến tính.
Năm 1969, một cuốn sách nổi tiếng mang tên Perceptrons bởi Marvin
Minsky và Seymour Papert đã cho thấy rằng lớp của mạng nơron không thể
giải quyết một hàm XOR. Rosenblatt tin rằng họ phỏng đoán không chính xác

rằng một kết quả tương tự cho một lớp - đa mạng perceptron. Tuy nhiên, điều
này là không đúng sự thật, vì cả hai Minsky và Papert đã biết rằng nhiều lớp

×