ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ NGỌC HÂN
Mạng nơron và ứng dụng mạng nơron trong nhận dạng
cảm xúc trên khuôn mặt người
Ket-noi.com forum công nghệ, giáo dục
luËn v¨n th¹c Sü CÔNG NGHỆ THÔNG TIN
Hµ néi - 2006
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ NGỌC HÂN
Mạng nơron và ứng dụng mạng nơron trong nhận dạng
cảm xúc trên khuôn mặt người
Mã số
: 1.01.10
luËn v¨n th¹c Sü CÔNG NGHỆ THÔNG TIN
Người hướng dẫn khoa học: PGS.TS. Ngô Quốc Tạo
Hµ néi - 2006
1
MỤC LỤC
Danh mục các chữ viết tắt ........................................................................................3
Danh mục các hình vẽ và bảng biểu .........................................................................4
Mở đầu
..............................................................................................................6
Chương 1 - Giới thiệu mạng nơron nhân tạo ..........................................................8
1.1.
Mạng nơron nhân tạo....................................................................................8
1.1.1.
Giới thiệu nơron sinh học .....................................................................8
1.1.2.
Nơron – Phần tử cơ bản ........................................................................9
1.1.3.
Mô hình nơron nhiều đầu vào .............................................................11
1.2.
Kiến trúc mạng nơron nhân tạo ..................................................................12
1.2.1.
Mô hình một lớp nơron (Layer) ..........................................................12
1.2.2.
Mô hình nhiều lớp nơron (Multiple Layer) ........................................13
1.3.
Phân loại mạng nơron .................................................................................15
1.3.1.
Phương pháp học không giám sát .......................................................15
1.3.2.
Phương pháp học có giám sát .............................................................16
1.3.3.
Thuật toán lan truyền ngược ...............................................................16
1.3.4.
Giới thiệu mạng perceptron nhiều lớp ................................................18
1.3.5.
Bài toán phân lớp các đối tượng .........................................................18
1.3.6.
Bài toán xấp xỉ hàm ............................................................................20
1.3.7.
Thuật toán lan truyền ngược ...............................................................22
1.4.
Nhận xét .....................................................................................................29
Chương 2 - Các cải tiến của thuật toán lan truyền ngược trên mạng nhiều lớp ....31
2.1.
Điểm yếu của lan truyền ngược..................................................................31
2.1.1.
Ví dụ về mặt thực hiện ........................................................................32
2.1.2.
Ví dụ về hội tụ .....................................................................................36
2.2.
Các cải tiến theo kinh nghiệm của lan truyền ngược .................................38
2.2.1.
Thuật toán lan truyền ngược với kỹ thuật biến đổi hệ số quán tính ...38
2.2.2.
Thuật toán lan truyền ngược với kỹ thuật biến đổi hệ số học .............41
2.3.
Các công nghệ tối ưu ..................................................................................43
2
Ket-noi.com forum công nghệ, giáo dục
2.3.1.
Thuật toán lan truyền ngược với kỹ thuật Gradient liên hợp ..............43
Chương 3 - Ứng dụng mạng nơron trong nhận dạng cảm xúc trên mặt người .....50
3.1.1.
Công cụ thử nghiệm MATLAB ..........................................................53
3.1.2.
Neural network toolbox cho MATLAB ..............................................53
3.2.
Pha xác định mặt người [1] ........................................................................54
3.2.1.
Cấu trúc mạng định tuyến ...................................................................55
3.2.2.
Cấu trúc mạng xác định mặt ...............................................................56
3.3.
Pha phân lớp nét cảm xúc ...........................................................................57
3.3.1.
Tách đặc trưng và chuẩn hóa ảnh .......................................................58
3.3.2.
Các cách khởi tạo và đánh giá mạng nơron ........................................59
3.3.3.
Các lựa chọn tham số cho hệ thống nhận dạng ...................................62
Chương 4 - Các kết quả thu được ..........................................................................63
4.1.
Kết quả của phần xác định mặt ..................................................................63
4.2.
Pha nhận dạng cảm xúc trên khuôn mặt người ..........................................66
4.2.1.
Cơ sở dữ liệu ảnh mặt người ...............................................................66
4.2.2.
So sánh các công nghệ chuẩn hóa đầu vào .........................................66
4.2.3.
Chọn thuật toán huấn luyện mạng tốt nhất .........................................68
4.2.4.
Lựa chọn số nơron trong lớp ẩn tốt nhất .............................................69
4.2.5.
Hệ số học và hệ số quán tính ..............................................................72
4.2.6.
Hệ thống tốt nhất .................................................................................74
Kết luận
............................................................................................................75
Tài liệu tham khảo ..................................................................................................76
Phụ lục
............................................................................................................78
3
Danh mục các chữ viết tắt
Chữ viết tắt
Feedforward
Mô tả
Mạng nơron truyền thẳng nhiều lớp
neuron network
LMS
Least Mean Square – thuật toán bình phương trung bình nhỏ
nhất
MSE
Mean Square Error - sai số bình phương trung bình
BP
Back Propagation Algorithm – thuật toán lan truyền ngược
SDBP
Steepest Descent Backpropagation - thuật toán lan truyền
ngược giảm nhanh nhất
MOBP
Momentum Back Propagation – thuật toán lan truyền ngược
với kỹ thuật biến đổi quán tính
VLBP
Variable Learning Rate Back Propagation – thuật toán lan
truyền ngược với kỹ thuật biến đổi hệ số học
CGBP
Conjugate Gradient Back Propagation – thuật toán lan truyền
ngược với kỹ thuật Gradient liên hợp
Neuron network
toolbox
Bộ công cụ hỗ trợ xây dựng các mạng nơron trong Matlab.
4
Danh mục các hình vẽ và bảng biểu
Hình 1.1 - Sơ đồ mạng nơron sinh học..................................................................8
Hình 1.2 - Nơron một đầu vào ...............................................................................9
Hình 1.3 - Nơron nhiều đầu vào ..........................................................................11
Hình 1.4 - Nơron nhiều đầu vào ..........................................................................12
Hình 1.5 - Một lớp S nơron .................................................................................12
Hình 1.6 - Một lớp S nơron .................................................................................13
Hình 1.7 - Mạng nơron truyền thẳng nhiều lớp ...................................................14
Hình 1.8 - Mạng nơron 3 lớp truyền thẳng..........................................................18
Hình 1.9 - Các biên quyết định cho mạng XOR .................................................19
Hình 1.10 - Vấn đề phân lớp không tuyến tính .....................................................19
Hình 1.11 - Mạng XOR 2 lớp ................................................................................19
Hình 1.12 - Ví dụ mạng nơron xấp xỉ hàm............................................................20
Hình 1.13 - Sự phản ứng của mạng theo đầu vào .................................................21
Hình 1.14 - Mạng nơron 3 lớp ...............................................................................23
Hình 2.1 - Mạng 1-2-1 với hàm log-sigmoid trong cả 2 lớp ...............................32
Hình 2.2 - Hàm giá ..............................................................................................32
Hình 2.3 - Sai số bình phương bề mặt giữa
w11,1
Hình 2.4 - Sai số bình phương bề mặt giữa
w11,1
và
w12,1
......................................34
1
và b1 .........................................34
1
1
Hình 2.5 - Sai số bình phương bề mặt giữa b1 và b 2 ..........................................35
Hình 2.6 - Hai quỹ đạo SDBP (dạng lô)..............................................................37
Hình 2.7 - Sai số hội tụ mẫu bình phương ..........................................................37
Hình 2.8 - Quỹ đạo khi hệ số học quá lớn ...........................................................38
Hình 2.9 - Hiệu ứng làm trơn của quán tính ........................................................39
Hình 2.10 - Quỹ đạo có hệ số quán tính ................................................................40
Hình 2.11 - Quỹ đạo của biến đổi hệ số học .........................................................42
Hình 2.12 - Các đặc điểm hội tụ của Biến đổi hệ số học ......................................43
Hình 2.13 - Vị trí các khoảng thời gian .................................................................45
5
Hình 2.14 - Thu nhỏ kích thước của khoảng không cần thiết ...............................46
Hình 2.15 - Các bước trung gian của CGBP .........................................................48
Hình 2.16 - Quỹ đạo của Gradient liên hợp ..........................................................49
Hình 3.1 - Quy trình của hệ thống nhận dạng cảm xúc trên mặt người ..............52
Hình 3.2 - Mô hình hoạt động của mạng nơron tìm mặt .....................................54
Hình 4.1 - Trường hợp ảnh chỉ chứa không quá một mặt người trong ảnh ........64
Hình 4.2 - Trường hợp ảnh có nhiều mặt người trong ảnh .................................65
Hình 4.3 - Thời gian TB và MSE tương ứng với pp chuẩn hóa đầu vào ............67
Hình 4.4 - So sánh các thuật toán huấn luyện mạng ...........................................69
Hình 4.5 - Độ chính xác trung bình tương ứng với số nơron trong lớp ẩn .........70
Hình 4.6 - MSE tương ứng với số nơron trong lớp ẩn ........................................71
Hình 4.7 - Độ thiên vị trung bình tương ứng với số nơron trong lớp ẩn .............71
Hình 4.8 - Thời gian huấn luyện đạt được ..........................................................72
Hình 4.9 - Bảng tổng kết MSE khi biến đổi hệ số học và hệ số quán tính..........73
Bảng 3.1 - Các kiểu cảm xúc trên mặt và giá trị đích tương ứng ........................60
Bảng 4.1 - Các tham số trong so sánh các công nghệ chuẩn hóa đầu vào ...........67
Bảng 4.2 - Các tham số trong chọn thuật toán huấn luyện mạng ........................68
Bảng 4.3 - Các tham số trong chọn số nơron trong lớp ẩn ..................................70
Bảng 4.4 - Các tham số trong chọn hệ số học và hệ số quán tính .......................72
6
Mở đầu
Nhận dạng mẫu là một ngành khoa học mà nhiệm vụ của nó là phân lớp các đối
tượng thành một số loại hoặc một số lớp riêng biệt. Được biết đến từ lâu nhưng
trước những năm 1960, nó hầu như chỉ là kết quả nghiên cứu về mặt lý thuyết trong
lĩnh vực thống kê. Tuy nhiên, với sự phát triển không ngừng của khoa học kỹ thuật
cộng với việc ứng dụng các kết quả nghiên cứu của nhiều lĩnh vực khác, nhận dạng
mẫu đã đạt được những thành tựu nhất định và mở ra khả năng thực hiện được
những việc mà trước đây chỉ là mong muốn. Nhận dạng mẫu đã trở thành một thành
phần quan trọng trong những hệ thống máy tính thông minh được xây dựng để thực
hiện việc ra quyết định hiện nay.
Trong nhận dạng mẫu, cùng với những bài toán nhận dạng chữ, nhận dạng mặt
người,... bài toán nhận dạng cảm xúc trên mặt người cũng là một bài toán đang thu
hút được sự quan tâm, nghiên cứu của các nhà khoa học. Trong các cách biểu đạt
ngôn ngữ của cơ thể, cảm xúc là cái thể hiện rõ nhất những gì mà người nghe cảm
thấy. Nhà tâm lý Mehrabian qua nghiên cứu của ông (1968) [2] đã xác định rằng khi
một thông điệp từ một người chuyển tới người khác, phần từ ngữ chiếm 7% ảnh
hưởng, phần âm lượng của giọng nói chiếm 38%, trong khi đó ngôn ngữ của cơ thể
của người nói chiếm tới 55% ảnh hưởng của thông điệp đó. Nhận dạng cảm xúc có
thể được ứng dụng trong rất nhiều lĩnh vực như y học [17], tương tác giao diện
người – máy [6], phân tích cảm xúc con người [13], chuyển động thân người [3],....
Nhận dạng cảm xúc trên mặt có xu hướng phân tích các đặc trưng trên mặt vào các
lớp dựa trên các thông tin thị giác. Mặc dù vậy, các cảm xúc con người là kết quả
của nhiều nhân tố khác nhau, trong luận văn này chúng tôi thử xây dựng một hệ
thống phân lớp mặt để xác định 7 dạng cảm xúc cơ bản từ một đầu vào đã cho. Các
cảm xúc đó là: giận dữ, kinh tởm, sợ hãi, hạnh phúc, buồn, ngạc nhiên và một trạng
thái không có cảm xúc được gọi là „trung lập‟.
7
Mạng nơron nhân tạo là một trong những thuật toán ngày nay thường được sử
dụng trong nhận dạng mẫu. Được xây dựng theo nguyên tắc mô phỏng hoạt động bộ
não của con người, mạng nơron có khả năng tự sinh ra những liên kết đặc biệt giữa
các nơron bên trong để xây dựng những cấu trúc giải những bài toán mờ mà những
hàm toán học thông thường không thể giải quyết nổi. Những hệ thống xây dựng
bằng mạng nơron sẽ tự động sinh ra những đặc trưng riêng cho phù hợp với các ví
dụ được đưa vào huấn luyện. Do đó, thay vì các bộ phân lớp thống kê như HMM
(Hidden Markov Models)[14] hay xây dựng các bộ phân tích thông qua các mô hình
mẫu, trong luận văn này chúng tôi sẽ sử dụng mạng nơron nhân tạo và đặc biệt là
các mạng perceptron nhiều lớp để phát triển và kiểm tra một hệ thống phân loại cảm
xúc trên mặt người.
Luận văn gồm 4 chương:
Chương 1 giới thiệu tổng quan về mạng nơron nhân tạo và đi sâu vào trình bày
mạng nơron truyền thẳng nhiều lớp và thuật toán lan truyền ngược.
Chương 2 trình bày về nhược điểm của thuật toán lan truyền ngược và các
phương pháp cải tiến thuật toán.
Chương 3 mô tả bài toán áp dụng: nhận dạng cảm xúc bằng mạng nơron, và
đưa ra quy trình các bước thực hiện để có được các tham số và cấu hình mạng tốt
nhất.
Chương 4 trình bày các bước thực hiện và các kết quả mà chương trình đã đạt
được.
Cuối cùng là phần tổng kết các kiến thức đã trình bày trong các chương trước
và đưa ra định hướng của đề tài trong tương lai.
Ket-noi.com forum công nghệ, giáo dục
8
Chương 1 -
Giới thiệu mạng nơron nhân tạo
1.1. Mạng nơron nhân tạo
Mạng nơron nhân tạo được xây dựng trên cơ sở kế thừa cấu trúc và sự hoạt
động của mạng nơron sinh học. Sau đây chúng ta sẽ xem xét một cách tổng quan về
cấu trúc và sự hoạt động của mạng nơron sinh học, từ đó có những hình dung về cấu
trúc và sự hoạt động của mạng nơron nhân tạo.
1.1.1. Giới thiệu nơron sinh học
Như đã biết bộ não người chứa đựng khoảng 1011 nơron liên kết với nhau ở
mức cao, mỗi nơron có khoảng 104 liên kết tới các nơron khác. Mỗi nơron có ba
thành phần chính gồm: dendrites (vòi thu nhận tín hiệu), cell body (nhân nơron),
axon (trục chuyển tín hiệu). Vòi nhận tín hiệu có hình cây để nhận các tín hiệu đưa
vào trong nhân của nơron. Nhân có nhiệm vụ tổng hợp các tín hiệu được thu nhận
từ các vòi và kích hoạt nó, nếu vượt một ngưỡng nào đó thì tín hiệu sẽ được chuyển
tới axon và truyền đến các nơron khác. Khớp nối giữa axon của một nơron với vòi
của nơron khác gọi là synapse.
Dendrites
Axon
Cell body
Synapse
Hình 1.1 -
Sơ đồ mạng nơron sinh học
Khi mới sinh ra bộ não người có cấu trúc đơn giản, và ngày càng được hoàn
thiện bởi việc học của con người. Đó là việc thiết lập các liên kết giữa các nơron với
nhau để biểu diễn tri thức của con người có được, từ đó xử lý các thông tin khác.
9
Mạng nơron nhân tạo không tiếp cận theo cách liên kết phức tạp của não người.
Tuy nhiên chúng có 2 điểm chính tương tự nhau, đó là: xây dựng các khối đều là
những phần tính toán đơn giản được kết nối với nhau ở mức cao; liên kết giữa các
nơron để xác định chức năng của mạng.
1.1.2. Nơron – Phần tử cơ bản
Nơron có một đầu vào được biểu diễn như hình 2, đầu vào p sẽ nhân với trọng
số liên kết w đưa vào bộ tổng, thêm một đầu vào bằng 1 nhân với độ lệch b đưa vào
bộ tổng. Kết quả đầu ra là z sẽ qua hàm kích hoạt f để cho đầu ra của nơron đó là a.
Input
p
Neuron
w
z
f
a
b
1
a f (wp b)
Hình 1.2 -
Nơron một đầu vào
Trong đó:
p - tín hiệu đầu vào của nơron
w - trọng số liên kết giữa đầu vào p tới nơron
b - độ hiệu chỉnh (độ lệch) đóng vai trò ngưỡng trong nơron sinh học
z - tổng tín hiệu đầu vào cùng với độ lệch b
f - hàm kích hoạt của nơron
a - tín hiệu ra của nơron
Kết quả đầu ra của nơron được tính như sau:
10
a f z f wp b
(1.1)
Kết quả đầu ra sẽ phụ thuộc vào việc lựa chọn hàm kích hoạt f. Độ lệch b xem
như một trọng số liên kết với đầu vào luôn là 1, tuy nhiên nếu không cần thiết thì ta
có thể bỏ đi.
Trọng số w và độ lệch b là những tham số có thể điều chỉnh trong quá trình học
của nơron, việc thay đổi này sẽ được giới thiệu qua một số phương pháp học của
mạng nơron ở chương sau.
Hàm kích hoạt có thể là tuyến tính hoặc phi tuyến, hàm được chọn sao cho thoả
mãn một số tiêu chuẩn của vấn đề mà nơron cần giải quyết. Một số hàm kích hoạt
thường dùng thể hiện trong bảng sau.
Tên hàm
Hard Limit
Symmetrical Hard Limit
Linear
Saturating Linear
Symmetric Sarturating
Linear
Log-Sigmoid
Hyperbolic Tangent
Sigmoid
Positive Linear
Competitive
Diễn giải: a=f(z)
0 z 0
a f ( z)
1 z 0
1 z 0
a f ( z)
1 z 0
a = f(z) = z
0
a f ( z) z
1
0
a f ( z) z
1
hardlim
hardlims
purelin
z0
0 z 1
sarlin
z 1
z 1
1 z 1
sarlins
z 1
1
1 e z
e z ez
a f ( z) z
e ez
a f ( z)
0
a f ( z)
z
1
a f ( z)
0
Ký hiệu
z0
z0
neuron with max z
all other neurons
logsig
tansig
poslin
compet
11
Ket-noi.com forum công nghệ, giáo dục
1.1.3. Mô hình nơron nhiều đầu vào
Một nơron thực chất sẽ có nhiều đầu vào qua các liên kết, với một nơron có R
đầu vào p1, p2, ... , pR, mỗi đầu vào sẽ qua một liên kết có trọng số là w1,1, w1,2, ...,
w1,R của ma trận trọng số W.
Inputs
p1
p2
Neuron
w1,1
z
f
a
p3
w1,R
pR
b
1
a f (Wp b)
Hình 1.3 -
Nơron nhiều đầu vào
Nơron có độ lệch b, do đó tổng đầu vào của nó sẽ là:
z w1,1 p1 w1, 2 p 2 ... w1, R p R b
(1.2)
Hay viết dưới dạng ma trận ta có:
z Wp b
(1.3)
Trong đó ma trận trọng số W cho một nơron nên nó chỉ có một dòng. Kết quả
đầu ra của mạng được tính là:
a f (Wp b)
(1.4)
Ta đánh chỉ số liên kết của ma trận trọng số theo cách thông thường, chỉ số đầu
là liên kết đích, chỉ số sau là liên kết nguồn. Ví dụ ta viết w1,3 có nghĩa là trọng số
liên kết tới nơron thứ 1 từ nơron thứ 3.
Ta có thể minh hoạ nơron nhiều đầu vào bằng hình vẽ sau:
12
Neuron
Inputs
p
W
Rx1
a
1xR
f
z
1x1
b
1
1x1
R
1
a=f(Wp+b)
Hình 1.4 -
Nơron nhiều đầu vào
1.2. Kiến trúc mạng nơron nhân tạo
Mạng nơron sinh học có kiến trúc rất phức tạp, các liên kết giữa các nơron rất
nhiều (mỗi nơron có khoảng 104 liên kết tới các nơron khác). Đối với mạng nơron
nhân tạo ta chỉ xét loại mạng truyền thẳng là chủ yếu, tức là các nơron được chia
thành lớp và xếp theo thứ tự mỗi lớp, các nơron ở lớp trước kết nối trực tiếp tới các
nơron ở lớp kề sau.
1.2.1. Mô hình một lớp nơron (Layer)
Một lớp có S nơron được biểu diễn như hình 1.5, mỗi nơron sẽ liên kết đầy đủ
với các đầu vào pi vì thế ma trận trọng số liên kết sẽ có kích thước S x R.
Lớp S nơron
Đầu vào
p1
w1,1
z1
f
a1
z2
f
a2
zS
f
aS
b1
p2
1
p3
b2
1
pR
wS,R
bS
1
a f (Wp b)
Hình 1.5 -
Một lớp S nơron
13
Một lớp nơron sẽ gồm có một ma trận trọng số W, các bộ tổng, véctơ độ lệch b,
hàm kích hoạt và véctơ đầu ra a. Các đầu vào của lớp nơron này cũng có thể là các
đầu ra của một lớp nơron khác (lớp kề trước).
Số nơron trong lớp sẽ độc lập với số đầu vào (RS). Hàm kích hoạt của các
nơron trong lớp người ta thường dùng chung một hàm, tuy nhiên ta có thể xây dựng
lớp mà các nơron có hàm kích hoạt khác nhau.
Ma trận trọng số liên kết của một lớp nơron được biểu diễn như sau:
w1,1
w
2,1
W
wS ,1
w1, 2
w2, 2
wS , 2
w1, R
w2, R
wS , R
(1.5)
Một lớp có S nơron và R đầu vào có thể được minh hoạ bởi hình sau:
Inputs Lớp S nơron
p
W
Rx1
SxR
1
R
a
Sx1
z
1x1
f
b
Sx1
1
a=f(Wp+b)
Hình 1.6 -
Một lớp S nơron
1.2.2. Mô hình nhiều lớp nơron (Multiple Layer)
Là mô hình được tạo bằng cách liên kết nhiều nơron lại với nhau để tạo thành
một mạng nơron nhân tạo. Lớp đầu tiên ta gọi là lớp vào – Input layer, lớp cuối
cùng gọi là lớp ra – Output layer, các lớp trong gọi là lớp ẩn – Hidden layer. Các
nơron ở lớp sau sẽ liên kết với các nơron ở lớp kề trước, ngoại trừ lớp vào.
14
Lớp vào
p1
1
1,1
w
Lớp 1
z11
f
1
1
a
2
1,1
w
b
p2
1
p3
z
b
ps
1
1
1
w1S1 , R
1
1
2
1
f
a
1
2
z
1
S1
1
a
f
b
wS22 ,S1
1
a 1 f 1 (W 1 p b1 )
Hình 1.7 -
2
1
b
1
S1
b
z12
1
1
2
1
S1
Lớp 2
1
z
2
1
3
1,1
a
2
f
w
Lớp 3
z13
3
1
a13
3
a 23
3
aS33
f
b
2
2
2
f
2
2
a
1
2
2
b
z
3
2
S2
2
f
a
2
S2
b
2
S2
wS33 ,S 2
1
a 2 f 2 (W 2 a 1 b 2 )
1
z 23
f
3
2
z S33
f
3
S3
b
1
a 3 f 3 (W 3 a 2 b 3 )
Mạng nơron truyền thẳng nhiều lớp
Kết quả đầu ra chi tiết như sau:
a 3 f 3 W 3 . f 2 W 2 . f 1 W 1 . p b1 b 2 b 3
(1.6)
Ta gọi mạng trên là mạng nơron truyền thẳng nhiều lớp (Feedforward Neuron
Network), các nơron ở lớp trước kết nối tới các nơron ở lớp sau, không có nơron ở
lớp sau nối ngược sang lớp trước.
Mỗi lớp i (i=1, 2, ...) có số nơron trong lớp là si và ma trận liên kết với lớp
trước là Wi có kích thước Si x Si-1.
Mạng nơron nhiều lớp mạnh hơn mạng nơron một lớp. Ví dụ mạng nơron hai
lớp có lớp đầu là sigmoid và lớp sau là linear có thể huấn luyện để xấp xỉ các hàm
tuỳ ý rất tốt. Mạng một lớp không làm được điều này.
Vẫn còn quá sớm để ta nói đến việc lựa chọn cấu trúc cho mạng nơron. Số nút
vào, số nút ra được lựa chọn dựa vào bài toán cần giải. Vì thế nếu số biến vào là 3
thì số nút vào của mạng là 3, nếu số biến ra là 7 thì số nút ra của mạng phải là 7.
Cuối cùng các đặc trưng mong muốn ở đầu ra giúp ta lựa chọn hàm kích hoạt cho
kết quả ra. Nếu đầu ra là -1 hoặc 1 thì sử dụng hàm symmetrical hard limit. Vì vậy
kiến trúc của mạng một lớp xác định hoàn toàn đặc tả vấn đề, bao gồm số nút vào,
số nút ra và các đặc trưng đầu ra.
15
1.3. Phân loại mạng nơron
Có nhiều cách phân chia các loại hình mạng nơron, nhưng trong quá trình xây
dựng mạng, người ta thấy rằng các phương pháp cho mạng học sẽ quyết định tới
khả năng của mạng sau này. Vì vậy cách phân chia phổ biến nhất hiện nay dựa vào
phương pháp cho mạng học các tri thức mới. Có hai hướng chính là học có giám sát
(supervised learning) và tự học hay học không giám sát (unsupervised learning).
Trong khuôn khổ khoá luận này, ta chủ yếu xem xét phương pháp học có giám sát
cùng với một đại diện tiêu biểu của phương pháp này là thuật toán lan truyền ngược
sai số.
1.3.1. Phương pháp học không giám sát
Ngược lại với phương pháp học có giám sát, phương pháp học không có giám
sát là học để thực hiện một công việc mà không cần bất kỳ sự giám sát nào. Với
cách tiếp cận này, tập mẫu huấn luyện chỉ được cung cấp cho thuật toán dưới dạng:
D = {x=(x1,x2,…,xN)}, với x=(x1,x2,…,xN) là vectơ đặc trưng của mẫu huấn luyện
và nhiệm vụ của thuật toán huấn luyện mạng là phải phân chia tập dữ liệu D thành
các nhóm con, mỗi nhóm chứa một tập vectơ đầu vào có các đặc trưng giống nhau,
việc phân nhóm này cho phép tạo ra các lớp một cách tự động. Để phân nhóm trên
tập mẫu huấn luyện đầu vào, ta thường phải xây dựng các tiêu chuẩn để đánh giá
“độ giống nhau” giữa các mẫu.
Với bài toán nhận dạng, ta có thể nói: Phương pháp học không có thầy là
phương pháp học để phân lớp tập mẫu huấn luyện đầu vào, trong đó số lớp cần phân
là không biết trước và thuật toán học mạng có nhiệm vụ phải xây dựng được các
tiêu chuẩn đánh giá “độ giống nhau” giữa các mẫu sao cho các lớp mẫu được tạo ra
một cách tự động là tương đương với các lớp mẫu thực sự.
Trong thực tế, phương pháp học có giám sát được ứng dụng nhiều hơn phương
pháp học không có giám sát. Kiểu huấn luyện không có giám sát thường không
16
thích hợp với bài toán phân lớp bởi vì rất khó để xây dựng một phương pháp đảm
bảo được chắc chắn có sự tương ứng giữa các lớp được tạo ra một cách tự động với
các lớp dữ liệu thực sự, phương pháp này thường thích hợp hơn với các bài toán mô
hình hóa dữ liệu.
1.3.2. Phương pháp học có giám sát
Phương pháp học có giám sát là thực hiện một công việc nào đó dưới sự giám
sát của một thầy giáo. Với cách tiếp cận này, thuật toán huấn luyện mạng thường
được cung cấp một tập mẫu học dưới dạng: D={(x,t)|(x,t) [IRN x RK]}, trong đó:
x=(x1,x2,…,xN) là vectơ đặc trưng N chiều của mẫu huấn luyện và t=(t1,t2,…,tK) là
vectơr mục tiêu K chiều tương ứng. Nhiệm vụ của thuật toán là phải thiết lập được
một cách tính toán trên mạng như thế nào đó để sao cho với mỗi vectơ đặc trưng
đầu vào thì sai số giữa giá trị đầu ra thực sự của mạng và giá trị mục tiêu tương ứng
là nhỏ nhất.
Với bài toán nhận dạng, ta có thể nói: Phương pháp học có giám sát là phương
pháp học để phân lớp trên tập mẫu huấn luyện đầu vào, trong đó số lớp cần phân là
biết trước và thuật toán học mạng có nhiệm vụ phải xác định được các luật phân lớp
sao cho mỗi đầu vào huấn luyện sẽ được phân vào đúng lớp của nó. Một số thuật
toán điển hình trong phương pháp học có thầy là: thuật toán LMS (Least Mean
Square error), thuật toán lan truyền ngược (back propagation),…
Trong các loại hình mạng nơron học theo phương pháp có giám sát, nổi tiếng
nhất là mạng nơron nhiều tầng truyền thẳng học theo phương pháp lan truyền ngược
(backpropagation). Phần sau sẽ trình bày cấu trúc của loại mạng này cùng với thuật
toán học mạng của nó.
1.3.3. Thuật toán lan truyền ngược
Trong phần này luận văn sẽ trình bày một cách tiếp cận học rất hiệu quả, đó là
suy rộng của thuật toán LMS. Sự mở rộng này chính là thuật toán lan truyền ngược,
17
thường được dùng để huấn luyện mạng nhiều lớp. Theo luật học LMS, lan truyền
ngược là một thuật toán xấp xỉ xuống dốc từng bước, trong đó đặc trưng thực hiện
là sai số bình phương trung bình (MSE). Sự khác nhau giữa thuật toán LMS và lan
truyền ngược chỉ là cách tính đạo hàm. Với mạng tuyến tính một lớp, sai số là một
hàm hiện tuyến tính của các trọng số mạng, đạo hàm của nó với các trọng số được
tính dễ dàng. Trong mạng nhiều lớp với hàm kích hoạt phi tuyến, quan hệ giữa các
trọng số mạng và sai số là rất phức tạp. Để tính các đạo hàm, ta cần sử dụng các luật
chuỗi của các phép tính. Thực tế đây là một phần rất lớn được trình bày trong phần
này.
Luật học perceptron của Frank Rosenblatt và thuật toán LMS của Bernard
Widrow và Marcian Hoff được thiết kế để huấn luyện các mạng một lớp kiểu
perceptron. Như đã trình bày ở phần trước, các mạng một lớp này chịu một bất lợi
đó là chúng chỉ có khả năng giải quyết các vấn đề phân lớp tuyến tính. Cả Rosenbatt
và Widrow đã nhận thấy những hạn chế này và đề xuất mạng nhiều lớp có thể khắc
phục chúng, nhưng họ không đề xuất được thuật toán để huấn luyện các mạng quá
mạnh này.
Nhìn bên ngoài thoạt đầu mô tả về một thuật toán huấn luyện mạng nhiều lớp
chứa đựng luận điểm của Paul Werbos năm 1974. Luận điểm này biểu diễn thuật
toán trong ngữ cảnh của mạng tổng quát, với các mạng nơron như một trường hợp
đặc biệt, và không được phổ biến trong mạng nơron. Đến giữa những năm 1980
thuật toán lan truyền ngược được khám phá và công bố rộng rãi. Nó được David
Parker, Geoffrey Hinton và Ronald Williams khai phá lại một cách độc lập. Thuật
toán này nổi tiếng bởi kết luận của nhà tâm lý học David Rumelhart và James Mc
Clelland trong quyển sách Parallel Distributed Processing [5]. Mạng perceptron
nhiều lớp và thuật toán lan truyền ngược hiện nay được dùng rất rộng rãi trong
mạng nơron.
18
1.3.4. Giới thiệu mạng perceptron nhiều lớp
Để đơn giản ta chỉ xem xét mạng 3 lớp. Đầu ra của lớp thứ nhất là đầu vào của
lớp thứ hai và đầu ra của lớp thứ 2 là đầu vào của lớp thứ 3. Mỗi lớp có một số
lượng nơron khác nhau, và thậm chí các hàm kích hoạt khác nhau. Ma trận trọng số
được đánh chỉ số theo từng lớp như sau: lớp thứ nhất W1, lớp thứ 2 là W2 và lớp thứ
3 là W3. Hình vẽ 1.8 biểu diễn một mạng perceptron có 3 lớp.
Để xác định cấu trúc của một mạng nhiều lớp, ta sử dụng các chú thích viết tắt
sau, trong đó số lượng đầu vào được theo sau bởi số lượng nơron trong mỗi lớp:
R S1 S 2 S 3
1
1,1
w
1
S1 , R
w
1
b11
1
bS11
1
1,1
w
z 12
f
a11
b12
1
f
a
z1S1
1
f
wS22 ,S1
1
a1S1
b22
2
f
z S22
aS22
2
1
2
f
z 22
2
a
f
a 22
w13,1
wS33 ,S 2
2
1
b22
aS33
1
z
1
Hình 1.8 -
bS22
1
1
2
w12,1
1
1
b11
b 21
z11
wS3 3 ,S 2
b13
3
z13
f
f
a13
b23
1
bS33
z S33
1
3
f3
z 23
a 23
Mạng nơron 3 lớp truyền thẳng
Bây giờ ta hãy xem xét khả năng của mạng perpeptron 3 lớp này. Đầu tiên ta sẽ
thấy khả năng sử dụng mạng nhiều lớp cho bài toán phân lớp, sau đó là khả năng sử
dụng mạng nhiều lớp cho bài toán xấp xỉ hàm.
1.3.5. Bài toán phân lớp các đối tượng
Để minh hoạ khả năng của mạng perceptron nhiều lớp cho vấn đề phân lớp, các
cặp đầu vào/đầu ra cho một cổng XOR là
0
0
1
1
p1 , t1 0 p 2 , t 2 1 p3 , t 3 1 p 4 , t 4 0
0
1
0
1
- Xem thêm -