Quy tắc học perceptron

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Một số quy trình huấn luyện mạng nơron và ứng dụng xấp xỉ hàm số (Trang 37)

3.1. Mạng Perceptron và quy tắc học Perceptron

3.1.2. Quy tắc học perceptron

Quy tắc học perceptron là học có giám sát (suppervisor learning). Giả sử tập dữ liệu học là , trong đó

pq là đầu vào của một mẫu học thứ q và tq là đầu ra mong muốn. Khi đầu vào pq được đưa vào mạng, ta tính kết quả đầu ra aq và so sánh với đầu ra mong muốn tq. Học tức là điều chỉnh trọng số liên kết và độ lệch để đưa mạng dần tới đầu ra mong muốn.

Điều chỉnh trọng số liên kết theo công thức: (3.5)

Điều chỉnh độ lệch bằng biểu thức:

(3.6)

3.1.3. Xét sự hội tụ của thuật toán học

Mặc dù quy tắc học perceptron là đơn giản nhưng nó khá mạnh. Trong thực tế, nó cho thấy sự hội tụ

tới trọng số mà ở đó mạng đạt được yêu cầu phân lớp. ở đây chúng tôi xem xét sự hội tụ của một nơron như hình sau.

Hình 3.7- Nơron perceptron đơn

Các ký hiệu sử dụng biểu diễn dưới dạng véctơ

, (3.8)

Từ đó ta có tổng đầu vào của mạng là

(3.9)

Từ công thức điều chỉnh trọng số 3.5 và độ lệch 3.6 theo quy tắc perceptron ta viết gộp lại dưới dạng

ký hiệu véctơ sẽ là

Sai số e của mạng có thể là 1, -1, hoặc 0. Nếu e=0 thì không có sự thay đổi trong số và độ lệch. Nếu e=1 thì véctơ x (bao gồm trọng số và độ lệch) được cộng thêm véctơ vào y. Nếu e=-1 thì sẽ trừ đi. Nếu

chúng ta chỉ đếm những lần lặp mà véctơ x bị thay đổi thì quy tắc học trở thành như sau

x(k)=x(k-1) + y’(k-1) (3.10)

trong đó y’(k-1) là các phần tử trong tập hợp sau với q=1,2,...,Q (3.11)

Chúng ta giả sử có tồn tại một véctơ trọng số và độ lệch là x* phân lớp chính xác Q véctơ vào {(pq,tq)}

với q=1, 2, ..., Q. Khi đó ta có

với q=1,2,...,Q (3.13)

Để đảm bảo cho sự hội tụ của thuật toán chúng ta đưa ra ba tiêu chuẩn sau:

1. Bài toán có lời giải, tức là công thức 3.16 trong phần chứng minh được đảm bảo.

2. Véctơ trọng số chỉ được cập nhật khi véctơ vào chưa được phân đúng lớp, vì vậy công thức 3.22 được thoả m•n.

3. Có tồn tại giới hạn trên của độ dài của các véctơ vào, đó là ?. Chứng minh:

Mục tiêu của việc chứng minh là tìm ra giới hạn trên và dưới của độ dài véctơ trọng số tại mỗi vòng

lặp của thuật toán.

Giả sử rằng thuật toán học bắt đầu với véctơ trọng số là zero: x(0) = 0 (không ảnh hưởng đến trường hợp tổng quát). Khi đó sau k lần lặp (thay đổi véctơ trọng số) chúng ta có:

x(k) = y’(0) + y’(1) + ... + y’(k-1) theo (3.10) (3.14)

Nhân véctơ trọng số sau k lần lặp với véctơ trọng số của lời giải x* ta được:

x*T.x(k) = x*T.y’(0) + x*T.y’(1) + ... + x*T.y’(k-1) (3.15) Theo các công thức 3.11, 3.12 và 3.13 ta có:

x*T.y’(i) > ? với i=0,1,... (3.16) Vì thế

x*T.x(k) > k.? (3.17)

Theo bất đẳng thức Cauchy-Schwartz (côsi) ta có

(x*T.x(k))2 ? || x*||2 ||x(k)||2, (3.18) trong đó

||x||2 = xT.x (3.19)

Theo công thức 3.17 và 3.18 ta có thể thấy giới hạn dưới của bình phương độ dài véctơ trọng số tại bước lặp thứ k:

Chúng ta xét giới hạn trên của độ dài véctơ trọng số bắt đầu bằng việc tìm sự thay đổi độ dài tại bước lặp thứ k:

(3.21) Ta đ• có

xT(k-1).y’(k-1) ? 0 (3.22) Cho nên từ công thức 3.21 ta suy ra (3.23)

Chúng ta có thể lặp lại với các cuối cùng ta được

(3.24) Nếu đặt thì ta có

(3.25)

Ta có giới hạn dưới là công thức 3.20 và giới hạn trên là công thức 3.25 của bình phương độ dài véctơ

trọng sốở bước thứ k. Nếu chúng ta kết hợp hai giới hạn ta được:

(3.26)

Số bước lặp k trong quá trình học có giới hạn trên do vậy véctơ trọng số sẽ được thay đổi trong một

số giới hạn lần. Kết luận thuật toán học perceptron sẽ hội tụ trong một số hữu hạn bước lặp.

Số bước lặp tối đa của véctơ trọng số tỷ lệ nghịch với bình phương của ?. Điều này có nghĩa nếu các lớp vào là khó tách thì thuật toán cần nhiều bước lặp để hội tụ.

3.1.4. Minh hoạ

Chúng ta xét ví dụ có 4 lớp của véctơ vào:

(3.27)

Thiết kế mạng perceptron:

Để thực hiện phân 4 lớp như trên ta phải có ít nhất 2 nơron, vậy mạng perceptron có thể phân tách được 22 lớp khác nhau. Mạng perceptron được biểu diễn như sau:

Hình 3.28- Mạng perceptron có 2 nơron

Biểu diễn các véctơ vào lên hệ toạ độ đề các ta được:

Hình 3.29- Các lớp điểm cần phân lớp

Hình 3.30- Các lớp sẽ được phân bởi 2 đường biên

Mỗi đường biên là thể hiện của 1 nơron perceptron có 2 đầu vào dạng . Kết hợp 2 đường biên để xác

định 1 lớp và chúng ta có 4 lớp như trên hình vẽ.

3.1.5. Những hạn chế của luật học perceptron

Luật học perceptron đảm bảo hội tụ sau một số hữu hạn bước lặp nếu bài toán có lời giải. Mỗi nơron

perceptron chỉ có thể phân tách tuyến tính ra 2 miền bởi công thức sau.

Vậy mạng perceptron chỉ có thể phân lớp tuyến tính cho các đầu vào, bằng cách kết hợp các nơron

Hình 3.31- Kết hợp nhiều nơron perceptron để phân lớp

3.2. Thuật toán học Widrow-Hoff

Trong phần này sẽ áp dụng một nguyên lý học hiệu quả hơn tới mạng nơron tuyến tính một lớp, đó là

thuật toán Widrow-Hoff. Thuật toán này là một thuật toán xấp xỉ xuống dốc từng bước, trong đó hàm

đặc trưng thực hiện (performance index) là sai số bình phương trung bình. Thuật toán Widrow-Hoff rất quan trọng để xem xét với 2 lý do sau: Thứ nhất nó được sử dụng rộng r•i hiện nay trong nhiều ứng dụng xử lý tín hiệu. Thứ 2 nó là tiền thân của thuật toán lan truyền ngược (backpropagation) cho mạng

nhiều lớp, sẽ được trình bày ở phần sau.

Vào năm 1960 Bernard Widrow và Marcian Hoff, giới thiệu một mạng ADALINE ( ADAptive LInear NEuron), và một luật học gọi là thuật toán LMS ( Least Mean Square - cực tiểu bình phương kz vọng sai số).

Mạng ADALINE của họ rất giống với mạng perceptron, trừ hàm chuyển của nó là linear thay cho hàm hard-lim. Cả 2 mạng ADALINE và perceptron có cùng một hạn chế đó là chúng chỉ có thể giải quyết các

vấn đề phân tách tuyến tính. Tuy nhiên thuật toán LMS mạnh hơn luật học perceptron. Trong khi luật

học perceptron đảm bảo hội tụ tới một kết quả chính xác, mạng thu được sau khi học có thể nhạy

cảm với nhiễu khi các mẫu học thường gần các đường biên phân tách. Thuật toán LMS sẽ tối thiểu bình phương kz vọng sai số, và vì thế nó cố gắng chuyển biên quyết định càng xa các mẫu học càng tốt. Thuật toán LMS tìm thấy nhiều những ứng dụng thực tế hơn perceptron. Điều này đặc biệt đúng trong

lĩnh vực xử lý tín hiệu số. Ví dụ hầu hết các đường điện thoại khoảng cách xa sử dụng mạng ADALINE

cho việc xoá nhiễu.

3.2.1. Mạng ADALINE

Mạng ADALINE được biểu diễn trong hình sau. Cấu trúc của mạng giống với mạng perceptron, chỉ khác

Hình 3.32- Mạng ADALINE Đầu ra của mạng là (3.33) Biểu diễn dưới dạng từng thành phần của đầu ra sẽ là (3.34) trong đó iw là các thành phần ở hàng thứ i của ma trận trọng số W: (3.35)

Xét ví dụ mạng ADALINE đơn giản như sau: có 2 đầu vào và một đầu ra

Hình 3.36- Nơron tuyến tính 2 đầu vào

Dễ dàng nhận thấy mạng ADLINE có biên giống với mạng perceptron, nếu n=0 thì 1wTp+b=0 là một đường thẳng, như hình vẽ sau:

Hình 3.37- Biên quyết định của ADALINE có 2 đầu vào

Nơron sẽ cho đầu ra lớn hơn 0 trong miền xám, trong miền trắng sẽ cho đầu ra nhỏ hơn 0. Chúng ta

thấy rằng ADALINE có thể được sử dụng để phân lớp các đối tượng thành các nhóm. Tuy nhiên nó chỉ

có thể thực hiện được nếu các đối tượng là tách tuyến tính được. Vì vậy mạng ADALINE có hạn chế

như mạng perceptron.

3.2.2. Sai số bình phương trung bình

Chúng ta xem xét các đặc tính của mạng ADALINE, sẽ phát triển thuật toán LMS cho việc học mạng.

Như luật học perceptron, thuật toán LMS là một ví dụ của huấn luyện có thầy (suppervisor learning),

, ,..., (3.38)

Trong đó pq là một đầu vào tới mạng, và tq là đầu ra mong muốn. Với mỗi đầu vào được đưa vào

mạng, đầu ra tương ứng của mạng sẽ được so sánh với đầu ra mong muốn này.

Thuật toán LMS sẽ điều chỉnh các trọng số và độ lệch của mạng ADALINE để tối thiểu hoá bình phương

kz vọng sai số, trong đó sai số là sự khác nhau đầu ra mong muốn và đầu ra của mạng. Chúng ta sẽ xem xét chỉ số hiệu quả. Đầu tiên thử với trường hợp một nơron, ta có:

(3.39)

và sử dụng "1" như là một đầu vào cho véctơ y như sau:

(3.40)

Khi đó đầu ra của mạng sẽ được tính như sau:

(3.41)

hoặc có thể viết lại là (3.42)

Chúng ta sẽ viết biểu thức sai số bình phương trung bình của mạng ADALINE theo cách truyền thống là:

(3.43)

trong đó kz vọng ( ký hiệu là E*...+ ) được lấy trên tất cả các tập là cặp đầu vào và đầu ra. Chúng ta có

thể mở rộng biểu thức trên thành: (3.44) Có thể viết gọn lại như sau: (3.45) trong đó (3.46)

Véctơ h cho ta sự tương quan chéo giữa véctơ đầu vào và đầu ra mong muốn, trong khi R là ma trận tương quan đầu vào. Các thành phần trên đường chéo của ma trận bằng bình phương trung bình các giá trị của các thành phần ở véctơ vào.

So sánh công thức 3.45 với dạng tổng quát của hàm bậc 2 ta sẽ có công thức sau:

Chúng ta có thể thấy rằng chỉ số hiệu quả sai số bình phương trung bình đối với mạng ADALINE là một hàm bậc 2, trong đó:

d=-2h và A=2R (3.48)

Đây là một kết qủa quan trọng, bởi vì chúng ta biết các đặc tính của hàm bậc 2 chủ yếu dựa vào ma

trận Hessian A. Ví dụ nếu các trị riêng của ma trận Hessian là dương thì hàm đó sẽ có duy nhất một cực tiểu toàn cục.

Trong trường hợp này ma trận Hessian là 2 lần ma trận tương quan R, và có thể cho thấy rằng tất cả

các ma trận tương quan hoặc xác định dương hoặc nửa xác định dương, có nghĩa là chúng có thể

không bao giờ có trị riêng là số âm. Nếu ma trận tương quan chỉ có các trị riêng dương thì chỉ số hiệu

quả sẽ có duy nhất một cực tiểu toàn cục. Nếu ma trận tương quan có một số trị riêng bằng 0 thì chỉ

số hiệu quả sẽ có hoặc một cực tiểu yếu hoặc không có cực tiểu, phụ thuộc vào véctơ d=-2h.

Chúng ta xác định điểm ổn định của chỉ số hiệu quả. Theo tính chất của hàm bậc 2 ta có gradient là (3.49)

Điểm ổn định của F(x) có thể tìm thấy bằng cách đặt gradient bằng 0:

-2h+2R = 0 (3.50)

Vì thế nếu ma trận tương quan là xác định dương sẽ có một điểm ổn định duy nhất, đó sẽ là một cực

tiểu mạnh:

x* = R-1h (3.51)

Chú ý rằng sự tồn tại của một điểm ổn định duy nhất chỉ phụ thuộc vào ma trận tương quan R. Vì thế

các đặc tính của đầu véctơ vào xác định là có hay không một điểm ổn định duy nhất.

3.2.3. Thuật toán LMS

Đầu tiên chúng ta phân tích đặc trưng thực hiện (performance index), sau đó trình bày một thuật toán

để xác định điểm cực tiểu. Nếu chúng ta tính toán các số lượng thống kê h và R thì có thể tìm thấy điểm cực tiểu trực tiếp sử dụng công thức 3.51. Nếu chúng ta không muốn tính nghịch đảo của R thì có thể sử dụng thuật toán xuống dốc từng bước, với gradient được tính bằng công thức 3.49. Tuy nhiên

nói chung không yêu cầu hoặc không thích hợp để tính h và R. Lý do là ta có thể sử dụng thuật toán xấp

xỉ xuống dốc từng bước, trong đó ta phải ước lượng gradient.

Điểm mấu chốt của Widrow và Hoff là họ có thểước lượng sai số bình phương trung bình F(x) bằng công thức sau:

(3.52)

Trong đó kz vọng của sai số bình phương được thay thế bởi sai số bình phương ở bước lặp thứ k. Vì

(3.53) R thành phần đầu của là các đạo hàm đối với các trọng số của mạng, trong khi thành phần thứ (R+1) là đạo hàm đối với độ lệch. Vì vậy chúng ta có (3.54) và (3.55)

Chúng ta xem xét các đạo hàm từng phần ở trong các công thức trên. Đầu tiên đánh giá đạo hàm từng phần của e(k) đối với trọng số:

(3.56)

trong đó pi(k) là thành phần thứ i của véctơ vào ở bước lặp thứ k. Ta rút gọn lại là: (3.57)

Tương tự chúng ta có gradient của thành phần cuối cùng: (3.58)

Chú ý rằng pi(k) và 1 là các thành phần của véctơ y, vì vậy gradient của sai số bình phương ở bước lặp

thứ k có thể viết

(3.59)

Chúng ta có thể thấy sự đẹp đẽ của xấp xỉ sai số bình phương trung bình bằng sai sốở bước lặp thứ k,

ở trong công thức 3.52. Để tính gradient xấp xỉ này chúng ta chỉ cần nhân sai số với đầu vào. Xấp xỉ có thể sử dụng trong thuật toán xuống dốc từng bước, ta có:

(3.60) Nếu chúng ta thay thế bằng thì ta được (3.61) hoặc (3.62) và (3.63)

Hai công thức cuối này tạo nên thuật toán cực tiểu sai số trung bình nhỏ nhất (LMS). Phương pháp này khá phổ cập và cũng đ• sử dụng trong thuật toán học Widrow-Hoff.

Các kết quả trên có thể được điều chỉnh để làm việc với trường hợp có nhiều đầu ra, và vì thế sẽ có

nhiều nơron. Để cập nhật hàng thứ i của ma trận trọng số sử dụng công thức sau (3.64)

trong đó ei(k) là thành phần thứ i của véctơ sai số tại bước lặp thứ k. Để cập nhật thành phần thứ i của độ lệch chúng ta sử dụng

(3.65)

Thuật toán LMS có thể được viết gọn dưới dạng ma trận như sau:

(3.66) và

, (3.67)

trong đó sai số e và độ lệch b là dưới dạng véctơ. 3.2.4. Phân tích sự hội tụ

Chúng ta thấy rằng tốc độ học ổn định cực đại cho hàm bậc hai là trong đó là trị riêng lớn nhất của ma

trận Hessian. Bây giờ chúng ta sẽ xem xét sự hội tụ của thuật toán LMS, đó là thuật toán xuống dốc

từng bước xấp xỉ. Chúng ta thấy kết quả như nhau.

Để bắt đầu chúng ta h•y chú { trong thuật toán LMS (công thức 3.61), xk là một hàm của y(k-1), y(k-2), ... , y(0). Nếu chúng ta giả sử rằng các véctơ vào là thoả m•n một cách độc lập thì xk là độc lập với y(k).

Chúng ta sẽ thấy việc xử l{ đầu vào ổn định sẽ gặp điều kiện này, giá trị mong muốn của véctơ trọng số

sẽ hội tụ tới

x* = R-1h (3.68)

Đây là giải pháp sai số bình phương trung bình tối thiểu {E[e2k]}, như đ• thấy trong công thức 10.18. Xét lại công thức 10.28 của thuật toán LMS:

(3.69)

Lấy kz vọng của cả 2 vế của công thức trên ta được:

(3.70)

Thay thế cho sai số ta được: (3.71)

Cuối cùng, thay cho và sắp xếp lại ta được: (3.72)

Vì xk phụ thuộc vào y(k) thì ta có:

(3.73) Có thể viết lại là: (3.74)

Hệ động này sẽổn định nếu tất cả các trị riêng của rơi vào bên trong đường tròn đơn vị. Các trị riêng của sẽ là , trong đó là các trị riêng của R. Vì thế hệ này sẽổn định nếu

(3.75) Vì , luôn nhỏ hơn 1. Điều kiện ổn định sẽ là với (3.76) hoặc (3.77) 3.2.5. Minh hoạ

Xét mạng ADALINE đơn có 1 nơron và thuật toán LMS, để cho đơn giản chúng ta giả sử độ lệch của

mạng bằng 0. Thuật toán LMS cập nhật trọng số được sử dụng để tạo các trọng số mới từng bước trong quá trình huấn luyện với công thức sau:

Đầu tiên ta tính tốc độ học ổn định lớn nhất là . Chúng ta có thể tính bằng cách tìm các trị riêng của ma

trận tương quan đầu vào. Xét các véctơ đầu vào và ra như sau:

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Một số quy trình huấn luyện mạng nơron và ứng dụng xấp xỉ hàm số (Trang 37)

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

(96 trang)