• Mục tiêuMột trong những câu hỏi chúng tôi nêu ra trong chương 3 là: "Làm thế nào để chúng ta xác định ma trận trọng số và hệ số hiệu chỉnh cho các mạng perceptron với nhiều đầu vào, tr
Trang 1LUẬT HỌC PERCEPTRON
Nguyễn Thành Trung Lớp :THB – K53
Khoa: Công nghệ thông tin
ĐH Nông nghiệp Hà Nội
Trang 2• Tóm tắt kết quả
• Bài tập mẫu
• Kết luận
Trang 3• Mục tiêu
Một trong những câu hỏi chúng tôi nêu ra trong chương 3 là: "Làm thế nào để chúng ta xác định ma trận trọng số và hệ số hiệu chỉnh cho các mạng perceptron với nhiều đầu vào, trường hợp không thể hình dung ranh giới quyết định?" Trong chương này, chúng tôi sẽ mô tả một thuật toán cho phép đào tạo mạng perceptron, để giải quyết vấn đề phân loại Chúng tôi sẽ bắt đầu bằng cách giải thích một luật học và sau đó sẽ phát triển các luật học perceptron Chúng tôi sẽ kết thúc bằng việc thảo luận những lợi thế và hạn chế của mạng perceptron đơn lớp Thảo luận này sẽ dẫn chúng
ta đến các chương sau.
Trang 4• Lý thuyết và ví dụ
Trong năm 1943, Warren McCulloch và Walter Pitts giới thiệu một trong những neuron nhân tạo đầu tiên Các tính năng chính của mô hình neuron của họ là sự tổng hợp có trọng số của tín hiệu đầu vào được so sánh với ngưỡng để tìm đầu ra của neuron.
Khi tổng lớn hơn hoặc bằng ngưỡng, đầu ra là 1 Khi tổng nhỏ hơn ngưỡng, đầu ra là
0
Họ tiếp tục cho thấy mạng neuron có thể tính toán số học hoặc hàm logic Không giống như các mạng sinh học, các thông số mạng của chúng được thiết kế mà không có phương pháp đào tạo có sẵn Tuy nhiên, mối quan hệ giữa sinh học và máy tính kỹ thuật số tạo ra rất nhiều sự quan tâm.
Trang 5Trong cuối những năm 1950, Frank Rosenblatt và một số nhà nghiên cứu khác phát triển một lớp học về mạng neuron là perceptrons Các neuron trong mạng này cũng tương tự như của McCulloch và Pitts Đóng góp quan trọng của Rosenblatt là giới thiệu một luật học
để huấn luyện các mạng perceptron để giải quyết vấn đề nhận dạng mẫu Ông đã chứng minh rằng luật học của mình sẽ luôn luôn hội tụ về các trọng số mạng chính xác, nếu trọng
số tồn tại để giải quyết vấn đề Sự huấn luyện đã được đơn giản và tự động
Trang 6Tuy nhiên, mạng perceptron có nhiều hạn chế Những hạn chế này đã được công bố trong cuốn Perceptrons của Marvin Minsky và Seymour Papert
Họ đã chứng minh rằng mạng perceptron đã không có khả năng thực hiện một số chức năng cơ bản Mãi đến những năm 1980 những hạn chế này mới được khắc phục với các mạng perceptron cải tiến (nhiều lớp) và những luật học liên quan Chúng tôi sẽ nói về những cải tiến này trong các chương 11 và 12.
Trang 7Ngày nay các perceptron vẫn còn được xem như là một mạng quan trọng Nó vẫn còn
là một mạng nhanh và đáng tin cậy cho các vấn đề mà nó có thể giải quyết Ngoài ra, sự hiểu biết về hoạt động của perceptron sẽ tạo cơ sở tốt cho sự hiểu biết các mạng lưới phức tạp hơn Như vậy, mạng perceptron, và các luật học liên quan , cũng có giá trị thảo luận ở đây
Trong phần còn lại của chương này chúng tôi sẽ xác định ý nghĩa của luật học, giải thích các mạng perceptron và luật học, và thảo luận về những hạn chế của mạng perceptron
Trang 8• Luật học
Luật học là một thủ tục để sửa đổi các trọng số và hệ số hiệu chỉnh của mạng neuron (Thủ tục này cũng có thể được gọi là một thuật toán huấn luyện.) Mục đích của luật học là huấn luyện mạng để thực hiện một số nhiệm vụ Có nhiều loại luật học huấn luyện mạng neuron Chúng gồm ba loại chính: luật học có giám sát, luật học không giám sát và luật học gia
Trong luật học có giám sát, luật học đưa ra một tập hợp các mẫu có quy tắc và tương
thích với mạng:
Trang 9pq là một đầu vào mạng và tq tương ứng với đầu ra chính xác (mục tiêu) Khi các đầu vào được áp dụng vào mạng, các kết quả đầu ra mạng được so sánh với các mục tiêu Luật học sau đó được sử dụng để điều chỉnh trọng số và hệ số hiệu chỉnh của mạng để dịch chuyển đầu ra gần với các mục tiêu hơn Luật học perceptron được xếp vào loại luật học có giám sát
Luật học gia tăng tương tự luật học có giám sát, ngoại trừ việc, thay vì đưa ra các
đầu ra chính xác cho mỗi đầu vào mạng, thuật toán chỉ cho một lớp Lớp là thước đo cho sự hoạt động của mạng trên một chuỗi đầu vào Đây là loại luật học hiện nay ít phổ biến hơn
so với luật học có giám sát Nó dường như là phù hợp nhất để kiểm soát các ứng dụng hệ thống.
Trang 10Luật học không giám sát, trọng số và hệ số hiệu chỉnh được sửa đổi để đáp ứng với
đầu vào mạng Có mục tiêu không là đầu ra có sẵn Điều này dường như không thực tế Làm thế nào bạn có thể huấn luyện một mạng nếu bạn không biết nó phải làm gì? Hầu hết các thuật toán thực hiện sự hoạt động phân cụm Chúng được luyện để phân loại các mô hình đầu vào thành một số hữu hạn các lớp Điều này đặc biệt hữu ích trong các ứng dụng như là lượng tử hóa vector Chúng ta sẽ thấy trong các chương 13-16 một số thuật toán không giám sát.
Trang 12Để thuận tiện cho sự xem xét các phần tử riêng lẻ của vector đầu ra Hãy xem xét ma trận trọng số:
Chúng tôi sẽ xác định một vector gồm các phần tử của hàng thứ i của W:
Trang 13⇒Ma trận trọng số trở thành:
⇒Phần tử thứ i của vector đầu ra mạng:
Mà hàm truyền harlim được định nghĩa như sau:
Trang 14Vì vậy, tích trong hàng thứ i của ma trận trọng số với vecto đầu vào lớn hơn hoặc bằng -bi , thì đầu ra sẽ là 1, trái lại đầu ra sẽ là 0
Vì thế mỗi neuron trong mạng chia không gian đầu vào thành hai khu vực Nó rất hữu ích để điều tra các ranh giới giữa các khu vực này Chúng tôi sẽ bắt đầu với các trường hợp đơn giản của một perceptron đơn lớp với hai đầu vào.
Trang 15Perceptron đơn lớp
Chúng ta hãy xem xét một perceptron hai đầu vào:
Đầu ra của mạng này được xác định bởi
Trang 16Ranh giới phân loại các vector đầu vào được xác định bởi:
Cụ thể hơn, chúng ta hãy chỉ định các giá trị của trọng số và hệ số hiệu chỉnh là:
Ranh giới quyết định sẽ là:
Trang 17Điều này xác định 1 đường trong không gian đầu vào Trên một bên của đường đầu ra sẽ là 0 ; trên đường và phía bên kia của đường đầu ra sẽ là 1 Để vẽ đường, chúng ta có thể tìm những điểm cắt các trục p1 và p2
Để tìm điểm cắt p2 ta đặt p1 = 0:
Để tìm điểm cắt p1, ta đặt p2 = 0:
Để tìm ra khu vực mà đầu ra tương ứng là 1, chúng ta chỉ cần kiểm tra một điểm Đối với các đầu vào p
= [2 0]T, đầu ra của mạng sẽ là :
Trang 18Do đó, đầu ra của mạng sẽ là 1 đối với khu vực trên và bên phải của ranh giới quyết định Khu vực này được chỉ định bởi các khu vực bóng mờ trong hình 4.3:
Lưu ý: Ranh giới luôn luôn là trực giao với 1w , và được xác định bởi:
Trang 19Đối với tất cả các điểm nằm trên ranh giới, tích trong của các vector đầu vào với các vector trọng số là như nhau Ngoài ra, bất kỳ vector trong khu vực bóng mờ của hình 4.3 sẽ có tích trong lớn hơn -b, và vector trong khu vực không có bóng mờ sẽ có tích trong ít hơn -b Vì vậy vector trọng số 1w sẽ luôn luôn hướng về phía khu vực nơi mà đầu ra của mạng là 1.
Sau khi chúng tôi đã chọn một vector trọng số với định hướng góc chính xác, hệ số hiệu chỉnh có thể được tính bằng cách chọn một điểm trên ranh giới và thỏa mãn Eq (4,15).
Trang 20Chúng ta sẽ áp dụng một trong những khái niệm thiết kế mạng perceptron để thực hiện một hàm logic đơn giản: các cổng AND Các cặp đầu vào/mục tiêu cho các cổng AND là:
Hình dưới minh họa cho vấn đề bằng đồ thị Mỗi vector đầu vào sẽ được dán nhãn theo mục tiêu Các vòng tròn đen chỉ ra rằng mục tiêu là 1, và các vòng tròn trắng cho mục tiêu là 0
Trang 21Bước đầu tiên của thiết kế là chọn một ranh giới quyết định Chúng ta muốn có một đường phân cách giữa vòng tròn đen và những vòng tròn trắng Có vô số các giải pháp cho vấn đề này Giải pháp hợp lý nhất để lựa chọn đường nằm giữa hai loại đầu vào, như thể hiện trong hình dưới:
Tiếp theo chúng ta muốn chọn một vector trọng số trực giao với ranh giới quyết định Các vector trọng số
có thể có chiều dài bất kỳ, vì vậy có thể chọn bất kỳ, VD chọn:
Trang 22Cuối cùng, chúng ta cần phải tìm ra hệ số hiệu chỉnh Chúng ta có thể làm điều này bằng cách chọn một điểm trên ranh giới quyết định và đáp ứng Eq (4,15) Nếu chúng ta sử dụng để tìm
Bây giờ có thể kiểm tra lại mạng trên bằng một trong các cặp đầu vào/mục tiêu Nếu chúng ta áp dụng p2 vào mạng , đầu ra sẽ là:
bằng với đầu ra đích t2 Các cặp còn lại co thể kiểm tra tương tự như trên.
Trang 23Perceptron nhiều noron
Lưu ý rằng đối với mạng perceptron nhiều noron, như trong hình 4.1, sẽ có một ranh giới quyết định cho từng noron Ranh giới quyết định cho noron i sẽ được xác định bởi:
Một perceptron đơn lớp có thể phân loại các vector đầu vào thành hai loại, vì đầu ra của
nó có thể là 0 hoặc 1 Một perceptron nhiều lớp có thể phân loại đầu vào thành nhiều loại Mỗi loại được đại diện bởi một vector đầu ra khác nhau Vì mỗi phần tử của vector đầu ra có thể là
0 hoặc 1, có tổng cộng 2s loại có thể, trong đó S là số noron.
Trang 25Vấn đề kiểm tra
Để trình bày về luật học perceptron, chúng tôi sẽ bắt đầu với một vấn đề kiểm tra đơn giản Cho các cặp đầu vào/mục tiêu là:
Vấn đề được minh họa trong
biểu đồ hình bên, tại 2 vectơ đầu
vào mà mục tiêu là 0 được biểu
diễn với một vòng tròn trắng, và
các vector có mục tiêu là 1 được
đại diện với một vòng tròn đen
Trang 26Các mạng giải quyết cho vấn đề này cần phải có hai đầu vào và một đầu ra Để đơn giản hóa việc khai triển các luật học, chúng ta sẽ bắt đầu với một mạng lưới mà không có hệ số hiệu chỉnh Mạng lưới sẽ có 2 thông số, w1,1 và w1,2, như trong hình 4.4
Hình 4.4 Vấn đề kiểm tra mạng
Trang 27Bằng cách bỏ đi hệ số hiệu chỉnh, chúng ta có mạng như hình:
Ranh giới quyết định phải đi qua gốc tọa độ Chúng ta cần phải chắc chắn rằng mạng lưới này vẫn có thể giải quyết vấn đề kiểm tra Cần phải tìm một ranh giới quyết định cho phép tách các vectơ p2 và p3 từ vectơ p1 Hình minh họa trên giải thích cho sự vô hạn của ranh giới
Trang 28Hình trên cho thấy các vec tơ trọng số tương ứng với các ranh giới quyết định Chiều dài của các vector trọng số không quan trọng, chỉ có hướng của nó là quan trọng
Trang 29Xây dựng luật học
Huấn luyện bắt đầu bằng cách chỉ định một số giá trị ban đầu cho các thông số mạng Trong trường hợp này chúng tôi đang huấn luyện một mạng lưới 2 đầu vào/1 đầu ra mà không có hệ số hiệu chỉnh, vì vậy chúng tôi chỉ có thể thiết lập giá trị ban đầu với 2 trọng số của nó Ở đây chúng tôi đặt các phần tử của vector trọng số 1wngẫu nhiên với các giá trị sau :
1wT = [ 1.0 -0.8] ( 4.21 )Các vectơ đầu vào của mạng được trình bày như sau:
Với p1 ta có :
Trang 30Mạng không trả về giá trị chính xác Đầu ra của mạng là 0, trong khi yêu cầu cần đáp ứng, t1, là 1
Chúng ta có thể xem những gì đã xảy ra bằng cách nhìn vào biểu đồ sau:
Các giá trị ban đầu đã chọn của vector trọng số phân lớp không chính xác cho vector p1 Vì vậy chúng ta cần phải thay đổi vector trọng số để nó có vị trí gần vector p1 hơn, để trong tương lai
nó có cơ hội phân loại chính xác hơn
Trang 31Để giải quyết vấn đề ta có thể thiết lập 1w xấp xỉ bằng p1 Quy tắc này đơn giản và đảm bảo để p1 được phân loại chính xác cho vấn đề này Tuy nhiên, ta có thể dễ dàng xây dựng nên một vấn đề mà không thể áp dụng quy tắc này Đồ thị dưới cho thấy một vấn đề mà không thể giải quyết trực tiếp được với các vector trọng số tại một trong hai vector khác nhau thuộc cùng 1 lớp Nếu lần nào chúng ta cũng áp dụng quy tắc 1w = p cho một trong hai vec tơ thì sẽ phân loại sai, trọng số của mạng chỉ đơn giản là sẽ dao động qua lại và sẽ không bao giờ tìm thấy được một giải pháp đúng đắn
Trang 32Một khả năng khác là cộng p1 với 1w Cộng p1 cho 1w làm cho các điểm của 1w gần p1 hơn Quy luật này có thể được trình bày như sau :
Áp dụng quy tắc này cho vấn đề trên ta được giá trị mới của 1w :
Hình minh họa:
Trang 33Bây giờ chúng tôi chuyển sang vector đầu vào tiếp theo và tiếp tục làm thay đổi trọng
số và lặp lại quá trình với tất cả các đầu vào cho đến khi phân loại chính xác.
Với vector p2 ta có:
Ta thấy mục tiêu t2 là 0 mà đầu ra ở trên lại là 1 => không đáp ứng yêu cầu của vấn đề.
Trang 34Tuy nhiên ở đây ta lại muốn vector trọng số rời xa các vector đầu vào mà mục tiêu tương ứng là 0
Để giải quyết vấn đề này đơn giản ta chỉ cần thay phép cộng bằng phép trừ trong biểu thức 4.23:
Áp dụng vào vấn đề ta được:
Hình minh họa:
Trang 35Tiếp theo là vector p3:
Tương tự áp dụng biểu thức 4.26 ta có:
Hình minh họa bên
đã cho kết quả huấn
luyện phân loại chính
xác cho cả 3 vector
Trang 36Điều này đưa chúng ta tới quy tắc thứ ba và cuối cùng đó là: nếu mạng hoạt động, không sửa chữa nó.
Dưới đây là ba quy tắc, bao gồm tất cả các tổ hợp của giá trị đầu ra và mục tiêu thích hợp :
Trang 38Ta thấy trong 2 quy tắc đầu thì dấu của p và e là giống nhau Hơn nữa quy tắc 3 không chứa p tương ứng với e = 0 Do đó ta có thể viết lại 3 quy tắc thành 1 quy tắc thống nhất như sau:
Quy tắc trên có thể mở rộng để huấn luyện hệ số hiệu chỉnh bằng cách coi hệ số hiệu chỉnh như 1 trọng số đơn giản với đầu vào luôn là 1 Ta có thể thay đầu vào p trong biểu thức 4.34 như đầu vào luôn mang giá trị 1 để huấn luyện hệ số hiệu chỉnh:
Trang 39Huấn luyện mạng perceptron nhiều noron
Các quy tắc perceptron, được cho bởi biểu thứcb (4,34) và (4,35), cập nhật vector trọng trọng cho perceptron một noron Chúng ta có thể khái quát hóa quy tắc này cho các perceptron nhiều neuron của Hình 4.1 như sau Để cập nhật hàng thứ i của ma trận trọng số ta có:
Để cập nhật phần tử thứ i của vecto sa hệ số hiệu chỉnh ta áp dụng biểu thức:
Trang 40Để thuận tiện các quy tắc perceptron có thể được viết dươi dạng ký hiệu ma trận như sau:
Để kiểm tra luật học perceptron, chúng ta sẽ xem xét lại ví dụ về táo/cam trong chương chương 3 Các cặp đầu vào/đầu ra sẽ được các vector mẫu thử nghiệm:
Trang 41Giả sử giá trị ban đầu của ma trận trọng số và hệ số hiệu chỉnh là:
Bước đầu tiên chúng ta sẽ áp dung vector p1 vào mạng:
Trang 42Tiếp theo là tính giá trị sai số e:
Bản cập nhật trọng lượng:
Bản cập nhật hệ số hiệu chỉnh là:
Trang 43Bước 2: của quy tắc perceptron là:
Trang 44Bước 3 lặp lại một lần nữa với các vector đầu vào đầu tiên p1:
Trang 45Nếu tiếp tục lặp đi lặp lại sẽ thấy rằng cả hai vectơ đầu vào bây giờ sẽ được phân loại một cách chính xác Thuật toán đã hội tụ về một phương pháp
Lưu ý: Ranh giới quyết định cuối cùng không giống như ranh giới mà chúng ta trình bày trong Chương 3, mặc dù cả hai ranh giới đều phân loại chính xác các vectơ hai đầu vào
Trang 46• Tóm tắt các kết quả
Kiến trúc perceptron
Trang 47Ranh giới quyết định:
Ranh giới quyết định luôn trực giao với vector trọng số.
Perceptron đơn lớp chỉ có thể phân loại 2 vector tuyến tính tách rời.
Luật học perceptron:
Trang 48Bài tập mẫu
• P4.1 : Giải thích 3 bài toán phân loại đơn giản trong hình P4.1 bằng cách vẽ một ranh giới quyết định Tìm
giá trị trọng số và hệ số hiệu chỉnh trong mạng perceptron một noron với ranh giới quyết định đã chọn
Trang 49Trước tiên chúng ta vẽ một đường giữa phân tách tập các điểm trắng và điểm đen
Bước tiếp theo là tìm kiếm các trọng số và hệ số hiệu chỉnh Các vector trọng số phải được trực giao với ranh giới quyết định, và hướng về các điểm được phân loại bằng 1 (điểm đen) Các vector trọng số có thể có
có chiều dài tùy ý
Trang 50Dưới đây là tập các vector trọng số được lựa chọn:
(a)1wT = [-2 1] , (b) 1wT = [0 -2] , (c) 1wT = [2 -2]
Bây giờ chúng ta đi tìm giá trị của các hệ số hiệu
chỉnh cho từng perceptron bằng cách chọn một điểm trên ranh giới quyết định và đáp ứng được biểu thức ( 4.15 )
1wTp + b = 0
b = - 1wTp
Trang 51Điều này cho chúng ta ba hệ số hiệu chỉnh sau :
Bây giờ chúng tôi có thể kiểm tra nghiệm đối những điểm ban đầu Ở đây chúng tôi thử nghiệm mạng đầu tiên trên vector đầu vào p = [ 2 -2 ] T