Phơng pháp huấn luyện và các luật học của mạng nơron

Một phần của tài liệu Công nghệ xử lý và nhận dạng ảnh mặt người bằng mạng nơron nhân tạo mlp (Trang 22 - 32)

1.2.1 Mạng Perceptron

a) Kiến trúc mạng

Cuối những năm 1950, Frank Rosenblatt vào một số nhà nghiên cứu đã

phát triển một mạng nơron có tên là mạng Perceptron. Đây là mạng nơron với

kiến trúc truyền thẳng một lớp, với lớp ra là các nơron có hàm hoạt hoá là hàm hard-limit. Kiến trúc tổng quát của mạng Perceptron cho bởi hình 1.12.

Hình 1.12: Kiến trúc mạng Perceptron

Khi cho một vectơ mẫu vào P, tín hiệu đầu ra của nơron thứ i của lớp ra sẽ là:

ai =hardlimit (WTi P+ bi) = hardlimit (nnet) = (1.4)

Trong đó bi là hệ số bias của nơron thứ i và WiT là ma trận chuyển vị của Wi là ma trận trọng số riêng của nơron thứ Với vectơ mẫu vào có i. R thành phần ta có thÓ biÓu diÔn Wi nh sau:

. .

. . . . . . . . . .

a1

a2

aS

b1

b2

bS

W p1

p2

pS

Lớp vào Lớp ra

§Çu ra (A)

Đầu vào (mÉu P)

hardlimit

ai = 1 khi nnet ≥ 0 ai = 0 khi nnet < 0

wi,1

wi,2

wi,R

. . .

Wi =

b) Huấn luyện mạng

Đóng góp của Rosenblatt đối với mạng này chính là luật học Perceptron để huấn luyện mạng sử dụng trong bài toán nhận dạng mẫu. Việc huấn luyện mạng khá đơn giản.

Biên quyết định (decision boundary)

Theo thiết kế mạng Perceptron nh trên, từ công thức (1.4) ta thấy một đầu ra ai

sẽ phân chia không gian mẫu đầu vào thành hai vùng. Ranh giới giữa hai vùng này đợc xác định bởi một biên quyết định. Đó là biên tuyến tính hay siêu phẳng (hyperlane). Với những giá trị trọng số và hệ số bias đã cho ta có thể thấy trên đồ thị biên quyết định phân chia 2 miền không gian mẫu vào.

Hình 1.13: Biên quyết định trong không gian mẫu.

Biên quyết định đợc xác định bởi các vectơ đầu vào tơng ứng với nnet bằng không. Do đó biên quyết định đợc xác định bằng phơng trình sau:

nnet =WTi P+ bi = wi,1p1+ wi,2p2+…+ wi,RpR+ bi=0 (1.5)

Véctơ trọng số sẽ luôn trực giao với đờng biên quyết định.

1 1 P2

P1 vector trọng số

WP+b=0

c) Luật học Perceptron:

Vai trò của luật học Perceptron là để thiết lập các trọng số và các hệ số bias cho mạng sao cho mạng xác lập biên quyết định phân loại tập mẫu vào. Tập mẫu vào huấn luyện mạng gồm có các mẫu pi đã xác định trớc tín hiệu ra yêu cầu ti (kết quả đích). Nh vậy luật học này thuộc loại đợc giám sát.

Luật học Perceptron đợc mô tả nh sau:

Bớc 1: Cung cấp tập huấn luyện gồm K cặp mẫu vào và kết quả ra đích {(PK,TK)}.

Bớc 2: Đặt các giá trị ban đầu bất kỳ cho các trọng số và hệ số bias.

Bớc 3: Lần lợt cho các mẫu PK lan truyền qua mạng đợc vectơ tín hiệu ra AK

Bớc 4: Tính các sai số ei tại các đầu ra của mạng theo công thức sau: ei = ti … ai

với ti là kết quả ra đích tại nơron i của lớp ra còn ai là tín hiệu ra thực tế của nó.

Bớc 5: Hiệu chỉnh các ma trận trọng số Wi và các hệ số bias bi của S nơron lớp ra:

Wimíi = Wi + eiPkT = Wi + (ti - ai)PkT víi i = 1... S (1.6) bimíi = bi + ei

Bớc 6: Mỗi lần hiệu chỉnh xong các ma trận Wi và các bi thì lặp lại bớc 3.

Quá trình lặp cho đến khi các sai số ei đều bằng 0, tức là khi đó ta sẽ có đợc ma trận trọng số và các hệ số bias thích ứng với K mẫu học {(PK,TK)}. Cách hiệu chỉnh tham số của mạng dựa vào sai số e nh trên đợc gọi là phơng pháp tối thiểu hoá lỗi dự đoán (prediction error).

d) Sù héi tô

Rosenblatt đã chứng minh đợc phép lặp của quá trình huấn luyện luôn hội tụ về ma trận trọng số và các hệ số bias mà với chúng mạng hoàn toàn đạt đợc một sự phân lớp các mẫu nh mong muốn. Tất nhiên điều kiện ở đây là không gian mẫu phải tồn tại biên quyết định, hay còn gọi là không gian mẫu khả cách tuyến tính (linearly inseparable). Trong phạm vi luận văn không trình bày về chứng minh này, ở đây chỉ xin đa ra khái niệm không gian mẫu khả tách tuyến tÝnh.

Mạng Perceptron 1 lớp không giải quyết đợc các bài toán không có khả năng phân lớp mẫu một cách tuyến tính bằng các siêu phẳng, tức là các bài toán không có tính khả tách tuyến tính. Một ví dụ kinh điển do Minsky và Papert đa ra để chứng minh minh hạn chế của mạng Perceptron đó là tập mẫu học với quan hệ

đầu vào / đầu ra theo hàm XOR

Hạn chế của mạng Perceptron đợc giải quyết trong mạng Perceptron đa lớp sẽ trình bày ở mục 1.2.2

1.2.2 mạng perceptron đa lớp a) Kiến trúc mạng:

Mạng Perceptron 1 lớp chỉ có thể giải quyết đợc những bài toán khả tách tuyến tính. Trong thực tế, không gian mẫu lại thờng không thoả mãn điều kiện này. Nh trong ví dụ do Minsky và Papert đa ra về tập mẫu học với quan hệ đầu vào/đầu ra theo hàm XOR ta không thể phân lớp bằng một siêu phẳng đợc. , Nhng với mạng Perceptron đa lớp (MLP- Multilayer Perceptron) thì vấn đề này

0 t4 1 , 4 1 1 t3 0 , 3 1 1 t2 1 , 2 0 0 t1 0 , 1 0





  =



 =





  =



 =





  =



 =





  =



= p p p

p

có thể đợc giải quyết. Kiến trúc mạng MLP là kiến trúc truyền thẳng đa lớp (có từ 1 đến 3 lớp ẩn), hàm hoạt hoá có thể nhiều dạng không phải chỉ là hàm Hardlimit. Nhng trong các nơron trong cùng một lớp thì cùng dạng hàm hoạt hoá.

Kiến trúc một mạng MLP có 2 lớp ẩn đợc cho bởi hình 1.14

Líp Èn 1 Líp ra

Hình 1.14: Mạng Perceptron đa lớp (MLP- Multilayer Perceptron).

Để chỉ ra khả năng của mạng MLP giải quyết bài toán phân lớp không gian mẫu không khả tách tuyến tính, ta xét một ví dụ cấu hình mạng MLP 1 lớp ẩn có thể giải quyết đợc bài toán quan hệ hàm XOR do Minsky và Papert đa ra.

Vai trò của các nơron lớp ẩn là độc lập phân tách không gian mẫu thành 2 vùng riêng biệt, còn nơron lớp ra thực hiện việc kết hợp các vùng đã đợc phân chia đó để tạo thành các phân lớp mong muốn.

Các mạng MLP ngoài khả năng phân lớp không gian mẫu bất kỳ, nó còn có thể đợc dùng để thực hiện việc xấp xỉ hàm liên tục (Function Approximation).

Đầu vào

§Çu ra

b) Huấn luyện mạng:

Rosenblatt đã không giải quyết đợc vấn đề hiệu chỉnh ma trận trọng số của các lớp ẩn của mạng Perceptron đa lớp MLP. Cho đến năm 1986, một thuật toán khá hiệu quả để huấn luyện cho mạng MLP mới đợc đa ra bởi Rumelhart và McClelland. Đó chính là luật học lan truyền ngợc dùng cho mạng MLP.

Nguyên lý của luật học này là việc lan truyền ngợc sai số còn gọi là lan truyền ngợc độ nhạy (Backpropagating the sensitivities) từ lớp ra trở lại các lớp ẩn và đến đầu vào mạng và từ đó tìm ra cách hiệu chỉnh ma trận trọng số và các hệ số bias để tối thiểu hoá sai số trung bình bình phơng. Để tính toán cho việc lan truyền ngợc sai số ở đây phải sử dụng đến đạo hàm hàm hoạt hoá, và việc tính toán phải thực hiện lần lợt qua từng lớp từ đầu ra trở lại đầu vào. Trớc hết ta có các khái niệm.

c) Sai số trung bình bình phơng. (Mean squared error):

Cho tập mẫu vào huấn luyện mạng {(PK, TK)} gồm có các mẫu pi đã xác định trớc tín hiệu ra yêu cầu ti . Khi mẫu pi đợc lan truyền qua mạng và cho ra tín hiệu đầu ra là ai, ta có thể địng nghĩa sai số bình phơng trung bình nh sau:

∑ −

=

=

=

1

1

2 2

2 ( )

2 ] 1 ) [(

] [ ) (

s

i i i

i a t a

t E e E x F

(1.7)

Trong đó x là vector trọng số và hệ số bias của mạng đợc viết nh sau:

x= Wi (1.8)

b

Mục tiêu của huấn luyện mạng là nhằm điều chỉnh Wib sao cho F(x) đạt giá

trị nhỏ nhất. Đây chính là nguyên tắc huấn luyện mạng MLP. Nguyên tắc này

đợc thực hiện bằng cách lấy đạo hàm riêng của F(x) theo các trọng số w, hệ số bias và hiệu chỉnh trọng số và hệ số bias tại bớc lặp thứ k +1 theo công thức nh

sau:

m j i m

j i m

j

i w

k F w k

w

, ,

, ( 1) ( )

− ∂

=

+ α

(1.9)

m i m

i m

i b

k F b k

b ∂

− ∂

=

+1) ( ) α (

(1.10)

Với m là chỉ số của lớp mạng, còn ∝ hệ số học (learning rate). Đây cũng chính là nguyên tắc hiệu chỉnh trọng số gần giống luật delta (delta rule), tức là chỉ số hiệu chỉnh tỷ lệ thuận với vi phân từng phần của hàm sai số trung bình bình phơng theo các trọng số để tối thiểu hoá hàm này.

d) LuËt d©y chuyÒn (chain rule):

Ta giả thiết hàm f là hàm hiện duy nhất của một biến , khi đó có thể tính đạo n hàm của f theo biến thứ ba là nh sau:w

dw = w n

df( ( )) X dn

n df )(

dw w df( )

(1.11)

Sử dụng 1.11 ta có thể tính đạo hàm riêng của trong các công thức 1.9 và 1.10. F Ta có tín hiệu nnet của nơron thứ i của lớp m đợc tính nh sau:

m i s

j

m j m

j i m

i w a b

n

m

+

=∑−

=

1

1

1

, (1.12)

Đây là một hàm hiện của các trọng số và hệ bias. Theo đó ta có:

1 ,

= −

∂ m

m j j i m

i a

w n

=1

m i

m i

b n

e) Luật học lan truyền ngợc ( back-propagation):

Thuật toán lan truyền ngợc đợc thực hiện theo nguyên tắc hồi qui khi mà độ nhạy của lớp sẽ đợc tính toán từ độ nhạy lớp m m+1 đã đợc tính trớc đó. Nh

vậy trong mạng MLP, độ nhạy sẽ đợc lan truyền ngợc từ lớp ra trở ngợc lại các lớp ẩn rồi đến lớp vào. Chi tiết về thuật toán lan truyền ngợc sai số (backpropagation) đợc trình bày trong chơng 2.

f) Sù héi tô :

Thuật toán lan truyền ngợc hội tụ đến một giải pháp mà nó tối thiểu hoá đợc sai số trung bình bình phơng vì cách thức hiệu chỉnh trọng số và hệ số bias của thuật toán là ngợc hớng với vectơ gradient của hàm sai số trung bình bình phơng đối với trọng số. Tuy nhiên, đối với mạng MLP thì hàm sai số trung bình bình phơng thờng phức tạp và có nhiều cực trị cục bộ, vì thế các phép lặp huấn luyện mạng có thể chỉ đạt đến các cực trị cục bộ của hàm sai số trung bình bình phơng mà không đạt đợc đến cực trị tổng thể. Vấn đề quá trình huấn luyện sẽ hội tụ nh thế nào sẽ phụ thuộc vào các điều kiện ban đầu của quá trình huấn luỵên. Đặc biệt là việc chọn hệ số học nh thế nào để tăng khả năng hội tụ của ∝ mạng. Với mỗi bài toán ta lại có phơng án chọn hệ số học khác nhau.

Nh vậy khi một quá trình huấn luyện theo thuật toán lan truyền ngợc hội tụ, ta cha thể khẳng định đợc rằng nó đã hội tụ đến phơng án tối u. Ta cần phải thử với một số điều kiện ban đầu để đảm bảo thu đợc phơng án tối u.

1.2.3 Mạng KOHONEN (sofm) Kiến trúc mạng

Mạng SOFM (Sefl Organizing Feature Map) đợc xây dựng trên các -

đặc trng topo giống nh bộ não của con ngời. Teuvo Kohonen là một trong những ngời đầu tiên đề xuất ý tởng này vì thế mạng SOFM còn

đợc gọi với tên là mạng Kohonen. Mạng Kohonen là mạng một lớp. Lớp này đợc gọi là bản đồ topo (Topological map layer) và cũng còn gọi là lớp cạnh trạnh (Competivi layer), ta gọi với tên là lớp Kohonen. Do đề tài chỉ tập trung nghiên cứu với mạng nơron nhiều lớp Perceptron nên không nghiên cứu sâu về mạng Kohonen ở đây.

Còn có khá nhiều kiểu mạng nơron khác có thể dùng cho bài toán xử lí nhận dạng đối tợng. Trong phạm vi đề tài này chỉ xin đợc trình bày một số dạng mạng cơ bản nhất ở trên rất hữu dụng trong các bài toán nhận dạng.

Mạng MLP có các phơng trình hiệu chỉnh các trọng số rõ ràng, rành mạch. Các phơng trình này đợc áp dụng cho việc hiệu chỉnh các trọng số của từng lớp bắt đầu từ lớp ra ngợc tới các lớp ẩn rồi tới lớp vào nên còn gọi phơng pháp lan truyền ngợc sai số.

Hình 2.1 thể hiện sơ đồ hiệu chỉnh các trọng số. Giải thuật học lan truyền ngợc của sai số phù hợp với mạng nơ

ron nhân tạo đợc mô tả trong chơng một. Thực chất đó là thủ tục dịch

chuyển ngợc hớng gradient.

Chơng 2

Mạng nơron nhiều lớp perceptron và

Một phần của tài liệu Công nghệ xử lý và nhận dạng ảnh mặt người bằng mạng nơron nhân tạo mlp (Trang 22 - 32)

Tải bản đầy đủ (PDF)

(74 trang)