1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

85 1K 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 85
Dung lượng 3,83 MB

Nội dung

Danh mục các chữ viết tắt Feedforward neuron network Mạng nơron truyền thẳng nhiều lớp 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

Trang 1

ĐẠ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

luËn v¨n th¹c Sü CÔNG NGHỆ THÔNG TIN

Hµ néi - 2006

Trang 2

ĐẠ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

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

Trang 3

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

Trang 4

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

Trang 5

Danh mục các chữ viết tắt

Feedforward

neuron network

Mạng nơron truyền thẳng nhiều lớp

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

Trang 6

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 và w12, 1 34

Hình 2.4 - Sai số bình phương bề mặt giữa w11, 1và b11 34

Hình 2.5 - Sai số bình phương bề mặt giữa b11 và b12 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

Trang 7

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

Trang 8

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‟

Trang 9

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

Trang 10

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

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

Axon Dendrites

Cell body Synapse

Trang 11

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

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:

a 

Trang 12

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

00

)(

z

z z

01)

(

z

z z

10

00

)(

z

z z

z z

1 1

1 0

) (

z

z z

z z

f

e z

Hyperbolic Tangent

z z

e e

e e z f

z z

z z

all

z with neuron z

f a

0

max1

)

Trang 13

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

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à:

b p w p

w p w

z  1,1 1  1,2 2   1,R R  (1.2)

Hay viết dưới dạng ma trận ta có:

b Wp

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à:

) (Wp b f

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:

) (Wp b f

Trang 14

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

a=f(Wp+b)

) (Wp b f

Trang 15

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 (RS) 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:

S

R R

w w

w

w w

w

w w

w W

, 2

, 1 ,

, 2 2

, 2 1 , 2

, 1 2

, 1 1 , 1

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

SxR

z 1x1

1

a Rx1

Inputs Lớp S nơron

a=f(Wp+b)

Sx1

Trang 16

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

Kết quả đầu ra chi tiết như sau:

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

) ( 1 1 1

1R S

w

1 1

b

1 2

b

1

1

S b

1

1 2

1 , 1

2S S

w

2 1

b

2 2

b

2

2

S b

1

z

2 2

1 , 1

3 S S w

3 1

b

3 2

b

3

3

S b

1

z

3 2

a

3

3

S a

Trang 17

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

Trang 18

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,

Trang 19

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

Trang 20

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:

3 2

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

11

,1

00

,0

0

4 4

3 3

2 2

z

1 2

z

1

1

S z

1 1

a

1 2

a

1

1

S a

1 1

b

2 1,

w

2 ,S1

b

2 2

z

2 2

a

2 2

b

3 1 , 1

w

3 1

b

3 2

z

3 2

a

3 2

3 , 2

3S S w

Trang 21

Bài toán này đã được Minsky và Papert sử dụng năm 1969 để minh họa sự hạn chế của perceptron một lớp Vì 2 nhóm là không phân tách tuyến tính nên mạng perceptron một lớp không thể thực hiện phân lớp được

Một mạng 2 lớp có thể thực hiện điều này Thực tế có nhiều giải pháp xây dựng mạng khác nhau Mỗi giải pháp được sử dụng 2 nơron trong lớp thứ nhất để có 2 biên quyết định Biên thứ nhất chia p1 từ các mẫu và biên thứ 2 chia p4 Sau đó lớp thứ 2 được dùng để kết hợp 2 biên này lại sử dụng một toán tử AND Các biên quyết định cho lớp nơron đầu tiên được thể hiện trong hình sau:

Hình 1.9 - Các biên quyết định cho mạng XOR

Hình 1.10 - Vấn đề phân lớp không tuyến tính

Mạng nơron được thể hiện ở hình sau Toàn bộ các miền quyết định cho mạng này được hiển thị hình vẽ trên Miền tô đậm chỉ ra các đầu vào cho kết quả ra là 1

Hình 1.11 - Mạng XOR 2 lớp

1 1 , 1

w

1 ,

1R S

w

1 1

b

1 2

z

1

1 2

-1

-1 -1

2

2 Đầu vào Các quyết định riêng biệt Toán tử AND

Trang 22

1.3.6 Bài toán xấp xỉ hàm

Ngoài việc phân lớp, ta có thể huấn luyện mạng nơron để xấp xỉ hàm Ví dụ: trong các hệ điều khiển, mục tiêu là tìm một hàm hồi quy thích hợp để ánh xạ từ những đầu ra đo được tới các đầu vào điều khiển; trong lọc thích nghi, mục tiêu là tìm một hàm để ánh xạ từ những giá trị trễ của một tín hiệu đầu vào tới một tín hiệu đầu ra thích hợp Ví dụ sau cho thấy sự mềm dẻo của mạng perceptron nhiều lớp cho việc thực hiện các hàm

Xét mạng 2 lớp gồm 1-2-1 như hình vẽ sau Hàm kích hoạt ở lớp thứ nhất là log-sigmoid và hàm kích hoạt lớp thứ 2 là linear, biểu diễn bằng công thức như sau:

z z f e

1

10 ,

10 ,

10 ,

10

2 2

2 , 1

2 1 , 1

1 2

1 1

1 1 , 2

1 1 , 1

w

b b

w w

a

1 2

a

1

2 1 , 1

Trang 23

Hình 1.13 - Sự phản ứng của mạng theo đầu vào

Chú ý phản ứng của mạng gồm có 2 bước, mỗi bước cho một nơron sigmoid ở lớp thứ nhất Bằng cách điều chỉnh các tham số của mạng ta có thể thay đổi hình trạng và vị trí của mỗi bước, như ta sẽ thấy ở sau đây:

log-Tâm của các bước xuất hiện khi đầu vào tới một nơron trong lớp thứ nhất là 0:

110

100

1

1 1 1

1

1 1 , 1

1

w

b p b

p w

110

100

1 , 2

1 2 1

2

1 1 , 2

1

w

b p b

p w

Trang 24

Hình vẽ 1.14 minh hoạ những tác động của các tham số khi thay đổi trên sự phản ứng của mạng Đường nét xanh thể hiện phản ứng bình thường Các đường nét khác thể hiện sự phản ứng khi thay đổi một tham số tại một thời điểm trong khoảng sau:

11

,200

,11

,1

2

2 2 , 1

2 1 ,

Ví dụ này cho ta thấy sự mềm dẻo của mạng nhiều lớp Nó có thể xuất hiện với vai trò để xấp xỉ bất kỳ một hàm số nào, nếu ta có số lượng nơron đủ lớn trong lớp

ẩn Thực tế nó được xuất hiện dưới dạng 3 lớp, với hàm kích hoạt sigmoid trong lớp

ẩn và hàm linear ở lớp ra, mạng này có thể xấp xỉ gần nhất mọi hàm với độ chính xác bất kỳ

1.3.7 Thuật toán lan truyền ngược

Như ta đã biết, thuật toán lan truyền ngược được sử dụng trong mạng nhiều lớp, đầu ra của lớp trước trở thành đầu vào của lớp sau Các công thức được mô tả như sau:

1 , , 1 , 0 )

trong đó M là số lớp trong mạng Các nơron trong lớp thứ nhất nhận các đầu

Trang 25

Hình 1.15 - Mạng nơron 3 lớp

Thuật toán lan truyền ngược cho mạng nhiều lớp là một suy rộng của thuật toán bình phương trung bình nhỏ nhất (LMS – Least Mean Square), và cả 2 thuật toán này sử dụng cùng chỉ số đánh giá: Mean Square Error – sai số bình phương trung bình Thuật toán được cung cấp với một tập các ví dụ về cách ứng xử thích hợp của mạng:

p1,t1 , p2,t2, ,p Q,t Q (1.14)

trong đó pq là một đầu vào và tq là đầu ra mong muốn tương ứng Khi mỗi đầu vào được đưa vào mạng, kết quả đầu ra sẽ được so sánh với đầu ra mong muốn Thuật toán sẽ điều chỉnh các tham số của mạng để tối thiểu sai số bình phương trung bình giữa hai đầu ra này:

  2 ( ) 2

) (x E e E t a

Như trong thuật toán LMS, xấp xỉ sai số bình phương trung bình được tính bằng công thức:

) ( ).

( )) ( ) ( ( )) ( ) ( ( ) (x t k a k t k a k e k e k

a3=f 3(W3.p+b3)

S3x1

Trang 26

trong đó kỳ vọng của bình phương sai số thay bằng bình phương sai số ở bước huấn luyện thứ k

Từng bước điều chỉnh xuống dốc của thuật toán với sự xấp xỉ sai số bình phương trung bình là:

m j

m j

m j

w

F k

w k

w

, ,

,

ˆ )

( )

1 (

m i

m i

b

F k

b k

dw

w dz x dz

z df dw

w z

thì

) ( )) ( ) ( )) (

e dw

w dz x dz

z df dw

w z

Áp dụng vào công thức (1.18) và (1.19) ta có:

, ˆ

ˆ

, ,

m j

m i m i

m

z x z

F w

Trang 27

m i

m i m i

m

z x z

F b

Với cách thứ 2 này chúng ta có thể dễ dàng tính toán tổng đầu vào tới lớp thứ m

là một hàm hiện của các trọng số và độ lệch trong lớp đó:



 

1

1

1 ,

m

S j

m i

m j

m j

1 ,

m i m j m j

m i

z

z a w

z

(1.26)

Nếu định nghĩa

m i

m i z

F s

a s w

F

(1.28)

m i m i

j

m i

m j

m

m i

m i

m

Dưới dạng ma trận sẽ viết gọn thành:

Trang 28

T m m m

m m

m

s k b k

m m

m m

m

z F

z F z F

z

F s

(1.34)

Bây giờ để tính độ nhạy sm sẽ cần một phương pháp cho cách tính đạo hàm của hàm hợp Quá trình này cho ta khái niệm lan truyền ngược, bởi vì nó mô tả một quan hệ quay lui trong đó độ nhạy ở lớp m được tính từ độ nhạy ở lớp m+1

Để đưa ra quan hệ quay lui cho các độ nhạy, ta sẽ sử dụng ma trận Jacobian sau đây:

m s m

m s m

m s

m s

m m

m m

m

m s

m m

m m

m

m n

m

m m

m

m m

z

z z

z z

z

z

z z

z z

z

z

z z

z z

z

z z

1

2

1

1 1

1 2 2

1 2 1

1 2

1 1 2

1 1 1

1 1

1

1 1

Trang 29

,

1 ,

1 , 1

1 1

, 1

m j m m j i m

j

m j

m m j i

m j

m j m j i m

j

s i

m i

m i

m j i

m j

m i

z f w z

z f w

z

a w z

b a w z

m j

m m

j m

z

z f z

f

 ( ))

(

Vì thế ma trận Jacobian có thể được viết thành

) (

1

1

m m m m

m

z F W z

0

0)

(0

00

)()

1

m s m

m m

m m m

m

m

z f

z f

z f z

1

)(

ˆ)

m

T m m m m

T m

m m

m

s W z F

z

F W

z F z

F z

z z

F s

Trang 30

1 2

Ta cần có một bước nữa để hoàn thành thuật toán lan truyền ngược Ta cần điểm bắt đầu sM cho quan hệ quay lui của công thức (1.40) Điều này có được ở lớp cuối cùng:

M i

i i i M

i

s i

j j M

i

T M

a t z

a t a t z

F s

)()(

ˆ

Ta có

)()

j

M M

i

M j M M

i

M i M i

z

z f z

a z

j

M i i

Trang 31

2F z t a

1 , 2 , , 1 )

m m

 Có khả năng tính toán song song

Với thuật toán lan truyền ngược, mạng nơron đã có một số ứng dụng cụ thể Tuy nhiên, thuật toán này vẫn có một số hạn chế sau:

 Chưa có nguyên tắc thiết kế mạng tối ưu rõ ràng cho mọi ứng dụng

Trang 32

 Với một mạng đã có thì hàm xấp xỉ nào là thích hợp cũng chưa xác định

 Số tham số trong mạng phải nhỏ hơn số mẫu thì mới có thể tổng quát hóa được

 Mạng một tầng nơron với  thì đảm bảo hội tụ tối ưu toàn cục, trong khi mạng nhiều tầng nơron chỉ hội tụ đến điểm cực trị địa phương

 Thuật toán giảm nhanh nhất làm cho tốc độ hội tụ chậm

Với những hạn chế như vậy thì việc lựa chọn và xây dựng một mạng nơron ứng dụng để giải quyết một vấn đề trong thực tiễn đôi khi gặp khó khăn và hạn chế trong khả năng ứng dụng Sau đây, luận văn sẽ trình bày một số kỹ thuật được

áp dụng vào thuật toán lan truyền ngược nhằm tăng tốc độ hội tụ của thuật toán, nâng cao hiệu năng sử dụng của mạng nơron

Trang 33

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

Thuật toán lan truyền ngược giới thiệu ở chương 1 là một giải thuật chính trong nghiên cứu mạng nơron Tuy nhiên, trên thực tế, thuật toán này thực hiện rất chậm khi dùng trong hầu hết các ứng dụng Trong chương này, ta sẽ bắt đầu bằng ví dụ xấp xỉ hàm để mô tả việc tại sao thuật toán lan truyền ngược lại hội tụ chậm Sau đó

ta sẽ nghiên cứu các cách cải tiến thuật toán lan truyền ngược nhằm cải thiện tốc độ

và làm cho thuật toán trở nên thiết thực hơn

2.1 Điểm yếu của lan truyền ngược

Thuật toán LMS đảm bảo hội tụ tới đích là giá trị tối thiểu hóa sai số bình phương trung bình, cũng như là hệ số học không quá lớn Điều này đúng bởi vì sai

số bình phương trung bình cho một mạng 1 lớp tuyến tính là một hàm bậc hai Thêm nữa, ma trận Hessian của một hàm bậc 2 là hằng số, do đó độ cong của hàm theo một hướng không đổi và các đường viền của hàm là đường elip

Thuật toán lan truyền ngược giảm nhanh nhất (SDBP - Steepest Descent Backpropagation) là suy rộng của thuật toán LMS Giống như LMS, đó chỉ là một thuật toán giảm nhanh xấp xỉ cho cực tiểu sai số bình phương trung bình Do đó, thuật toán SDBP tương đương với thuật toán LMS khi dùng trên một mạng 1 lớp tuyến tính Khi áp dụng cho mạng nhiều lớp, các thuộc tính của thuật toán SDBP có nhiều thay đổi Thay đổi thể hiện rõ nhất ở mặt hiệu suất sai số bình phương trung bình giữa các mạng 1 lớp tuyến tính và các mạng nhiều lớp phi tuyến Trong khi bề mặt hiệu suất của một mạng 1 lớp tuyến tính có một điểm cực tiểu đơn và độ cong hằng số, thì bề mặt hiệu suất của một mạng nhiều lớp có thể có nhiều điểm cực tiểu cục bộ và độ cong có thể khá rộng trong các vùng khác nhau của không gian tham

số Điều này sẽ trở nên rõ ràng trong ví dụ dưới đây

Trang 34

2.1.1 Ví dụ về mặt thực hiện

Để kiểm tra mặt thực hiện sai số bình phương trung bình cho các mạng nhiều lớp ta sẽ thực hiện một ví dụ xấp xỉ hàm đơn giản sau Ta sẽ sử dụng một mạng 1-2-

1 như hình 2.1, với hàm kích hoạt log-sigmoid trong cả 2 lớp

Hình 2.1 - Mạng 1-2-1 với hàm log-sigmoid trong cả 2 lớp

Để đơn giản, ta sẽ đưa vào mạng một bài toán để so sánh và tìm ra giải pháp tối

ưu Hàm sẽ xấp xỉ để đáp ứng một mạng 1-2-1 tương tự, với các giá trị về trọng số

và độ lệch như sau:

5,5,

10,

2

1 1

1 1 , 2

1 1 ,

1,

1,

2 , 1

2 1 ,

Trang 35

Ta cần huấn luyện mạng của hình 2.1 để xấp xỉ hàm hiển thị trong hình 2.2 Xấp xỉ sẽ trở nên chính xác khi các tham số mạng được đặt theo các giá trị cho trong công thức (2.1) và (2.2) Tất nhiên, đây là một bài toán có nhiều hướng giải, nhưng nó khá đơn giản và nó thể hiện được một số khái niệm quan trọng

Chúng ta cùng xem xét chỉ số thực hiện cho bài toán Giả sử rằng hàm lấy mẫu

ở các giá trị

, 2 , 9 1 , 8 1 , , 8 1 , 9 1 ,

w và 2

1 , 1

w thay đổi, các tham số còn lại cố định với các giá trị tối ưu của chúng đã cho trong công thức (2.1) và (2.2) Chú ý rằng sai số tối thiểu sẽ bằng 0, và nó sẽ xuất hiện khi 1

1 , 1

w =10 và 2

1 , 1

w =1, như

đã biểu thị bằng vòng tròn mở màu xanh trong hình vẽ

Có nhiều điểm cần chú ý trên bề mặt sai số Đầu tiên, rõ ràng đó không phải là một hàm bậc 2 Độ dốc của nó biến đổi mạnh trong không gian tham số Với lý do này sẽ rất khó để chọn một hệ số học xấp xỉ cho thuật toán giảm nhanh nhất Trong một số vùng có bề mặt phẳng lớn sẽ cho phép chọn một hệ số học lớn, trong khi ở một số vùng khác có độ dốc lớn nên cần một hệ số học nhỏ

Chú ý rằng trên mặt thực hiện có những vùng phẳng không như mong đợi, do mạng dùng các hàm kích hoạt sigmoid Hàm sigmoid phẳng khi các đầu vào có giá trị lớn

Điểm thứ hai là trên bề mặt sai số có tồn tại nhiều hơn 1 điểm cực tiểu cục bộ Điểm cực tiểu toàn cục được định vị tại 1

1 , 1

w =10 và 2

1 , 1

w =1, điểm này định vị trong

Trang 36

hình lõm khi chạy song song theo trục 2

1 , 1

w (Điểm cực tiểu thực sự trên đồ thị tại

w =38.6.) Trong phần tiếp theo ta sẽ kiểm tra sự thực hiện của lan truyền ngược trên mặt này

Hình 2.3 - Sai số bình phương bề mặt giữa

1 1 , 1

w

2 1 , 1

w

Hình 2.4 mô tả sai số bình phương khi 1

1 , 1

w =10 và

1

1

b =-5, được biểu diễn bằng vòng tròn mở màu xanh trong hình

Thêm nữa ta thấy rằng bề mặt có một đường xoắn, dốc xuống trong một số vùng và rất phẳng trong một số vùng khác Chắc chắn rằng thuật toán giảm nhanh nhất chuẩn sẽ gặp một số vấn đề với bề mặt này Ví dụ, nếu chúng ta khi khởi tạo

w

b11

Trang 37

Hình 2.5 mô tả sai số bình phương khi 1

b =5, được biểu diễn bằng vòng tròn mở màu xanh trong hình

Bề mặt mô tả một tính chất quan trọng của mạng nhiều lớp, chúng đối xứng với nhau Ở đây chúng ta thấy rằng có 2 điểm cực tiểu cục bộ và chúng có cùng giá trị sai số bình phương Khi đảo ngược mạng đó (ví dụ: nơron trên cùng trong lớp đầu tiên được đổi chỗ cho nơron dưới cùng), chúng ta vẫn nhận được kết quả tương tự Với thuộc tính đối xứng như thế này, chúng ta không thể đặt các trọng số và độ lệch

về 0 vì khi đó 0 sẽ trở thành một điểm yên ngựa của mặt thực hiện

Nghiên cứu trên cho chúng ta một số gợi ý về cách khởi tạo các giá trị cho thuật toán SDBP Đầu tiên, ta không đặt các giá trị khởi tạo về 0 vì như vậy mặt hiệu suất

có xu hướng trở thành một điểm yên ngựa trong không gian tham số Thứ hai, ta không đặt cho các tham số khởi tạo các giá trị lớn vì việc này sẽ làm cho mặt thực hiện có xu hướng phân thành nhiều vùng phẳng, cách xa điểm tối ưu

Thông thường, ta chọn cho các trọng số khởi tạo và độ lệch một giá trị nhỏ ngẫu nhiên Với cách này ta giữ được khoảng cách với điểm yên ngựa mà không di chuyển ra những vùng rất phẳng của mặt thực hiện

Hình 2.5 - Sai số bình phương bề mặt giữa b11 1

2

b

Trang 38

2.1.2 Ví dụ về hội tụ

Trong phần trước chúng ta đã kiểm tra về mặt thực hiện, bây giờ chúng ta cùng kiểm tra sự thực hiện của thuật toán SDBP Ở phần này, chúng ta sẽ dùng một biến thể của thuật toán, gọi là theo lô (batching), trong đó các tham số chỉ cập nhật sau khi toàn bộ tập huấn luyện đã được thực hiện Các đạo hàm tính toán ở mỗi ví dụ huấn luyện được lấy trung bình nâng cao độ chính xác của nó

Trong hình 2.6 chúng ta thấy 2 quỹ đạo của thuật toán SDBP khi chỉ 2 tham số

ta sẽ gặp một lúc nào đó

Quỹ đạo “b” mô tả cách thuật toán có thể hội tụ tới một điểm cực tiểu cục bộ Quỹ đạo bị chặn lại trong một vùng „thung lũng‟ và phân kỳ từ giải pháp tối ưu Nếu cho phép tiếp tục quỹ đạo hội tụ tới 1

1 , 1

w =0.88 và 2

1 , 1

w =38.6 Thông thường sẽ tồn tại nhiều điểm cực tiểu cục bộ trên mặt hiệu suất của mạng nhiều lớp Với lý do này, tốt nhất là thử nhiều giá trị khởi tạo khác nhau để chắc chắn rằng thu được một cực tiểu toàn cục

Trang 39

Hình 2.6 - Hai quỹ đạo SDBP (dạng lô)

Sự cải thiện của thuật toán có thể nhận thấy trong Hình 2.7, nó chỉ ra sai số bình phương tỉ lệ với số lần lặp Đường cong trên hình trái tương ứng với quỹ đạo

“a” và đường cong trên hình phải tương ứng với quỹ đạo “b” Các đường cong đều

là những đường đặc thù của thuật toán SDBP, với các giai đoạn dài nhưng tiến bộ ít

và sau đó là các giai đoạn ngắn với những cải tiến nhanh chóng

Hình 2.7 - Sai số hội tụ mẫu bình phương

Chúng ta có thể thấy rằng các vùng phẳng trong hình 2.7 tương ứng với số lần khi thuật toán vượt qua một vùng phẳng của mặt thực hiện, như đã thấy trong hình 2.6 Trong suốt các giai đoạn này chúng ta sẽ tăng hệ số học để tăng tốc độ hội tụ Tất nhiên, nếu chúng ta tăng hệ số học, thuật toán sẽ không thích hợp khi nó chạm tới các phần dốc hơn của mặt thực hiện

Kết quả được mô tả trong hình 2.8 Quỹ đạo chỉ ra ở đây tương ứng với quỹ đạo “a” trong hình 2.6, ngoại trừ rằng đã dùng 1 hệ số học lớn hơn Đầu tiên thuật

Trang 40

toán hội tụ rất nhanh nhưng khi quỹ đạo chạm tới vùng „thung lũng‟ hẹp có chứa điểm cực tiểu, thuật toán trở nên phân kỳ Điều đó cho thấy rằng sẽ hợp lý khi biến đổi hệ số học Chúng ta có thể tăng hệ số học trên các mặt phẳng và sau đó giảm hệ

số học khi tới phần dốc Câu hỏi là: ”Làm thế nào để thuật toán biết khi nào nó ở trên một mặt phẳng?” Chúng ta sẽ thảo luận về câu hỏi đó trong phần sau

Hình 2.8 - Quỹ đạo khi hệ số học quá lớn

Một cách khác để cải tiến hội tụ là làm “trơn” quỹ đạo Chú ý trong hình 2.8, khi thuật toán bắt đầu phân kỳ, nó sẽ dao động xung quanh một vùng lõm hẹp Nếu chúng ta có thể lọc quỹ đạo, bằng cách lấy trung bình các cập nhật của tham số, nó

sẽ làm trơn các dao động và xử lý một quỹ đạo hợp lý Chúng ta sẽ thảo luận vấn đề này trong phần sau

2.2 Các cải tiến theo kinh nghiệm của lan truyền ngược

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

Phương pháp đầu tiên được đề cập ở đây là ứng dụng của quán tính Đó là một cải tiến dựa trên nhận xét trong phần trước rằng độ hội tụ có thể tăng nếu chúng ta

có thể làm trơn những dao động trong quỹ đạo Chúng ta có thể làm điều đó bằng một bộ lọc thấp (low pass filter) [4]

Ngày đăng: 25/03/2015, 09:44

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Ngô Quốc Tạo, Lê Thanh Hà, Nguyễn Thị Ngọc Hân (2004), Xác định mặt người dựa trên mạng nơron, Kỷ yếu hội thảo ““Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông”.Tài liệu tiếng Anh Sách, tạp chí
Tiêu đề: Kỷ yếu hội thảo ““Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông”
Tác giả: Ngô Quốc Tạo, Lê Thanh Hà, Nguyễn Thị Ngọc Hân
Năm: 2004
[2] A. Mehrabian(1968), Communication without Words, Psychology Today, Vol. 2, No. 4, pp. 53-56 Sách, tạp chí
Tiêu đề: Psychology Today
Tác giả: A. Mehrabian
Năm: 1968
[3] B. Fasel and J. Luettin (2003), Automatic Facial Expression Analysis: A Survey, Pattern Recognition, Vol. 36(1), pp. 259-275 Sách, tạp chí
Tiêu đề: Pattern Recognition
Tác giả: B. Fasel and J. Luettin
Năm: 2003
[4] Dilip Sarkar (1995), Method to Speed Up Error Back-Propagation Learning Algorithm, ACM Computing Surveys, Vol.27, No.4 Sách, tạp chí
Tiêu đề: ACM Computing Surveys
Tác giả: Dilip Sarkar
Năm: 1995
[5] J. McClelland, D. Rumelhart, and G. Hinton (1987), The Appeal of Parallel Distributed Processing, Vol.1: Foundations, MIT Press, Cambridge, pp. 3-44 Sách, tạp chí
Tiêu đề: The Appeal of Parallel Distributed Processing
Tác giả: J. McClelland, D. Rumelhart, and G. Hinton
Năm: 1987
[6] Jun Wang, Lijun Yin, Xiaozhou Wei, Yi Sun (2006) , 3D Facial Expression Recognition Based on Primitive Surface Feature Distribution, IEEE Computer Society Conference on Computer Vision and Pattern Recognition – Vol. 2 (CVPR'06), pp. 1399-1406 Sách, tạp chí
Tiêu đề: IEEE Computer Society Conference on Computer Vision and Pattern Recognition – Vol. 2 (CVPR'06)
[7] H. A. Rowley, S. Baluja, and T. Kanade (1998), Noron network-based face detection, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.20, No. 1, pp. 23-38 Sách, tạp chí
Tiêu đề: IEEE Transactions on Pattern Analysis and Machine Intelligence
Tác giả: H. A. Rowley, S. Baluja, and T. Kanade
Năm: 1998
[8] H.A. Rowley, S. Baluja, and T. Kanade (1998), Rotation invariant neural network-based face detection, Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, pp. 38-44 Sách, tạp chí
Tiêu đề: Proceedings of IEEE Conference on Computer Vision and Pattern Recognition
Tác giả: H.A. Rowley, S. Baluja, and T. Kanade
Năm: 1998
[9] Karin Sobottka, Ioannis Pitas (1996), Extraction of Facial Regions and Feature using Color and Shape Information, In Int. Conf. on Pattern Recognition(ICIP),Vienna, Austria Sách, tạp chí
Tiêu đề: In Int. Conf. on Pattern Recognition
Tác giả: Karin Sobottka, Ioannis Pitas
Năm: 1996
[11] M. Hagan, H. Demuth, and M. Beale (1996), Neural Network Design, PWS Publishing Company, Boston, MA 02116 Sách, tạp chí
Tiêu đề: Neural Network Design
Tác giả: M. Hagan, H. Demuth, and M. Beale
Năm: 1996
[15] Oliver Jesorsky, Klaus J. Kirchberg, and Robert W. Frischholz - Robust Face Detection Using the Hausdorff Distance - In Proc. Third International Conference on Audio- and Video-based Biometric Person Authentication, Springer, Lecture Notes in Computer Science, LNCS-2091, pp. 90–95, Halmstad, Sweden, 6–8 June 2001 Sách, tạp chí
Tiêu đề: Lecture Notes in Computer Scienc
[16] Rogério Schmidt Feris, Teófilo Emídio de Campos and Roberto Marcondes Cesar Junior – Detection and Tracking of Facial Features in Video Sequences – Lecture Notes in Artificial Intelligence, vol. 1793, pp. 197-206, April 2000, Springer-Verlag press Sách, tạp chí
Tiêu đề: Lecture Notes in Artificial Intelligence
[10] Lihui Chen and Christos Grecos (2003), A Fast Skin Colour Detector for Face Extraction, Electronic systems and control division research 2003 Khác
[12] Ming-Hsuan Yang, David J. Kriegman, Narendra Ahuja (2002), Detecting Faces in Images: A Survey, IEEE Transactions on Pattern analysis and machine intelligence, Vol. 24, No. 1 Khác
[13] M. Pantic, L. Rothkrantz (2000), Automatic Analysis of Facial Expressions: The State of the Art, IEEE Transactions on Pattern analysis and machine intelligence, Vol. 22, No. 12 Khác
[14] M.Yeasin, B.Bullot, R.Sharma (2004), From Facial Expression to Level of Interest: A Spatio-Temporal Approach, IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR’04) Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w