Một trong những ứng dụng kinh điển của mạng nơron là bài toán nhận dạng mẫu, ở đó mỗi một mẫu là một tập hợp hay một vector các tham số biểu thị các thuộc tính của quá trình vật lý nào đ
Trang 1-
Hoàng Thị Hồng Hà
NGHIÊN CỨU MẠNG NƠRON VÀ ỨNG DỤNG MẠNG NƠRON
TRONG NHẬN DẠNG CHỮ VIẾT TAY TIẾNG VIỆT
Chuyên ngành: Điện tử Viễn thông
LUẬN VĂN THẠC SĨ KHOA HỌC ĐIỆN TỬ VIỄN THÔNG
NGƯỜI HƯỚNG DẪN KHOA HỌC :
TS PHẠM NGỌC NAM
Hà Nội – 2010
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan rằng toàn bộ nội dung trong luận văn của tôi dưới đây không được sao chép y nguyên từ một bài luận văn của một tác giả khác
Tôi cũng xin cam đoan rằng mọi sự tham khảo, trích dẫn trong bài luận văn của tôi đều đã được ghi rõ nguồn trong mục tài liệu tham khảo của luận văn
Nếu hội đồng phát hiện có những điểm không đúng với những gì tôi đã cam đoan trên thì tôi xin chịu hoàn toàn trách nhiệm
Hà Nội, 10 tháng 10 năm 2010
Hoµng ThÞ Hång Hµ
Trang 3
MỤC LỤC
LỜI CAM ĐOAN
DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH VẼ
MỞ ĐẦU 1
CHƯƠNG 1 - TỔNG QUAN VỀ MẠNG NƠRON NHÂN TẠO 4
1.1 Lịch sử phát triển mạng nơron 4
1.2 So sánh mạng nơron với máy tính truyền thống 7
1.3 Khái niệm mạng nơron 8
1.3.1 Nơron sinh học 8
1.3.2 Nơron nhân tạo 13
1.3.3 Mạng nơron nhân tạo 17
1.4 Đặc trưng của mạng nơron 18
1.4.1 Tính phi tuyến 18
1.4.2 Tính chất tương ứng đầu vào đầu ra 18
1.4.3 Tính chất thích nghi 19
1.4.4 Tính chất đưa ra lời giải có bằng chứng 19
1.4.5 Tính chất chấp nhận sai sót 19
1.4.6 Khả năng cài đặt VLSI (Very-large-scale-intergrated) 19
1.4.7 Tính chất đồng dạng trong phân tích và thiết kế 20
1.5 Phân loại mạng nơron nhân tạo 20
1.5.1 Phân loại theo kiểu liên kết nơron 20
1.5.2 Một số loại mạng nơron 21
1.5.2.1 Mạng dẫn tiến 21
Trang 41.5.2.2 Mạng quy hồi (recurrent network) 24
1.6 Xây dựng mạng nơron 25
1.7 Huấn luyện mạng nơron 26
1.7.1 Phương pháp học 26
1.7.1.1 Học có giám sát 27
1.7.1.2 Học không giám sát 27
1.7.1.3 Học tăng cường 27
1.7.2 Học có giám sát trong mạng nơron 28
1.7.2.1 Thuật toán học của mạng nơron một lớp 29
1.7.2.2 Thuật toán học của mạng nơron nhiều lớp 30
1.8 Một số vấn đề của mạng nơron 36
1.9 Ứng dụng của mạng nơron 37
1.10 Kết luận 37
CHƯƠNG 2-MẠNG NƠRON KOHONEN 39
2.1 Giới thiệu về mạng nơron Kohonen 39
2.2 Cấu trúc của mạng nơron Kohonen 40
2.3 Thực hiện mạng nơron Kohonen 41
2.3.1 Chuẩn hóa đầu vào 41
2.3.2 Tính toán đầu ra cho mỗi nơron 41
2.3.3 Chọn nơron chiến thắng 42
2.3.4 Quá trình học của mạng nơron Kohonen 42
2.3.4.1 Tốc độ học 44
2.3.4.2 Hiệu chỉnh trọng số 44
2.3.5 Kết luận 46
Trang 5CHƯƠNG 3- ỨNG DỤNG MẠNG NƠRON KOHONEN TRONG BÀI TOÁN
NHẬN DẠNG CHỮ VIẾT TAY TIẾNG VIỆT 47
3.1 Giới thiệu sơ lược về nhận dạng 47
3.2 Giới thiệu về nhận dạng chữ viết tay tiếng Việt 49
3.3 Phương pháp nhận dạng chữ viết tay bằng mạng nơron 53
3.4 Phát biểu bài toán 54
3.5 Các bước giải quyết bài toán sử dụng mạng nơron nhận dạng ký tự: 55
3.5.1 Xây dựng giao diện vẽ 55
3.5.2 Xây dựng mạng nơron Kohonen 56
3.5.3 Xử lý dữ liệu (phân tích ảnh) 56
3.5.4 Huấn luyện mạng nơron Kohonen 57
3.5.5 Nhận dạng mạng nơron Kohonen 59
3.5.6 Kết luận 59
CHƯƠNG 4-MÔ PHỎNG NHẬN DẠNG KÝ TỰ VIẾT TAY TIẾNG VIỆT RỜI RẠC TRỰC TUYẾN BẰNG MẠNG NƠRON KOHONEN 60
4.1 Giới thiệu 60
4.2 Thực hiện chương trình nhận dạng ký tự 61
4.2.1 Xác định các tham số cho mạng 62
4.2.2 Vẽ hình ảnh 62
4.2.3 Lấy mẫu xuống hình ảnh 63
4.2.3.1 Lưu hình ảnh được lấy mẫu xuống 63
4.2.3.2 Kích thước và vị trí 64
4.2.3.3 Thực hiện lấy mẫu xuống 64
4.2.4 Các tập huấn luyện 65
4.2.5 Lớp mạng cơ bản 65
Trang 64.2.6 Lớp mạng nơron Kohonen 66
4.2.6.1 Tính toán đầu ra của mạng Kohonen 67
4.2.6.2 Huấn luyện mạng nơron Kohonen 68
4.3 Chương trình mô phỏng 70
4.3.1 Các chức năng của chương trình 70
4.3.2 Kết quả nhận dạng 71
4.3.3 Kết luận 74
CHƯƠNG 5-KẾT LUẬN 76
5.1 Các kết quả đã đạt được 76
5.1.1 Về mặt lý thuyết 76
5.1.2 Về mặt thực tiễn 77
5.2 Hướng phát triển tiếp theo 77
5.3 Một vài suy nghĩ sau khi nghiên cứu 77
TÀI LIỆU THAM KHẢO 79
PHỤ LỤC 1
Trang 7DANH MỤC CÁC BẢNG
Bảng 1.1 So sánh khả năng làm việc của bộ não và máy tính 10
Bảng 1.2 Một số hàm kích hoạt cơ bản trong mạng nơron 16
DANH MỤC CÁC HÌNH Hình 1.1 Mạng nơron sinh học 8
Hình 1.2 Sơ đồ nơron sinh học 12
Hình 1.3 Mô hình một nơron nhân tạo 13
Hình 1.4 Sự tương đương giữa nơron sinh học và nơron nhân tạo 13
Hình 1.5 Mô hình phi tuyến thứ hai của một mạng nơron 16
Hình 1.6 Sơ đồ đơn giản về một mạng nơron nhân tạo 17
Hình 1.7 Mạng truyền thẳng 21
Hình 1.8 Mạng phản hồi 21
Hình 1.9 Mạng tiến với một mức nơron 22
Hình 1.10 Mạng tiến kết nối đầy đủ với một mức ẩn và một mức đầu ra 24
Hình 1.11 Mạng hồi quy không có nơron ẩn và không có vòng lặp tự phản hồi 24 Hình 1.12 Mạng hồi quy có các nơron ẩn 25
Hình 1.13 Sơ đồ đồ thị có hướng đơn giản 25
Hình 1.14 Bài toán XOR 30
Hình 2.1 Cấu trúc của mạng Kohonen 40
Hình 2.2 Quá trình huấn luyện mạng nơron Kohonen 43
Hình 3.1 Mô hình chung trong nhận dạng ký tự viết 53
Hình 3.2 Quá trình tìm giới hạn ký tự 55
Trang 8Hình 3.3 Quá trình lấy mẫu xuống 56
Hình 3.4 Quá trình ánh xạ từ ma trận điểm sang ma trận giá trị 57
Hình 3.5 Quá trình huấn luyện mạng 58
Hình 4.1 Giao diện chương trình mô phỏng 70
Hình 4.2 Nhận dạng ký tự Ă 72
Hình 4.3 Nhận dạng ký tự Ư 72
Hình 4.4 Nhận dạng ký tự Ờ 73
Hình 4.5 Nhận dạng ký tự Ỷ 73
Hình 4.6 Nhận dạng ký tự Ấ 74
Trang 9MỞ ĐẦU
Mạng nơron nhân tạo ANN (Artificial Neural Networks) là một mô phỏng xử
lý thông tin, được nghiên cứu ra từ hệ thống thần kinh của sinh vật, giống như bộ não để xử lý thông tin Nó bao gồm số lượng lớn các mối gắn kết cấp cao để xử lý các yếu tố làm việc trong mối liên hệ giải quyết vấn đề rõ ràng ANN giống như con người, được học bởi kinh nghiệm, lưu những kinh nghiệm hiểu biết và sử dụng trong những tình huống phù hợp và quan trọng hơn hết, con người có khả năng sáng tạo
Đầu tiên ANN được giới thiệu năm 1943 bởi nhà thần kinh học Warren McCulloch và nhà logic học Walter Pits Nhưng với những kỹ thuật trong thời gian này chưa cho phép họ nghiên cứu được nhiều Những năm gần đây mô phỏng ANN xuất hiện và phát triển Các nghiên cứu ứng dụng đã được thực hiện trong các ngành: điện, điện tử, kỹ thuật chế tạo, y học, quân sự, kinh tế Một trong những ứng dụng kinh điển của mạng nơron là bài toán nhận dạng mẫu, ở đó mỗi một mẫu
là một tập hợp (hay một vector) các tham số biểu thị các thuộc tính của quá trình vật
lý nào đó Ngoài sức mạnh vốn có, mạng nơron còn thể hiện ưu điểm của mình trong việc nhận dạng thông qua khả năng mềm dẻo, dễ thích nghi với môi trường Chính vì vậy, có thể coi mạng nơron trước tiên là một công cụ để nhận dạng
Các bài toán nhận dạng được nghiên cứu nhiều nhất hiện nay bao gồm nhận dạng các mẫu hình học (vân tay, mặt người, hình khối,…), nhận dạng tiếng nói và nhận dạng ký tự viết Nhận dạng ký tự viết bao gồm hai kiểu chính là nhận dạng ký
tự in và nhận dạng ký tự viết tay Cho đến nay bài toán nhận dạng ký tự in đã được giải quyết khá trọn vẹn với sự ra đời của nhiều hệ thống nhận dạng đạt tới độ chính xác gần như tuyệt đối Nhận dạng ký tự viết tay đang là vấn đề thách thức lớn đối với các nhà nghiên cứu, bài toàn này chưa thể giải quyết trọn vẹn được vì nó phụ thuộc quá nhiều vào người viết và sự biến đổi quá đa dạng trong cách viết và trạng thái tinh thần của từng người viết Đặc biệt đối với việc nhận dạng ký tự viết tay
Trang 10tiếng Việt lại càng gặp nhiều khó khăn hơn do bộ ký tự tiếng Việt có nhiều ký tự có hình dáng rất giống nhau, chỉ khác nhau chút ít về phần dấu
Chính vì các lý do nêu trên cùng với sự gợi ý của thầy giáo tôi nhận thấy nghiên cứu về mạng nơron là một hướng nghiên cứu quan trọng, mới mẻ và có nhiều triển vọng Đồng thời áp dụng mạng nơron để giải quyết bài toán nhận dạng chữ viết tay tiếng Việt là một hướng tiếp cận khoa học có hiệu quả, góp phần giải quyết bài toán nhận dạng chữ viết tay tiếng Việt hiện còn chưa được giải quyết trọn
vẹn Do đó tôi chọn đề tài: “Nghiên cứu mạng nơron và ứng dụng mạng nơron
trong nhận dạng chữ viết tay tiếng Việt”
Tuy nhiên do hạn chế về mặt thời gian cũng như độ phức tạp của bài toán Trong luận văn này tôi chỉ đi sâu nghiên cứu và mô phỏng nhận dạng ký tự viết tay tiếng Việt rời rạc trực tuyến
Nội dung luận văn gồm:
Chương 1: Tổng quan về mạng nơron nhân tạo
Trình bày những lý thuyết cơ bản về mô hình mạng nơron như: lịch sử ra đời
và phát triển của mạng nơron, khái niệm mạng nơron, các loại mô hình mạng nơron, các đặc trưng của mạng, các phương pháp huấn luyện mạng nơron, phương pháp học có giám sát Các vấn đề và ứng dụng của mạng nơron
Chương 2: Mạng nơron Kohonen
Trình bày lý thuyết cơ bản về mang nơron Kohonen như: giới thiệu về mạng, cấu trúc mạng, các bước thực hiện trong mạng: chuẩn hóa đầu vào, tính toán đầu ra, tìm nơron chiến thắng, quá trình huấn luyện mạng
Chương 3: Ứng dụng mạng nơron Kohonen trong bài toán nhận dạng chữ viết tay tiếng Việt
Giới thiệu về các bài toán nhận dạng, nhận dạng chữ viết tay tiếng Việt Phương pháp nhận dạng chữ viết tay bằng mạng nơron, phát biểu bài toán, các bước
Trang 11xây dựng giao diện vẽ, xây dựng mạng, xử lý dữ liệu đầu vào, huấn luyện mạng, nhận dạng mạng
Chương 4: Mô phỏng nhận dạng ký tự viết tay tiếng Việt rời rạc trực tuyến bằng mạng nơron Kohonen
Trình bày phạm vi chương trình mô phỏng, các bước thực hiện chương trình
mô phỏng: Thực hiện chương trình nhận dạng ký tự, xác định các tham số cho mạng, vẽ hình ảnh,lấy mẫu xuống hình ảnh,các tập huấn luyện, lớp mạng cơ bản, lớp mạng nơron Kohonen Chương trình mô phỏng: Các chức năng của chương trình, kết quả nhận dạng, kết luận
và hoàn thành đề tài này
Tôi xin chân thành cảm ơn Viện đào tạo sau đại học, cảm ơn các thầy cô giáo khoa Điện tử Viễn thông, Trường Đại học Bách Khoa Hà Nội đã tận tình dạy dỗ, truyền đạt cho tôi nhiều kiến thức quý báu trong những năm học vừa qua
Trang 12CHƯƠNG 1 TỔNG QUAN VỀ MẠNG NƠRON NHÂN TẠO
Chương này giúp cho chúng ta có những kiến thức và cái nhìn tổng quan về một mạng nơron Bắt đầu từ việc tìm hiểu lịch sử ra đời và phát triển của mạng nơron để thấy được hướng nghiên cứu khoa học về mạng nơron nhân tạo rất mới mẻ
và đầy triển vọng Các kiến thức cơ bản về mạng nơron tôi xin trình bày các nội dung chính như sau: So sánh mạng nơron với máy tính truyền thống Khái niệm mạng nơron: mạng nơron sinh học, mạng nơron nhân tạo Các đặc trưng của mạng nơron, phân loại mạng nơron, các phương pháp huấn luyện mạng nơron, phương pháp học có giám sát Các vấn đề và ứng dụng của mạng nơron trong thực tế
1.1 Lịch sử phát triển mạng nơron [3]
Các nghiên cứu về bộ não con người đã được tiến hành từ hàng nghìn năm nay Cùng với sự phát triển của khoa học kĩ thuật đặc biệt là những tiến bộ trong ngành điện tử hiện đại, việc con người bắt đầu nghiên cứu các nơron nhân tạo là hoàn toàn tự nhiên.Có thể tính từ nghiên cứu của William (1890) về tâm lý học với
sự liên kết các noron thần kinh Sự kiện đầu tiên đánh dấu sự ra đời của mạng nơron nhân tạo diễn ra vào năm 1943 khi nhà thần kinh học Warren McCulloch và nhà toán học Walter Pitts viết bài báo mô tả cách thức các nơron hoạt động Họ cũng đã tiến hành xây dựng một mạng nơron đơn giản bằng các mạch điện Các nơron của
họ được xem như là các thiết bị nhị phân với ngưỡng cố định Kết quả của các mô hình này là các hàm logic đơn giản chẳng hạn như “ a OR b” hay “a AND b” [6]
Tiếp bước các nghiên cứu này, năm 1949 Donald Hebb cho xuất bản cuốn sách Organization of Behavior Cuốn sách đã chỉ ra rằng các nơron nhân tạo sẽ trở lên hiệu quả hơn sau mỗi lần chúng được sử dụng
Những tiến bộ của máy tính đầu những năm 1950 giúp cho việc mô hình hóa các nguyên lý của những lý thuyết liên quan tới cách thức con người suy nghĩ đã trở
Trang 13nghiệm nghiên cứu của IBM đã có những nỗ lực đầu tiên để mô phỏng một mạng nơron Trong thời kì này tính toán truyền thống đã đạt được những thành công rực
rỡ trong khi đó những nghiên cứu về nơron còn ở giai đoạn sơ khai Mặc dù vậy những người ủng hộ triết lý “thinking machines” (các máy biết suy nghĩ) vẫn tiếp tục bảo vệ cho lập trường của mình
Năm 1956 dự án Dartmouth nghiên cứu về trí tuệ nhân tạo (Artificial Intelligence) đã mở ra thời kỳ phát triển mới cả trong lĩnh vực trí tuệ nhân tạo lẫn mạng nơron Tác động tích cực của nó là thúc đẩy hơn nữa sự quan tâm của các nhà khoa học về trí tuệ nhân tạo và quá trình xử lý ở mức đơn giản của mạng nơron trong bộ não con người
Những năm tiếp theo của dự án Dartmouth, John von Neumann đã đề xuất việc mô phỏng các nơron đơn giản bằng cách sử dụng rơle điện áp hoặc đèn chân không Nhà sinh học chuyên nghiên cứu về nơron Frank Rosenblatt cũng bắt đầu nghiên cứu về Perceptron năm 1958 Sau thời gian nghiên cứu này Perceptron đã được cài đặt trong phần cứng máy tính và được xem như là mạng nơron lâu đời nhất còn được sử dụng đến ngày nay Perceptron một tầng rất hữu ích trong việc phân loại một tập các đầu vào có giá trị liên tục vào một trong hai lớp Perceptron tính tổng có trọng số các đầu vào, rồi trừ tổng này cho một ngưỡng và cho ra một trong hai giá trị mong muốn có thể Tuy nhiên Perceptron còn rất nhiều hạn chế, những hạn chế này đã được chỉ ra trong cuốn sách về Perceptron của Marvin Minsky và Seymour Papert của MIT (Massachurehs Insritute of Technology) viết năm 1969 đã chứng minh nó không dùng được cho các hàm logic phức
Năm 1959, Bernard Widrow và Marcian Hoff thuộc trường đại học Stanford
đã xây dựng mô hình ADALINE ( ADAptive LINear Elements) và MADALINE (Multiple ADAptive LINear Elements) Các mô hình này sử dụng quy tắc học Least-Mean-Squares ( LMS : Tối thiểu bình phương trung bình) MADALINE là mạng nơron đầu tiên được áp dụng để giải quyết một bài toán thực tế Nó là một bộ lọc thích ứng có khả năng loại bỏ tín hiệu dội lại trên đường dây điện thoại Ngày nay mạng nơron này vẫn được sử dụng trong các ứng dụng thương mại
Trang 14Năm 1973 Von der Marlsburg: đưa ra quá trình học cạnh tranh và self – organization Năm 1974 Paul Werbos đã phát triển và ứng dụng phương pháp học lan truyền ngược ( back-propagation) Tuy nhiên phải mất một vài năm thì phương pháp này mới trở lên phổ biến Các mạng lan truyền ngược được biết đến nhiều nhất
và được áp dụng rộng dãi nhất nhất cho đến ngày nay
Sợ rằng đã đến lúc máy móc có thể làm mọi việc của con người Những lo lắng này khiến người ta bắt đầu phản đối các nghiên cứu về mạng neuron Thời kì tạm lắng này kéo dài đến năm 1981 Có thể tính vào khoảng đầu thập niên 80 Những đóng góp lớn cho mạng noron trong giai đoạn này phải kể đến Grossberg, Kohonen, Rumelhart và Hopfield Kohonen là mạng SOM (Self Organizing Map), Grossberg là mạng ART ( Adaptive Resonance Theory) Trong đó đóng góp lớn của Hopfield gồm hai mạng phản hồi: Mạng rời rạc năm 1982 và mạng liên tục năm
1984 Đặc biệt, ông đã dự kiến nhiều khả năng tính toán lớn của mạng mà một nơron không có khả năng đó Năm 1982 trong bài báo gửi tới viện khoa học quốc gia, John Hopfield bằng sự phân tích toán học rõ ràng, mạch lạc, ông đã chỉ ra cách thức các mạng nơron làm việc và những công việc chúng có thể thực hiện được Cống hiến của Hopfield không chỉ ở giá trị của những nghiên cứu khoa học mà còn
ở sự thúc đẩy trở lại các nghiên cứu về mạng neuron Cảm nhận của Hopfield đã được Rumelhart, Hinton và Williams đề xuất thuật toán sai số truyền ngược nổi tiếng để huấn luyện mạng noron nhiều lớp nhằm giải bài toán mà mạng khác không thực hiện được Nhiều ứng dụng mạnh mẽ của mạng noron ra đời cùng với các mạng theo kiểu máy Boltzmann và mạng Neocognition của Fukushima
Cũng trong thời gian này, một hội nghị với sự tham gia của Hoa Kỳ và Nhật Bản bàn về việc hợp tác/cạnh tranh trong lĩnh vực mạng nơron đã được tổ chức tại Kyoto, Nhật Bản Sau hội nghị, Nhật Bản đã công bố những nỗ lực của họ trong việc tạo ra máy tính thế hệ thứ 5 Tiếp nhận điều đó, các tạp chí định kỳ của Hoa Kỳ bày tỏ sự lo lắng rằng nước nhà có thể bị tụt hậu trong lĩnh vực này Vì thế, ngay sau đó, Hoa Kỳ nhanh chóng huy động quĩ tài trợ cho các nghiên cứu và ứng dụng mạng neuron
Trang 15Năm 1985, viện vật lý Hoa Kỳ bắt đầu tổ chức các cuộc họp hàng năm về mạng neuron ứng dụng trong tin học (Nơron Networks for Computing)
Năm 1987, hội thảo quốc tế đầu tiên về mạng neuron của Viện các kỹ sư điện và điện tử IEEE (Institute of Electrical and Electronic Engineer) đã thu hút hơn
1800 người tham gia Tính từ năm 1987 đến nay, hàng năm thế giới đều mở hội nghị toàn cầu chuyên ngành nơron IJCNN (International Joit Conference on Neural Networks)
Ngày nay, không chỉ dừng lại ở mức nghiên cứu lý thuyết, các nghiên cứu ứng dụng mạng nơron để giải quyết các bài toán thực tế được diễn ra ở khắp mọi nơi Các ứng dụng mạng nơron ra đời ngày càng nhiều và ngày càng hoàn thiện hơn Điển hình là các ứng dụng: xử lý ngôn ngữ (Language Processing), nhận dạng
ký tự (Character Recognition), nhận dạng tiếng nói (Voice Recognition), nhận dạng mẫu (Pattern Recognition), xử lý tín hiệu (Signal Processing), Lọc dữ liệu (Data Filtering),…
1.2 So sánh mạng nơron với máy tính truyền thống
Các mạng nơron có cách tiếp cận khác trong giải quyết vấn đề so với máy tính truyền thống Các máy tính truyền thống sử dụng cách tiếp cận theo hướng giải thuật, tức là máy tính thực hiện một tập các chỉ lệnh để giải quyết một vấn đề Vấn
đề được giải quyết phải được biết và phát biểu dưới dạng một tập chỉ lệnh không nhập nhằng Những chỉ lệnh này sau đó phải được chuyển sang một chương trình ngôn ngữ bậc cao và chuyển sang mã máy để máy tính có thể hiểu được
Trừ khi các bước cụ thể mà máy tính cần tuân theo được chỉ ra rõ ràng, máy tính sẽ không làm được gì cả Điều đó giới hạn khả năng của các máy tính truyền thống ở phạm vi giải quyết các vấn đề mà chúng ta đã hiểu và biết chính xác cách thực hiện Các máy tính sẽ trở lên hữu ích hơn nếu chúng có thể thực hiện được những việc mà bản thân con người không biết chính xác là phải làm như thế nào
Các mạng nơron xử lý thông tin theo cách thức giống như bộ não con người Mạng được tạo nên từ một số lượng lớn các phần tử xử lý được kết nối với nhau làm việc song song để giải quyết một vấn đề cụ thể Các mạng nơron học theo mô
Trang 16hình, chúng không thể được lập trình để thực hiện một nhiệm vụ cụ thể Các mẫu phải được chọn lựa cẩn thận nếu không sẽ rất mất thời gian, thậm chí mạng sẽ hoạt động không đúng Điều hạn chế này là bởi vì mạng tự tìm ra cách giải quyết vấn đề, thao tác của nó không thể dự đoán được [6]
Các mạng nơron và các máy tính truyền thống không cạnh tranh nhau mà bổ sung cho nhau Có những nhiệm vụ thích hợp hơn với máy tính truyền thống, ngược lại có những nhiệm vụ lại thích hợp hơn với các mạng nơron Thậm chí rất nhiều nhiệm vụ đòi hỏi các hệ thống sử dụng tổ hợp cả hai cách tiếp cận để thực hiện được hiệu quả cao nhất Thông thường một máy tính truyền thống được sử dụng để giám sát mạng nơron.[1]
1.3 Khái niệm mạng nơron
1.3.1 Nơron sinh học [1]
Hình 1.1 Mạng nơron sinh học
Do nhu cầu ngày càng cao trong việc giải quyết các vấn đề phức tạp và do bản chất của con người là không muốn bằng lòng với hiện tại mà luôn muốn vươn tới những gì cao hơn, hoàn thiện hơn, những thuật ngữ “mạng nơron” hoặc “mạng nơron nhân tạo” hoặc “xử lý song song và phân tán” đã ra đời Các thuật ngữ đó nói đến một ngành kỹ thuật mới đòi hỏi kiến thức từ nhiều ngành khoa học khác nhau
Trang 17chỉ nhằm làm sao tạo ra những chiếc máy tính hoạt động giống như “bộ não” của chính chúng ta
Các mạng nơron nhân tạo được mô phỏng dựa theo não bộ của con người Cho nên, trước khi trình bày về mạng nơron nhân tạo ở các phần sau, tôi xin trình bày sơ lược về não bộ như sau:
¾ Chức năng, tổ chức và hoạt động của bộ não con người
có thể kiểm soát một hay nhiều hoạt động của con người
Bộ não có cấu trúc nhiều lớp Lớp bên ngoài thường thấy là các nếp nhăn, là lớp có cấu tạo phúc tạp nhất Đây có thể là nơi kiểm soát và phát sinh các hành động phức tạp như nghe, nhìn, tư duy,…
Trang 18c Hoạt động
Mặc dù mỗi nơron (có thể xem như phần tử xử lý hay phần tử tính)
có tốc độ rất chậm so với tốc độ các cổng logic silicon trong các vi chip 10-3giây so với 10-10 giây, nhưng do mỗi nơron liên kết với khoảng 104 nơron khác, cho nên, khi hoạt động thì bộ não hoạt động một cách tổng lực và đạt hiệu quả cao Nói một cách khác là phần tử của não hoạt động một cách song song và tương tác hết sức tinh vi phức tạp Hiệu quả hoạt động thường rất cao, nhất là trong các vấn đề phức tạp
Bảng 1.1 So sánh khả năng làm việc của bộ não và máy tính
1010 bit bé nhí ngoµi víi 1014 khíp nèi thÇn
kinh Thêi gian xö lý 10-8 gi©y 10-3 gi©y
Lý thuyết về mạng nơron nhân tạo, hay gọi tắt là “mạng nơron”, được xây dựng xuất phát từ một thực tế là bộ não con người luôn luôn thực hiện các tính toán một cách hoàn toàn khác so với các máy tính số Có thể coi bộ não là một máy tính
Trang 19hay một hệ thống xử lý thông tin song song, phi tuyến và cực kỳ phức tạp Nó có khả năng tự tổ chức các bộ phận cấu thành của nó, như là các tế bào thần kinh (neuron) hay các khớp nối thần kinh (synapse), nhằm thực hiện một số tính toán như nhận dạng mẫu và điều khiển vận động nhanh hơn nhiều lần các máy tính nhanh nhất hiện nay Sự mô phỏng bộ não con người của mạng nơron là dựa trên cơ
sở một số tính chất đặc thù rút ra từ các nghiên cứu về thần kinh sinh học
- Phần thứ hai: Các dendrite Đây chính là các mạng dạng cây của các dây
thần kinh để nối các soma với nhau
- Phần thứ ba: axon Đây là một nối kết, hình trụ dài và mang các tín hiệu từ
đó ra ngoài Phần cuối của axon được chia thành nhiều nhánh nhỏ Mỗi nhánh nhỏ (cả của dendrite và axon) kết thúc trong một cơ quan nhỏ hình củ hành được gọi là synapte mà tại đây các nơron đưa các tín hiệu của nó vào các nơron khác Những điểm tiếp nhận với các synapte trên các nơron khác có thể ở các dendrite hay chính soma
Trang 20Hình 1.2 Sơ đồ nơron sinh học
b Hoạt động
Các tín hiệu được đưa ra bởi một synapte và được nhận bởi các dendrite là các kích thích điện tử Việc truyền tín hiệu như trên liên quan đến một quá trình hóa học phức tạp mà trong đó các chất truyền đặc trưng được giải phóng từ phía gửi của nơi tiếp nối Điều này làm tăng hoặc giảm điện thế bên trong thân của nơron nhận Nơron nhận tín hiệu sẽ được kích hoạt (fire) nếu điện thế vượt khỏi một ngưỡng nào
đó Một xung (hoặc điện thế hoạt động) với cường độ mạnh và thời gian tồn tại cố định sẽ được gửi ra ngoài thông qua axon tới phần nhánh của nơron đó, rồi tới các chỗ nối synapte của các nơron khác Sau khi kích hoạt, nơron sẽ chờ một khoảng thời gian được gọi là chu kỳ refractory, trước khi nó có thể kích hoạt lại Synapses
là excitatory nếu chúng cho phép các kích thích truyền qua gây ra tình trạng kích hoạt đối với nơron nhận Ngược lại, chúng là inhibitory nếu chúng cho phép các kích thích truyền qua làm ngăn chở trạng thái kích hoạt của nơron nhận
Trang 21Các synapses đóng vai trò rất quan trọng trong sự học tập Khi chúng ta học tập thì hoạt động của các synapses được tăng cường, tạo nên nhiều liên kết mạnh giữa các nơron Có thể nói rằng người nào học càng giỏi thì càng có nhiều synapses
và các synapses ấy càng mạnh mẽ, hay nói cách khác, thì liên kết giữa các nơron càng nhiều, càng nhạy bén
1.3.2 Nơron nhân tạo
Nơron nhân tạo là một đơn vị tính toán có nhiều đầu vào và một đầu ra Mỗi
đầu vào đến từ một liên kết Đặc trưng của nơron là một hàm kích hoạt phi tuyến chuyển đổi tổ hợp tuyến tính của tất cả các tín hiệu đầu vào thành tín hiệu đầu ra Hàm kích hoạt này đảm bảo tính chất phi tuyến cho tính toán của mạng nơron
Hình 1.3 Mô hình một nơron nhân tạo [13]
Hình 1.4 Sự tương đương giữa nơron sinh học và nơron nhân tạo [10]
Trang 22Các thành phần cơ bản của một nơron nhân tạo bao gồm:
♦ Tập các đầu vào: Là các tín hiệu vào (input signals) của nơron, các tín hiệu
này thường được đưa vào dưới dạng một vector N chiều
♦ Tập các liên kết: Mỗi liên kết được thể hiện bởi một trọng số (gọi là trọng
số liên kết – Synaptic weight) Trọng số liên kết giữa tín hiệu vào thứ j với nơron k thường được kí hiệu là wkj Thông thường, các trọng số này được khởi tạo một cách ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật liên tục trong quá trình học mạng Các trọng số liên kết chính là các tham số tự do cơ bản của mạng nơron Các trọng số này có thể được thay đổi nhằm thích nghi với môi trường xung quanh
♦ Bộ tổng (Summing function): Thường dùng để tính tổng của tích các đầu
vào với trọng số liên kết của nó
♦ Ngưỡng (còn gọi là một độ lệch -bias): Ngưỡng này thường được đưa vào
như một thành phần của hàm truyền Hệ số điều chỉnh b có tác dụng tăng lên hoặc giảm đi đầu vào thực của hàm truyền tùy theo hàm truyền dương hay âm
♦ Hàm truyền (Transfer function) : Hay còn được gọi là hàm kích hoạt, hàm
này được dùng để giới hạn phạm vi đầu ra của mỗi nơron Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng đã cho Thông thường, phạm vi đầu ra của mỗi nơron được giới hạn trong đoạn [0,1] hoặc [-1, 1] Các hàm truyền rất đa dạng, có thể là các hàm tuyến tính hoặc phi tuyến Việc lựa chọn hàm truyền nào là tuỳ thuộc vào từng bài toán và kinh nghiệm của người thiết kế mạng Một số hàm truyền thường
sử dụng trong các mô hình mạng nơron được đưa ra trong bảng 1.2
♦ Đầu ra: Là tín hiệu đầu ra của một nơron, với mỗi nơron sẽ có tối đa là một
đầu ra
Dưới dạng công thức toán học, chúng ta có thể mô tả một nơron k bằng cặp công thức sau:
Trang 23Hệ số hiệu chỉnh bk là một tham số ngoài của neuron nhân tạo k Chúng ta
có thể thấy được sự có mặt của nó trong công thức (1.2) Một cách tương đương, chúng ta có thể tổ hợp các công thức (1.1) và (1.2) như sau:
bk Mặc dầu các mô hình trong hình 1.3 và 1.5 là khác nhau về hình thức nhưng
Trang 24Hình 1.5 Mô hình phi tuyến thứ hai của một mạng nơron [13]
Bảng 1.2 Một số hàm kích hoạt cơ bản trong mạng nơron [1]
a = 1 với n ≥ 0 Hardlims a = -1 với n < 0
n
e
e e
a = 0 với các nơron còn lại Logsig
Trang 251.3.3 Mạng nơron nhân tạo
Các mạng nơron nhân tạo (Artificial neural networks – ANN), cũng còn được gọi là “Các hệ thống xử lý song song phân bố” (Parallel distribute processing systems), là một hệ thống bao gồm nhiều phần tử xử lý đơn giản (hay còn gọi là nơron) tựa như nơron thần kinh của não người Các phần tử này hoạt động song song và được nối với nhau bởi các liên kết nơron Mỗi liên kết kèm theo một trọng
số nào đó, đặc trưng cho tính kích hoạt hoặc ức chế giữa các nơron
Các trọng số là phương tiện để lưu trữ thông tin dài hạn trong mạng nơron Nhiệm vụ của quá trình huấn luyện mạng là cập nhật các trọng số đó khi có thêm thông tin về mẫu học Hay nói một cách khác, các trọng số đều được điều chỉnh sao cho quan hệ vào ra của mạng sẽ mô phỏng hoàn toàn phù hợp với môi trường đang xem xét
a Mạng nơron:
Mô hình mạng nơron
Hình 1.6 Sơ đồ đơn giản về một mạng nơron nhân tạo [4]
Trang 26Mô hình mạng nơron ở trên gồm 3 lớp: lớp nhập (input), lớp ẩn (hidden) và lớp xuất (output) Mỗi nút trong lớp nhập nhận giá trị của một biến độc lập và chuyển vào mạng
Dữ liệu từ tất cả các nút trong lớp nhập được tích hợp (ta gọi là tổng trọng số)
và chuyển kết quả cho các nút trong lớp ẩn Lớp đó được gọi là “lớp ẩn” vì các nút trong lớp này chỉ liên lạc với các nút trong lớp nhập và lớp xuất Chỉ có người thiết
kế mạng mới biết lớp này (người sử dụng không biết lớp này)
Các nút trong lớp xuất nhận các tín hiệu tổng trọng hóa từ các nút trong lớp
ẩn Mỗi nút trong lớp xuất tương ứng với một biến phụ thuộc
1.4 Đặc trưng của mạng nơron [1]
1.4.1 Tính phi tuyến
Một nơron có thể tính toán một cách tuyến tính hay phi tuyến Một mạng nơron cấu thành bởi các nơron phi tuyến thì cũng sẽ có tính phi tuyến Hơn nữa, điều đặc biệt là tính phi tuyến này được phân tán trên toàn mạng Tính phi tuyến là một thuộc tính rất quan trọng, nhất là khi các cơ chế vật lý sinh ra các tín hiệu đầu vào (ví dụ tín hiệu tiếng nói) vốn là phi tuyến
1.4.2 Tính chất tương ứng đầu vào đầu ra
Mặc dù khái niệm “học” hay “huấn luyện” chưa được bàn đến nhưng để hiểu được mối quan hệ đầu vào-đầu ra của mạng nơron, chúng ta sẽ đề cập sơ qua về khái niệm này Một mô hình học phổ biến được gọi là “Học với một người dạy” hay
“Học có giám sát”, liên quan đến việc thay đổi các trọng số liên kết của mạng nơron bằng việc áp dụng một tập hợp các mẫu tích luỹ hay các ví dụ tích luỹ Mỗi một ví
dụ bao gồm một tín hiệu đầu vào và một đầu ra mong muốn tương ứng Các trọng
số liên kết của mạng được biến đổi sao cho có thể cực tiểu hoá sự sai khác giữa đầu
ra mong muốn và đầu ra thực sự của mạng theo một tiêu chuẩn thống kê thích hợp
Sự tích luỹ của mạng được lặp lại với nhiều ví dụ trong tập hợp cho tới khi mạng đạt tới một trạng thái ổn định mà ở đó không có một sự thay đổi đáng kể nào của
Trang 27các trọng số liên kết Các ví dụ tích luỹ được áp dụng trước có thể được áp dụng lại trong thời gian của phiên tích luỹ nhưng theo một thứ tự khác Như vậy, mạng nơron học từ các ví dụ bằng cách xây dựng nên một tương ứng đầu vào - đầu ra cho vấn đề cần giải quyết
1.4.3 Tính chất thích nghi
Các mạng nơron có một khả năng mặc định là có thể biến đổi các trọng số liên kết tuỳ theo sự thay đổi của môi trường xung quanh Đặc biệt, một mạng nơron đã được tích luỹ để hoạt động trong một môi trường xác định có thể được tích luỹ lại một cách dễ dàng khi có những thay đổi nhỏ của các điều kiện môi trường
1.4.4 Tính chất đưa ra lời giải có bằng chứng
Trong ngữ cảnh phân loại mẫu, một mạng nơron có thể được thiết kế để đưa ra thông tin không chỉ về mẫu được phân loại, mà còn về sự tin cậy của quyết định đã được thực hiện Thông tin này có thể được sử dụng để loại bỏ các mẫu mơ hồ hay nhập nhằng
1.4.5 Tính chất chấp nhận sai sót
Một mạng nơron, được cài đặt dưới dạng phần cứng, vốn có khả năng chấp nhận lỗi, hay khả năng tính toán thô (chứ không nhạy cảm lỗi) Tức là, tính năng của mạng nơron chỉ thoái hoá (chứ không đổ vỡ) khi có những điều kiện hoạt động bất lợi Ví dụ, nếu một nơron hay các liên kết kết nối của nó bị hỏng, việc nhận dạng lại một mẫu được lưu trữ sẽ suy giảm về chất lượng Tuy nhiên, do bản chất phân tán của thông tin lưu trữ trong mạng nơron, sự hỏng hóc cũng được trải ra trên toàn mạng Như vậy, về cơ bản, trong trường hợp này một mạng nơron sẽ thể hiện một sự thoái hoá về tính năng hơn là sự đổ vỡ trầm trọng
1.4.6 Khả năng cài đặt VLSI (Very-large-scale-intergrated)
Bản chất song song đồ sộ của một mạng nơron làm cho mạng nơron đó rất nhanh trong tính toán đối với một số công việc Đặc tính này cũng làm cho một mạng nơron có khả năng phù hợp trong việc cài đặt sử dụng kỹ thuật Very-large-
Trang 28scale-intergrated (VLSI) Kỹ thuật này cho phép xây dựng những mạch cứng tính toán song song quy mô lớn Chính vì vậy, ưu điểm nổi bật của VLSI là mang lại những phương tiện hữu hiệu để có thể xử lý được những hành vi có độ phức tạp cao
1.4.7 Tính chất đồng dạng trong phân tích và thiết kế
Về cơ bản, các mạng nơron có tính chất chung như là các bộ xử lý thông tin Điều này áp dụng cho tất cả các lĩnh vực có liên quan tới việc ứng dụng mạng nơron Đặc tính này thể hiện ở một số điểm như sau:
¾ Các nơron, dưới dạng này hoặc dạng khác, biểu diễn một thành phần chung cho tất cả các mạng nơron
¾ Tính thống nhất này đem lại khả năng chia sẻ các lý thuyết và các thuật toán học trong nhiều ứng dụng khác nhau của mạng nơron
¾ Các mạng tổ hợp (modular) có thể được xây dựng thông qua một sự tích hợp các mô hình khác nhau
1.5 Phân loại mạng nơron nhân tạo
1.5.1 Phân loại theo kiểu liên kết nơron
Ta có mạng nơron truyền thẳng và nơron mạng quy hồi [10]
- Mạng truyền thẳng, các nơron đi theo một hướng nhất định tạo thành đồ thị không có chu trình Chu trình có các đỉnh là các nơron, còn các cạnh là các liên kết giữa chúng
Trang 29Hình 1.7 Mạng truyền thẳng
- Mạng quy hồi: cho phép các liên kết nơron tạo thành chu trình Các thông tin
ra của các nơron được truyền lại cho các nơron đã góp phần kích hoạt chúng Vì thế nên mạng qui hồi còn có khả năng lưu giữ trạng thái trong dưới dạng các ngưỡng kích hoạt ngoài các trọng số liên kết nơron
Trang 30vào xuyên qua lớp ẩn (nếu có) và kết thúc tại lớp đầu ra Mạng dẫn tiến không có chu trình hoặc vòng ở bên trong
a Các mạng dẫn tiến (feedforward) đơn mức
Trong một mạng nơron phân mức, các nơron được tổ chức dưới dạng các mức Với dạng đơn giản nhất của mạng phân mức, mạng có một mức đầu vào gồm các nút nguồn chiếu trực tiếp tới mức đầu ra gồm các nơron
Mức đầu vào Mức đầu ra
Hình 1.9 Mạng tiến với một mức nơron Như vậy, mạng thực sự là không có chu trình Mạng nơron trong hình 1.9 minh họa trường hợp ba nút đối với cả mức đầu ra và đầu vào Một mạng như vậy được gọi là một mạng đơn mức Mạng được gọi là “đơn mức” tức là chỉ có một mức, chính là mức đầu ra gồm các nút tính toán (các nơron) Chúng ta không tính mức đầu vào của các nút nguồn vì không có tính toán nào được thực hiện ở đây
Perceptron: là mạng nơron đơn giản nhất, nó chỉ gồm một lớp nơron, nhận
đầu vào là vector có các thành phần là các số thực và đầu ra là một trong hai giá trị +1 hoặc -1 Đầu ra của mạng được xác định như sau: mạng lấy tổng có trọng số các thành phần của vector đầu vào, kết quả này cùng ngưỡng b được đưa vào hàm truyền (Perceptron dùng hàm Hard-limit làm hàm truyền) và kết quả của hàm truyền
sẽ là đầu ra của mạng
Trang 31b Các mạng dẫn tiến đa mức
Lớp thứ hai của một mạng nơron dẫn tiến được phân biệt bởi sự có mặt của một hay nhiều mức ẩn Các nút tính toán của mức ẩn được gọi là các nơron ẩn hay các đơn vị ẩn (thuật ngữ “ẩn” ở đây mang ý nghĩa là không tiếp xúc với môi trường) Chức năng của các nơron ẩn là can thiệp vào giữa đầu vào và đầu ra của mạng một cách hữu hiệu Bằng việc thêm một vài mức ẩn, mạng có khả năng rút ra được các thống kê bậc cao của tín hiệu đầu vào Khả năng các neuron ẩn rút ra được các thống kê bậc cao đặc biệt có giá trị khi mức đầu vào có kích thước lớn Các nút nguồn trong mức đầu vào của mạng cung cấp các phần tử của vector đầu vào; chúng tạo nên các tín hiệu đầu vào cho các neuron (các nút tính toán) trong mức thứ hai (mức ẩn thứ nhất) Các tín hiệu đầu ra của mức thứ hai được sử dụng như các đầu vào cho mức thứ ba, và như cứ vậy cho phần còn lại của mạng Về cơ bản, các neuron trong mỗi mức của mạng có các đầu vào của chúng là các tín hiệu đầu ra của chỉ mức đứng liền trước nó (điều này có thể khác trong thực tế cài đặt) Tập hợp các tín hiệu đầu ra của các nơron trong mức đầu ra của mạng tạo nên đáp ứng toàn cục của mạng đối với các vector đầu vào được cung cấp bởi các nút nguồn của mức đầu vào
Mạng nơron trong hình 1.10 được gọi là kết nối đầy đủ Tại đó, tất cả các nút trong mỗi mức của mạng được nối với tất cả các nút trong mức tiếp sau Nếu một số kết nối không tồn tại trong mạng, chúng ta nói rằng mạng là kết nối không đầy đủ
Trang 32Mức đầu vào Mức ẩn Mức đầu ra
gồm các nút gồm các gồm các
nguồn nơron ẩn nơron đầu ra
Hình 1.10 Mạng tiến kết nối đầy đủ với một mức ẩn và một mức đầu ra
1.5.2.2 Mạng quy hồi (recurrent network)
Trái với mạng nơron dẫn tiến , mạng nơron quy hồi là những mô hình với hai luồng dữ liệu có hướng Trong khi mạng dẫn tiến truyền dữ liệu theo một đường thẳng thì mạng nơron quy hồi có ít nhất một phản hồi từ những nơron xử lý sau quay trở lại các nơron xử lý trước đó
Hình 1.11 Mạng hồi quy không có nơron ẩn và không có vòng lặp tự phản hồi
Trang 33Hình 1.12 Mạng hồi quy có các nơron ẩn
Sự có mặt của các vòng lặp phản hồi, trong cả cấu trúc hồi quy có một ảnh hưởng sâu sắc đến khả năng học của mạng và đến tính năng của nó Hơn nữa, các vòng lặp phản hồi bao hàm việc sử dụng các nhánh đặc biệt gồm có các phần tử đơn
vị trễ (ký hiệu là z-1), thể hiện một hành vi phi tuyến động theo thời gian (cùng với giả sử rằng mạng neuron bao gồm các đơn vị phi tuyến)
1.6 Xây dựng mạng nơron [4]
Về cơ bản, ta có thể hiểu mạng nơron là một đồ thị có hướng như hình 1.13 Trong đó, các đỉnh của đồ thị là các nơron và các cạnh của đồ thị là các liên kết giữa các nơron
Hình 1.13 Sơ đồ đồ thị có hướng đơn giản
x
h h h
g g
f
Trang 34Vì vậy, để xây dựng một mạng nơron, ta xây dựng một đồ thị có hướng: số đỉnh của đồ thị bằng số nơron trong mạng, giá trị của các cạnh chính là trọng số liên kết nơron
1.7 Huấn luyện mạng nơron
1.7.1 Phương pháp học
Trong các hệ thống sinh vật, học hỏi được hiểu như những sự thay đổi hóa học xảy ra ở điểm nối synapte giữa một tế bào này và một tế bào khác Sự thay đổi đó làm mở ra một số cổng ở trên các dendrite-nơi nơron nhận tín hiệu
Đối với các mạng nơron, học hỏi được định nghĩa như sau:
“Học là một quá trình mà trong đó các thông số tự do của mạng nơron được điều chỉnh lại cho phù hợp thông qua một quá trình kích thích bởi môi trường” [1]
Định nghĩa này có nghĩa:
- Mạng nơron được kích thích từ bên ngoài
- Mạng nơron biến chuyển bởi kích thích đó
- Mạng nơron đáp lại bên ngoài một cách khác do những biến chuyển nội bộ Một mạng nơron được huyấn luyện sao cho với một tập các vector đầu vào X, mạng có khả năng tạo ra tập các vector đầu ra mong muốn T của nó Tập X được sử dụng cho huấn luyện mạng được gọi là tập huấn luyện (training set) Các phần tử x thuộc X được gọi là các mẫu huấn luyện (training example) Quá trình huấn luyện bản chất là sự thay đổi các trọng số liên kết của mạng Trong quá trình này, các trọng số của mạng sẽ hội tụ dần tới các giá trị sao cho với mỗi vector đầu vào x từ tập huấn luyện, mạng sẽ cho ra vector đầu ra T như mong muốn
Có ba phương pháp học phổ biến là học có giám sát (supervised learning), học không giám sát (unsupervised learning) và học tăng cường (Reinforcement learning)
Trang 351.7.1.1 Học có giám sát
Một thành phần không thể thiếu của phương pháp này là sự có mặt của một
“người thầy” (ở bên ngoài hệ thống) Người thầy này có kiến thức về môi trường Điều này được thể hiện qua một tập hợp các cặp đầu vào - đầu ra đã được biết trước Hệ thống học (ở đây là mạng nơron) sẽ phải tìm cách thay đổi các tham số bên trong của mình (các trọng số và các ngưỡng) để tạo nên một ánh xạ có khả năng ánh xạ các đầu vào thành các đầu ra mong muốn Sự thay đổi này được tiến hành nhờ việc so sánh giữa đầu ra thực sự và đầu ra mong muốn.[1]
1.7.1.2 Học không giám sát
Học không giám sát: Là việc học không cần có bất kỳ một sự giám sát nào Trong bài toán học không giám sát, tập dữ liệu huấn luyện được cho dưới dạng: D = {(x1, x2, ,xN)}, với (x1, x2, ,xN) là vector đặc trưng của mẫu huấn luyện Nhiệm vụ của thuật toán 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 các vector đầu vào có đặc trưng giống nhau
Như vậy với học không giám sát, số lớp phân loại chưa được biết trước, và tùy theo tiêu chuẩn đánh giá độ tương tự giữa các mẫu mà ta có thể có các lớp phân loại khác nhau [3]
1.7.1.3 Học tăng cường
Học tăng cường: đôi khi còn được gọi là học thưởng-phạt (reward-penalty learning), là sự tổ hợp của cả hai mô hình trên Phương pháp này cụ thể như sau: với vector đầu vào, quan sát vector đầu ra do mạng tính được Nếu kết quả được xem là “tốt” thì mạng sẽ được thưởng theo nghĩa tăng các trọng số kết nối lên; ngược lại mạng sẽ bị phạt, các trọng số kết nối không thích hợp sẽ được giảm xuống Do đó học tăng cường là học theo nhà phê bình (critic), ngược với học có giám sát là học theo thầy giáo (teacher) [11],[3]
Trang 361.7.2 Học có giám sát trong mạng nơron
Thuật toán [3]:
- Bước 1: Xây dựng cấu trúc thích hợp cho mạng nơron, chẳng hạn có (n + 1) nơron vào (n nơron cho biến vào và 1 nơron cho ngưỡng x0), m nơron đầu ra, và khởi tạo các trọng số liên kết của mạng
- Bước 2: Đưa một vector x trong tập mẫu huấn luyện X vào mạng
- Bước 3: Tính vector đầu ra o của mạng
- Bước 4: So sánh vector đầu ra mong muốn t (là kết quả được cho trong tập uấn luyện) với vector đầu ra o do mạng tạo ra; nếu có thể thì đánh giá lỗi
- Bước 5: Hiệu chỉnh các trọng số liên kết theo một cách nào đó sao cho ở lần tiếp theo khi đưa vector x vào mạng, vector đầu ra o sẽ giống với y hơn
- Bước 6: Nếu cần, lặp lại các bước từ 2 đến 5 cho tới khi mạng đạt tới trạng thái hội tụ
Việc đánh giá lỗi có thể thực hiện theo nhiều cách, cách dùng nhiều nhất là
sử dụng lỗi tức thời :
Err = (o- t) hoặc Err = |o- t| (1.7)
Lỗi trung bình bình phương (MSE: mean-square error):
Err = (o-t)2/2 (1.8)
Thuật toán tổng quát ở trên cho học có giám sát trong các mạng nơron có nhiều cài đặt khác nhau, sự khác nhau chủ yếu là cách các trọng số liên kết được thay đổi trong suốt thời gian học Trong đó tiêu biểu nhất là thuật toán lan truyền ngược
Trang 371.7.2.1 Thuật toán học của mạng nơron một lớp
Xét trường hợp perceptron sử dụng hàm kích hoạt ngưỡng [1]:
d
i i i
t w x
t w x output
1
1
,1
,1
i i i
d
i
i i
w x sign w
x
w x output
0 0
0
0,
1
0,
1
(1.10)
Thuật toán:
Thuật toán học của perceptron hay mạng nơron một lớp gồm 3 bước chính:
- Bước 1: Khởi tạo: Khởi tạo trọng số w (0 hoặc ngẫu nhiên).Chọn tốc độ học µ
- Bước 2: Đưa một vector x trong tập mẫu huấn luyện X vào mạng
- Bước 3: Tính vector đầu ra o của mạng Tính o=ϕ( w x, )
- Bước 4: So sánh vector đầu ra mong muốn t (là kết quả được cho trong tập huấn luyện) với vector đầu ra o do mạng tạo ra t-o ; nếu có thể thì đánh giá lỗi
- Bước 5: Nếu o! = t thay đổi vector trọng số w với:
w(mới)=w(cũ)+ µ(t-o)x (1.11)
- Bước 6: Nếu cần, lặp lại các bước từ 2 đến 5 cho tới khi điều kiện dừng thỏa mãn Quá trình học, thực chất là quá trình đi tìm các trọng số w sao cho lỗi xảy ra là nhỏ nhất Ù phương pháp giải bài toán tối ưu
Điều kiện dừng trong quá trình học có thể là 1 trong các tiêu chí, hay kết hợp các tiêu chí:
- Lỗi nhỏ đến mức chấp nhận được
- Sau một số bước lặp đủ lớn
Trang 38
Nhận xét:
Phương trình w.v=0 là chính là siêu phẳng trong không gian d chiều, suy ra perceptron có khả năng phân lớp tuyến tính, có khả năng giải bài toán quy hồi tuyến tính
Hạn chế:
Không thể phân lớp phi tuyến Ví dụ bài toán XOR
Hình 1.14 Bài toán XOR Giải pháp: sử dụng mạng nơron nhiều tầng MLP
¾ Số lượng các nơron trong tầng input = số chiều
¾ Số lượng các nơron trong tầng output thường = số các lớp
¾ Thông thường các mạng nơ-ron dùng 1 tầng ẩn Số lượng các nơ-ron trong tầng ẩn thường được chọn = ½ (số nơ-ron tầng input + số nơ-ron trong tầng output)
1.7.2.2 Thuật toán học của mạng nơron nhiều lớp
Huấn luyện mạng nơron nhiều lớp sử dụng thuật toán "Lan truyền ngược" gồm hai quá trình: Quá trình truyền tuyến tính và quá trình truyền ngược[1]:
Quá trình truyền tuyến tính: Dữ liệu từ lớp nhập qua lớp ẩn và đến lớp xuất để:
Thay đổi giá trị của trọng số liên kết W của các nơron trong mạng
Trang 39 Tìm ra sự khác nhau giữa giá trị thật hàm mẫu mà mạng tính được
và kết quả dự đoán của mạng gọi là lỗi (học có giám sát)
Quá trình truyền ngược: Giá trị lỗi sẽ được truyền ngược lại sao cho quá trình huyến luyện (học) sẽ tìm ra trọng số Wi để lỗi nhỏ nhất
- v j = x j.w j : tổng trọng số trên các đầu vào của nút thứ j
- oj : đầu ra của nút thứ j (với oj = f(νj))
- tj: đầu ra mong muốn của nút thứ j
- Downstream(j): Tập tất cả các nút nhận đầu ra của nút thứ j làm một giá trị đầu vào
1)(
ϕ (1.12)
Và
1)(
Trang 40
ji ji
w
E w
Do trọng số được cập nhật sau mỗi mẫu huấn luyện, để đơn giản có thể coi tập huấn luyện chỉ gồm một mẫu Khi đó hàm lỗi được tính như sau:
k k
t
E ϕ ν (1.15) Theo quy tắc chuỗi ta có:
E w
ji
j ji
x v
E w
a.Trường hợp 1: j là nơron tầng ra (j∈ Outputs)
Đặt:
j j