Mạng ADALINE

Một phần của tài liệu 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 43)

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:

Nếu chúng ta giả sử các véctơ đầu vào được sinh ngẫu nhiên với xác suất như nhau, ta có thể tính ma

trận tương quan đầu vào:

Các trị riêng của R là:

Chọn ở mức vừa phải ta đặt . Tuy nhiên trong các ứng dụng thực tế tốc độ học không phải tính từ

ma trận R, mà nó được chọn bằng việc thử và sai.

Chúng ta bắt đầu với các trọng số tuz ý, ở đây đặt các trọng số bằng 0 ( ) và sau đó đưa các đầu vào

theo thứ tự p1, p2, p1, p2, ..., tính các trọng số mới cho mỗi p đưa vào (tuy nhiên thứ tự các đầu vào có thể bất kz, ngẫu nhiên). Tại đầu vào p1 ta có: và Chúng ta tính ma trận trọng số mới sẽ là

Tương tự cho đầu vào tiếp theo là p2, và đầu ra mong muốn là 1:

và sai số là

Tính véctơ trọng số mới

Tương tự cho đầu vào tiếp là p1 ta có:

và sai số là

Véctơ trọng số mới là

Nếu tiếp tục thực hiện thủ tục này, thuật toán sẽ hội tụ tới

Trong phần này chúng tôi 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 – Least Mean Square. Sự mở rộng này chính là lan truyền ngược, có thể được sử 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. 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, và đạ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 chuyển 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, chúng 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 sinh ra cá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. Cho đế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 khám phá lại bởi David Parker, Geoffrey Hinton và Ronald Williams một cách độc lập. Thuật toán này được 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. 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.

3.3.1. Giới thiệu mạng perceptron nhiều lớp

Hình vẽ sau biểu diễn một mạng perceptron có 3 lớp. Và để đơn giản chúng 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 chuyển 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.

Để xác định cấu của một trúc mạng nhiều lớp, chúng 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:

Hình 3.78- Mạng nơron 3 lớp truyền thẳng

Bây giờ chúng ta h•y xem xét khả năng của mạng percpeptron 3 lớp này. Đầu tiên chúng ta sẽ thấy việc sử dụng mạng nhiều lớp cho vấn đề phân lớp, sau đó sử dụng cho vấn đề xấp xỉ hàm.

3.3.2. Bài toán phân lớp các đối tượng

Để minh hoạ khả năng của mạng percpetron 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à

Vấn đề này được minh hoạ bằng hình sau, được sử dụng bởi Minsky và Papert năm 1969 để minh hoạ

sự hạn chế của perceptron một lớp. Bởi vì 2 nhóm là không phân tách tuyến tính, 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 mạng khác nhau. Mỗi giải pháp

được sử dụng 2 nơron trong lớp thứ nhất để 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 3.79- Các biên quyết định cho mạng XOR

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

Kết quả mạng 2 lớp 2-2-1 được thể hiện ở hình sau. Toàn bộ các miền quyết định cho mạng này được

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

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

Ngoài việc phân lớp, chúng 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 việc 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 chuyển ở lớp thứ nhất là log-sigmoid và hàm chuyển

lớp thứ 2 là linear, biểu diễn bằng công thức như sau:

Hình 3.82- Ví dụ mạng nơron xấp xỉ hàm

Giả sử rằng những giá trị của các trọng số và độ lệch cho mạng này là: (3.83)

Phản ứng của mạng với các tham số này được thể hiện trong hình sau, trong đó nét vẽ đầu ra a2 khi

đầu vào p thay đổi trong khoảng [-2,2].

Chú ý phản ứng của mạng gồm có 2 bước, mỗi bước cho một nơron log-sigmoid ở lớp thứ nhất. Bằng

Một phần của tài liệu 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 43)

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

(96 trang)