LỜI MỞ ĐẦU Nhận dạng chữ viết tay là bài toán khó trong lớp các bài toán nhận dạng chữ, và vẫn luôn thu hút được nhiều sự quan tâm nghiên cứu của các nhà khoa học.. Trong những năm gần đ
Trang 1LỜI CAM ĐOAN
Tôi xin cam đoan, toàn bộ nội dung liên quan tới đề tài được trình bày trong luận văn là bản thân tôi tự tìm hiểu và nghiên cứu, dưới sự hướng dẫn
Trang 2LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn tới trường Đại học CNTT&TT – Đại học Thái Nguyên đã tạo điều kiện và tổ chức khóa học này để tôi có thể có điều kiện tiếp thu kiến thức mới và có thời gian để hoàn thành Luận văn Cao học này
Tôi xin được cảm ơn TS.Vũ Tất Thắng, người đã tận tình chỉ dẫn tôi trong suốt quá trình xây dựng đề cương và hoàn thành luận văn
Tôi xin chân thành cảm ơn các thày cô đã truyền đạt cho chúng tôi những kiến thức quý báu trong quá trình học Cao học và làm Luận văn
Tôi chân thành cảm ơn các bạn bè, anh chị em trong lớp cao học K13
đã giúp đỡ, đóng góp ý kiến chia sẽ những kinh nghiệm học tập, nghiên cứu trong suốt khóa học
Cuối cùng tôi kính gửi thành quả này đến gia đình và người thân của tôi, những người đã hết lòng chăm sóc, dạy bảo và động viên tôi để tôi có kết quả ngày hôm nay
Mặc dù tôi đã cố gắng hoàn thành Luận văn trong phạm vi và khả năng cho phép nhưng chắc chắn không tránh khỏi những thiếu sót Xin kính mong nhận được sự cảm thông và tận tình chỉ bảo của qu ý Thầy Cô và các bạn
Thái Nguyên, ngày 20 tháng 3 năm 2016
Vũ Mạnh Hùng
Trang 3MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC ẢNH v
DANH MỤC BẢNG BIỂU vi
LỜI MỞ ĐẦU 1
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 4
1.1. Giới thiệu về bài toán nhận dạng 4
1.1.1. Các giai đoạn phát triển 4
1.1.2. Tình hình nghiên cứu trong nước 5
1.1.3. Tình hình nghiên cứu ở nước ngoài 6
1.2. Các bước xử lý cho bài toán nhận dạng hoàn chỉnh 7
1.3. Kết luận chương 9
CHƯƠNG 2: MÔ HÌNH MẠNG NEURON VÀ MÔ HÌNH HỌC SÂU 11
2.1. Tổng quan về mô hình mạng neuron 11
2.1.1. Giới thiệu về mạng Neuron 11
2.1.1.1. Định nghĩa: 11
2.1.1.2. Lịch sử phát triển mạng neuron 11
2.1.1.3. So sánh mạng neuron với máy tính truyền thống 14
2.1.2. Cấu trúc và hoạt động của mạng Neuron 15
2.1.2.1. Neuron sinh học 15
2.1.2.2. Cấu trúc của một neuron 17
2.1.2.3. Hoạt động của mạng neuron 19
2.1.2.4. Hàm truyền 25
2.1.3. Mô hình và huấn luyện trong bài toán nhận dạng 26
2.1.3.1. Mạng neuron và bài toán phân loại mẫu 26
2.1.3.2. Khả năng học và tổng quát hóa 27
2.1.3.3. Các phương pháp huấn luyện mạng 27
2.2. Mô hình học sâu 29
2.2.1. Mạng nhiều tầng truyền thẳng (MLP) 29
2.2.1.1. Chuẩn bị dữ liệu 30
a. Kích thước mẫu 30
b. Mẫu con 32
c. Sự phân tầng mẫu 32
d. Chọn biến 33
2.2.1.2. Xác định các tham số cho mạng 34
Trang 4a. Chọn hàm truyền 34
b. Xác định số neuron tầng ẩn 35
c. Khởi tạo trọng 36
2.2.1.3. Vấn đề lãng quên (catastrophic forgetting) 37
2.2.1.4. Vấn đề quá khớp 38
a. Khái niệm quá khớp 38
b. Giải quyết quá khớp 38
2.2.2. Hopfield Network 39
2.2.2.1. Cấu trúc mạng Hopfield 40
2.2.2.2. Mạng Hopfield rời rạc 42
2.2.2.3. Mạng Hopfield liên tục 43
2.2.3. Boltzmann Machines 45
2.2.4. Restricted Boltzmann Machines 49
2.2.5. Thuật toán lan truyền ngược 50
2.3. Kết luận chương 52
CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH THỬ NGHIỆM 53
3.1. Môi trường thực nghiệm 53
3.2. Dữ liệu thực nghiệm 53
3.3. Huấn luyện mô hình và kết quả thực nghiệm với mô hình MLP 54
3.3.1. Mô hình huấn luyện 54
3.3.2. Kết quả thực nghiệm 54
3.4. Huấn luyện mô hình và kết quả thực nghiệm với mô hình RBM 56
3.4.1. Mô hình huấn luyện 56
3.4.1.1. Cấu trúc mô hình 56
3.4.1.2. Phương pháp huấn luyện và quy trình nhận dạng 57
3.4.2. Giao diện chính của chương trình 58
3.4.3. Kết quả thực nghiệm 60
3.5. Đánh giá kết quả thực nghiệm của hai mô hình. 61
3.6. Kết luận chương 62
KẾT LUẬN CHUNG 63
1. Các kết quả đã đạt và chưa đạt được 63
2. Hướng nghiên cứu và phát triển 63
TÀI LIỆU THAM KHẢO 65
Trang 5DANH MỤC ẢNH
Hình 1- 1: Các bước trong nhận dạng chữ viết tay 7
Hinh 2- 1: Cấu trúc của một neuron sinh học điển hình 16
Hinh 2- 2: Cấu trúc của một neuron 18
Hinh 2- 3: Cấu trúc chung của mạng neuron 20
Hinh 2- 4: Mạng tự kết hợp 22
Hinh 2- 5: Mạng kết hợp khác kiểu 22
Hinh 2- 6: Mạng truyền thẳng 23
Hinh 2- 7: Mạng phản hồi 23
Hinh 2- 8: Perceptron 24
Hinh 2- 9: Mạng MLP tổng quát 29
Hinh 2- 10: Mối liên hệ giữa sai số và kích thước mẫu 31
Hinh 2- 11: Huấn luyện luân phiên trên hai tập mẫu 37
Hinh 2- 12: Cấu trúc của mạng Hopfield 40
Hinh 2- 13: Đồ thị hàm satlins 41
Hinh 2- 14: Mạng Hopfield liên tục sử dụng mạch điện tử. 44
Hinh 2- 15: Một Boltzmann Machine với 3 nút ẩn 45
Hinh 2- 16:Một RBM đơn giản với 3 hidden units và 2 visible units. 49
Hình 3- 1: Mô hình huấn luyện mạng (MLP) 54
Hình 3- 2: Mô hình huấn luyện mạng (RBM) 56
Hình 3- 3: Giao diện chính của chương trình nhận dạng chữ viết tay 58
Hình 3- 4: Chương trình khi nhận dạng 1 ảnh bất kỳ 59
Hình 3- 5: Chương trình khi nhận dạng toàn bộ ảnh trong một thư mục 59
Hình 3- 6: Nhận dạng bằng mô hình RBM có kết quả sai chữ với M 60
Trang 6DANH MỤC BẢNG BIỂU
Bảng 2- 1: Các hàm truyền cơ bản 26
Bảng 2- 2: Thuật toán lan truyền ngược 52
Bảng 3- 1: Kết quả thực nghiệm sử dụng mô hình MLP 55
Bảng 3- 2: Chi tiết kết quả thực nghiệm sử dụng mô hình MLP 55
Bảng 3- 3: Kết quả thực nghiệm sử dụng mô hình RBM 60
Bảng 3- 4: Chi tiết kết quả thực nghiệm sử dụng mô hình RBM 60
Bảng 3- 5: Bảng so sánh kết quả giữa hai mô hình 61
Trang 7LỜI MỞ ĐẦU
Nhận dạng chữ viết tay là bài toán khó trong lớp các bài toán nhận dạng chữ, và vẫn luôn thu hút được nhiều sự quan tâm nghiên cứu của các nhà khoa học. Đặc biệt là trong vài thập niên gần đây, do sự thúc đẩy của quá trình tin học hóa trong mọi lĩnh vực, ứng dụng nhận dạng chữ càng có nhiều ý nghĩa khi được sử dụng cho các bài toán trong thực tế. Cũng như nhiều bài toán nhận dạng tiếng nói, hình ảnh… khác, thì độ chính xác của hệ thống vẫn tiếp tục cần phải cải thiện nhằm vươn tới khả năng nhận dạng giống như con người.
Tuy nhiên, với bài toán nhận dạng chữ viết tay thì vấn đề trở nên phức tạp hơn nhiều so với bài toán nhận dạng chữ in thông thường ở những vấn đề sau đây:
Với chữ viết tay thì không thể có các khái niệm font chữ, kích cỡ chữ. Các kí tự trong một văn bản chữ viết tay thường có kích thước khác nhau. Thậm chí, cùng một kí tự trong một văn bản do một người viết nhiều khi cũng
có độ rộng, hẹp, cao, thấp khác nhau,
Với những người viết khác nhau chữ viết có độ nghiêng khác nhau (chữ nghiêng nhiều/ít, chữ nghiêng trái/phải ).
Các kí tự của một từ trên văn bản chữ viết tay đối với hầu hết người viết thường bị dính nhau vì vậy rất khó xác định được phân cách giữa chúng.
Các văn bản chữ viết tay còn có thể có trường hợp dính dòng (dòng dưới bị dính hoặc chồng lên dòng trên).
Trong những năm gần đây, mô hình mạng Neuron theo hướng học sâu
đã cho thấy những kết quả tốt trong nhiều bài toán khác nhau, trong đó có nhận dạng chữ.
Trang 8đề này. Chính vì vậy học viên đã chọn đề tài “Nghiên cứu mô hình học sâu (deep-learning) và ứng dụng trong nhận dạng chữ viết tay” làm luận văn tốt nghiệp với mong muốn phần nào áp dụng vào bài toán thực tế.
Bài toán đã đặt ra phải giải quyết được những yêu cầu sau:
Nhận dạng được các ký tự từ ảnh đầu vào
Tiến hành nhận dạng kí tự đơn lẻ sử dụng mạng Neuron nhân tạo theo phương pháp học sâu Restricted Boltzmann machine (RBM).
Đánh giá kết quả và so sánh với mô hình mạng neuron
Với những yêu cầu đã đặt ra ở trên, cấu trúc của luận văn sẽ bao gồm những nội dung sau đây:
Chương 1: Tổng quan về đề tài
Giới thiệu về bài toán nhận dạng chữ viết tay, tình hình nghiên cứu trong và ngoài nước, quy trình chung để giải quyết bài toán và các phương pháp điển hình trong việc huấn luyện nhận dạng, phạm vi của đề tài.
Chương 2: Mô hình mạng neuron và mô hình học sâu
Trình bày về cơ sở lý thuyết của mô hình neuron và huấn luyện trong bài toán nhận dạng chữ viết tay. Cơ sở lý thuyết của mô hình học sâu: Hopfield network, Boltzmann Machines, Restricted Boltzmann Machines và thuật toán lan truyền ngược.
Chương 3: Kết quả thực nghiệm và đánh giá
Trình bày các kết quả thực nghiệm của hai mô hình mạng neuron và mô hình học sâu, đưa ra kết quả đánh giá nhận dạng chữ viết tay giữa mô hình mạng neuron và mô hình học sâu.
Trang 9
Trang 10
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
1.1 Giới thiệu về bài toán nhận dạng
Nhận dạng chữ in: đã được giải quyết gần như trọn vẹn (sản phẩm FineReader 11 của hãng ABBYY có thể nhận dạng chữ in theo 192 ngôn ngữ khác nhau, phần mềm nhận dạng chữ Việt in VnDOCR 4.0 của Viện Công nghệ Thông tin – Viện Hàn lâm Khoa học và Công nghệ Việt Nam có thể nhận dạng được các tài liệu chứa hình ảnh, bảng và văn bản với độ chính xác trên 98%).
Nhận dạng chữ viết tay vẫn còn 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ó hoàn toàn phụ thuộc 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 sức khỏe, tinh thần của từng người viết.
1.1.1 Các giai đoạn phát triển
Giai đoạn 1 (1900 - 1980)
Nhận dạng chữ được biết đến từ năm 1900, khi nhà khoa học người Nga Alan Turing (1912-1954) phát triển một phương tiện trợ giúp cho những người mù.
Các sản phẩm nhận dạng chữ thương mại có từ những năm1950, khi máy tính lần đầu tiên được giới thiệu tính năng mới về nhập và lưu trữ dữ liệu hai chiều bằng cây bút viết trên một tấm bảng cảm ứng. Công nghệ mới này cho phép các nhà nghiên cứu làm việc trên các bài toán nhận dạng chữ viết tay online.
Mô hình nhận dạng chữ viết được đề xuất từ năm 1951 do phát minh của M. Sheppard được gọi là GISMO, một robot đọc-viết.
Năm 1954, máy nhận dạng chữ đầu tiên đã được phát triển bởi J. Rainbow dùng để đọc chữ in hoa nhưng rất chậm.
Trang 11 Giai đoạn 2 (1980 - 1990)
Với sự phát triển của các thiết bị phần cứng máy tính và các thiết bị thu nhận dữ liệu, các phương pháp luận nhận dạng đã được phát triển trong giai đoạn trước đã có được môi trường lý tưởng để triển khai các ứng dụng nhận dạng chữ.
Các hướng tiếp cận theo cấu trúc và đối sánh được áp dụng trong nhiều
hệ thống nhận dạng chữ.
Trong giai đoạn này, các hướng nghiên cứu chỉ tập trung vào các kỹ thuật nhận dạng hình dáng chứ chưa áp dụng cho thông tin ngữ nghĩa. Điều này dẫn đến sự hạn chế về hiệu suất nhận dạng, không hiệu quả trong nhiều ứng dụng thực tế.
Giai đoạn 3 (1990 - nay)
Các hệ thống nhận dạng thời gian thực được chú trọng trong giai đoạn này.
Các kỹ thuật nhận dạng kết hợp với các phương pháp luận trong lĩnh vực học máy (Machine Learning) được áp dụng rất hiệu quả.
Một số công cụ học máy hiệu quả như mạng Neuron, mô hình Markov
ẩn, SVM (Support Vector Machines) và xử lý ngôn ngữ tự nhiên
1.1.2 Tình hình nghiên cứu trong nước
Tại Việt Nam, trong những năm gần đây có rất nhiều những nhóm nghiên cứu về nhận dạng chữ viết tay sử dụng các mô hình phổ biến hiện nay như: SVM (Support Vector Machine), HMM (Hidden Markov Model), mạng Neuron… Nhưng nhìn chung thì chất lượng nhận dạng của các mô hình này đều chưa cao vì chữ viết tay còn nhiều các yếu tố tác động đến như: độ cao,
độ nghiêng, các nét liền… của chữ viết đều ảnh hưởng rất nhiều đến quá trình nhận dạng. Hiện tại, chúng ta mới chỉ có được những sản phẩm thử nghiệm
Trang 12…
1.1.3 Tình hình nghiên cứu ở nước ngoài
Nhận dạng chữ viết đã được nghiên cứu hơn 40 năm qua. Ngày nay nhận dạng chữ viết đã nhận được sự quan tâm đáng kể do sự phát triển của các máy tính cầm tay và điện thoại cầm tay dựa trên các bàn phím, chuột và nhiều dạng thiết bị định vị khác. Nhận dạng chữ viết tay được thực hiện qua hai hình thức là nhận dạng online và nhận dạng offline. Nhận dạng online có nghĩa là máy tính sẽ nhận dạng các chữ được viết lên màn hình ngay sau khi
nó được viết. Đối với những hệ nhận dạng này, máy tính sẽ lưu lại các thông tin về nét chữ như thứ tự nét viết, hướng và tốc độ của nét viết trong khi nó đang được viết ra. Đây chính là cơ sở để máy tính nhận dạng được chữ cái, do
đó việc nhận dạng không gặp quá nhiều khó khăn. Hệ thống nhận dạng chữ viết tay trực tuyến trên một trạm làm việc của IBM do nhóm nghiên cứu gồm H.S.M.Beigi, C.C.Tapert, M.Ukeison và C.G.Wolf ở phòng thực hành Watson IBM cài đặt là một trong những sản phẩm nhận dạng chữ viết tay online tiêu biểu nhất. Tuy nhiên, do chưa có nhiều ứng dụng thực tế nên nhận dạng chữ viết tay trực tuyến chưa được biết đến nhiều và khi nhắc đến nhận dạng chữ viết tay chúng ta thường hiểu nhình thức nhận dạng ở đây là offline.
Các kết quả nhận dạng chữ viết tay offline hiện này còn rất hạn chế. Các kết quả nghiên cứu chưa tìm được giải pháp đủ tốt để giải quyết hết những khó khăn tiêu biểu sau của bài toán nhận dạng chữ viết tay:
Kích thước của chữ viết tay không đồng đều.
Kiểu dáng chữ của mỗi người viết đều rất khác nhau.
Giữa các kí tự trong cùng một từ thường có nét nối, thậm chí dính liền vào nhau.
Trang 13 Các kí tự có thể thiếu hoặc thừa nét.
Xuất hiện tình trạng dính dòng.
Do những khó khăn trên nên khi giải quyết bài toán nhận dạng chữ viết tay đều buộc phải giới hạn trong một phạm vi nào đó với những tiêu chuẩn cụ thể cho mẫu chữ nhận dạng. Chính vì vậy, các kết quả thu được cũng chỉ được áp dụng một cách hạn chế ở lĩnh vực hẹp trong một bài toán cụ thể nào
đó.
Một số hệ nhận dạng chữ viết tay tiêu biểu có thể kể đến như: hệ thống nhận dạng chữ viết tay trong lĩnh vực kiểm tra tài khoản ở ngân hàng của nhóm nghiên cứu Simon và O.Baret (Laoria/CNRS & ENPC, Paris), hệ thống phân loại tự động địa chỉ thư ở bưu điện của M.Pfister, S.Behnke và R.Rojas
ở Đại học tổng hợp Berlin, Đức….
1.2 Các bước xử lý cho bài toán nhận dạng hoàn chỉnh
Nhận dạng chữ viết tay thường bao gồm năm giai đoạn: tiền xử lý (preprocessing), tách chữ (segmentation), trích chọn đặc trưng (representation), huấn luyện và nhận dạng (training and recognition), hậu xử
lý (postprocessing).
Hình 1- 1: Các bước trong nhận dạng chữ viết tay
Trang 14 Tiền xử lý (preprocessing): giảm nhiễu cho các lỗi trong quá
Huấn luyện và nhận dạng (training and recognition): phương
pháp điển hình so trùng mẫu, dùng thống kê, mạng neuron, mô hình markov ẩn, trí tuệ nhân tạo hay dùng phương pháp kết hợp các phương pháp trên.Trong luận văn này, tôi sử dụng mô hình học máy theo chiều sâu (deep learning) để huấn luyện và nhận dạng, nội dung này sẽ được trình bày trong các chương sau của luận văn.
Hậu xử lý (postprocessing): sử dụng các thông tin về ngữ cảnh
để giúp tăng cường độ chính xác, dùng từ điển dữ liệu.
Ban đầu các văn bản chữ viết tay được scan và đưa vào hệ thống nhận dạng, với quá trình tiền xử lý thì ảnh sẽ được một ảnh mà do hệ thống yêu cầu
để huấn luyện và nhận dạng (có thể là ảnh nhị phân hay ảnh đa mức xám).
Trang 15Tại bước tách chữ thì với ảnh đã được tiền xử lý, khi đi qua bước này
sẽ được thực hiện tách dòng, tách chữ, tách kí tự để thực hiện nhận dạng, tùy theo quy định của một hệ thống khi huấn luyện. Khi đã được tách rời các kí tự thì việc tiếp theo ảnh để nhận dạng sẽ được lưu dưới dạng ma trận điểm, với tùy từng vị trí của điểm ảnh mà giá trị có thể khác nhau (từ 0 đến 255), trong
mô hình Deep Learning thì ma trận điểm ảnh sẽ được quy về dạng chuẩn là 28x28.
Sau khi qua các bước xử lý ở trên thì ảnh chính thức được đưa vào huấn luyện và nhận dạng, trong quá trình huấn luyện và nhận dạng sẽ sử dụng các mô hình và thuật toán cần thiết để thực hiện tính toán và xử lý, những thuật toán và quá trình xử lý sẽ được trìn bày chi tiết trong các phần sau của luận văn.
Cuối cùng khi các ảnh đầu vào đã được đưa vào nhận dạng và cho ra kết quả thì bước quan trọng không kém là quá trình hậu xử lý với các kết quả
Trang 16chữ viết tiếng Việt các từ tiếng Việt đơn lẻ, và sẽ tiến tới xây dựng một hệ thống nhận dạng văn bản viết tay tiếng Việt hoàn chỉnh.
Luận văn sẽ tập trung vào nghiên cứu về cơ sở lý thuyết mô hình Deep Learning, các thuật toán được sử dụng, thực hiện huấn luyện bằng mô hình Deep Learning, từ đó cài đặt chương trình mô phỏng trên ngôn ngữ Matlab, PHP, C#
Trang 17CHƯƠNG 2: MÔ HÌNH MẠNG NEURONVÀ MÔ HÌNH HỌC SÂU
2.1 Tổng quan về mô hình mạng neuron
2.1.1 Giới thiệu về mạng Neuron
2.1.1.1 Định nghĩa:
Mạng neuron nhân tạo, Artificial Neural Network (ANN) gọi tắt là mạng neuron, neural network, là một mô hình xử lý thông tin phỏng theo cách thức xử lý thông tin của các hệ neuron sinh học. Nó được tạo lên từ một số lượng lớn các phần tử (gọi là phần tử xử lý hay neuron) kết nối với nhau thông qua các liên kết (gọi là trọng số liên kết) làm việc như một thể thống nhất để giải quyết một vấn đề cụ thể nào đó.
Một mạng neuron nhân tạo được cấu hình cho một ứng dụng cụ thể (nhận dạng mẫu, phân loại dữ liệu, ) thông qua một quá trình học từ tập các mẫu huấn luyện. Về bản chất học chính là quá trình hiệu chỉnh trọng số liên kết giữa các neuron.
2.1.1.2 Lịch sử phát triển mạng neuron
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 neuron nhân tạo là hoàn toàn tự nhiên. Sự kiện đầu tiên đánh dấu sự ra đời của mạng neuron 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 neuron hoạt động. Họ cũng đã tiến hành xây dựng một mạng neuron đơn giản bằng các mạch điện. Các neuron 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”.
Trang 18Tiế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 neuron 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ở thành hiện thực. Nathanial Rochester sau nhiều năm làm việc tại các phòng thí nghiệm nghiên cứu của IBM đã có những nỗ lực đầu tiên để
mô phỏng một mạng neuron. 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ề neuron 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 neuron. 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 neuron 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 neuron đơ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ề neuron Frank Rosenblatt cũng bắt đầu nghiên cứu về Perceptron. 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 neuron 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ỉ
Trang 19Nă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 neuron đầ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 neuron này vẫn được sử dụng trong các ứng dụng thương mại.
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.
Thật không may, những thành công ban đầu này khiến cho con người nghĩ quá lên về khả năng của các mạng neuron. Chính sự cường điệu quá mức
đã có những tác động không tốt đến sự phát triển của khoa học và kỹ thuật thời bấy giờ khi người ta lo 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.
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 neuron 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ũ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 neuron đã được
Trang 20tổ 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.
2.1.1.3 So sánh mạng neuron với máy tính truyền thống
Các mạng neuron 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
Trang 21Các mạng neuron 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 neuron học theo mô hì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.
Các mạng neuron 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 neuron. 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 neuron)
2.1.2 Cấu trúc và hoạt động của mạng Neuron
2.1.2.1 Neuron sinh học
Qua quá trình nghiên cứu về bộ não, người ta thấy rằng: bộ não con người bao gồm khoảng 1011 neuron tham gia vào khoảng 1015 kết nối trên các đường truyền. Mỗi đường truyền này dài khoảng hơn một mét. Các neuron có nhiều đặc điểm chung với các tế bào khác trong cơ thể, ngoài ra chúng còn có những khả năng mà các tế bào khác không có được, đó là khả năng nhận, xử lý và truyền các tín hiệu điện hóa trên các đường mòn neuron, các con đường này tạo nên hệ thống giao tiếp của bộ não.
Trang 22bào (cell body)
c ra (axon) Các nhánh hình cây truyền tín hiệu vào đến thân tế bào. Thân t
lý cho tín hiệu đi ra. Sợi trục truyền tín hiệu ra tkhác. Điểm liên kết giữa sợi trục của neuron này vkhác gọi là synapse. Liên kết giữa các neuron
ạp. Một số cấu
u trúc được phát liên kết mới được
Trang 232.1.2.2 Cấu trúc của một neuron
Từ định nghĩa ta thấy đơn vị hình thành nên mạng neuron là các neuron.Chức năng của mạng neuron nhân tạo tương tự như chức năng đơn giản nhất của các neuron sinh học đó là tích lũy (ghi nhớ) những tri thức đã được học về các sự vật để biết, phân biệt chúng mỗi khi gặp lại. Chức năng này được hình thành thông qua một chuỗi liên tiếp các quá trình xử lý thông tin của các neuron trong mạng.
Về cơ bản, mỗi neuron sinh học thực hiện nhiệm vụ của mình thông qua các bước: nhận đầu vào, xử lý đầu vào đó, đưa dữ liệu đã được xử lý ra output và liên lạc với các neuron khác để gửi output này đi. Với bản chất là
mô hình mô phỏng đơn của của neuron sinh học, neuron nhân tạo cũng thực hiện nhiệm vụ của mình thông qua các thao tác: nhận đầu vào từ các neuron trước nóm xử lý đầu vào bằng cách nhân mỗi đầu vào này với trọng số liên kết tương ứng và tính tổng các tích thu được rồi đưa ra một hàm truyền, sau
đó gửi kết quả cuối cùng cho các neuron tiếp theo hoặc đưa ra output. Cứ như vậy các neuron này hoạt động phối hợp với nhau tạo thành hoạt động chính của mạng neuron.
Chúng ta có thể hình dung rõ rang hơn quy trình xử lý thông tin của một neuron qua cấu trúc của nó được thể hiện trong hình 2-5.
Trang 24Hinh 2- 2: Cấu trúc của một neuron
Trong hình vẽ trên:
tín hiệu này có thể là đầu ra của các neuron trước đó hoặc đầu vào ban đầu của mạng và thường được đưa vào dưới dạng một vector p chiều.
vào tương ứng ( ,x x1 2, ,x p). Thông thường, các trọng số này đưuọ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 của mạng.
là hàm tổng trên một neuron, dung để tính tổng các giá trị kích hoạt lên neuron đó. Thông thưởng, đây là tổng của các tích giữa đầu vào với trọng số liên kết tương ứng của neuron.
uk là tổng các giá trị kích hoạt lên neuron thứ k , giá trị này chính
là đầu ra của hàm tổng.
Trang 25 bklà ngưỡng (còn gọi là hệ số bias) của neuron thứk , giá trị này được dung như một thành phần phân ngưỡng trên hàm truyền và cũng dược cập nhật liên tục trong quá trình học của mạng.
f (.)là hàm truyền, còn gọi là hàm kích hoạt (activation function). Hàm truyền được dùng để giới hạn phạm vi đầu ra của nỗi neuron. Đối số của hàm là giá trị hàm tổng và ngưỡng bk. Thông thường, phạm vi đầu ra của mỗi neuron được giới hạn trong đoạn [0,1] hoặc [-1,1]. Như vậy miền giá trị của các hàm kích hoạt cũng là một trong hai đoạn trên. Có rất nhiều hàm truyền thường được dùng, việc lựa chọn hàm truyền nào cho phù hợp tùy thuộc vào từng bài toán.
yklà tín hiệu đầu ra của neuron thứ k, mỗi neuron thường có một đầu ra và tối đa là một đầu ra. Giá trị ykđược tính theo công thức:
2.1.2.3 Hoạt động của mạng neuron
Một mạng neuron có thể có nhiều lớp/tầng mạng và ít nhất phải có một lớp đó là lớp đầu ra (lớp đầu vào thường không được tính là một lớp mạng). Mỗi lớp có thẻ có một hoặc nhiều neuron. Cấu trúc tổng quát của mạng neuron được thể hiện trong hình 2-5 dưới đây:
Trang 26Hinh 2- 3: Cấu trúc chung của mạng neuron
Mạng neuron với cấu trúc như hình vẽ trên có thể mô tả như sau:
Đầu vào của mạng vector có kích thước p: ( , , ,x x1 2 x p)và đầu
ra là vector a a1, , ,2 a qcó kích thước q. Trong vài toán phân loại mẫu, kích thước đầu vào của mạng là kích thước của mẫu đầu vào, kích thước đầu ra của mạng chính là số lớp cần phân loại.
Ví dụ, trong bài toán nhận dạng chữ số, kích thước đầu ra của mạng là 10 tương ứng với 10 chữ số 0,…,9, trong vài toán nhận dạng chữ cái tiếng Anh viết thường, kích thức đầu ra của mạng là
26 tương ứng với 26 chữ cái a…z.
Lớp ẩn đầu tiên là lớp H1, sau đó đến lớp ẩn thứ hai H2, tiếp tục như vậy cho đến lớp ẩn cuối cùng rồi lớp đầu ra O.
Các neuron trong các lớp có cấu trúc như trên hình 2-4, liên kết giữa các neuron giữa các lớp có thể là liên kết đầy đủ (mỗi neuron thuộc lớp sau liên kết với tất cả các neuron ở lớp trước nó) hoặc liên kết chọn lọc (mỗi neuron thuộc lớp sau liên kết với tất cả neuron ở lớp trước đó).
Đầu ra của lớp trước chính là đầu vào của lớp ngay sau nó.
Hàm truyền tại các neuron không nhất thiết giống nhau.
Trang 27Với cấu trúc như vậy, hoạt động của mạng neuron diễn ra như sau: đầu tiên vector đầu vào được lan truyền qua lớp H1. Tại lớp này, mỗi neuron nhận vector đầu vào rồi xử lý (tính tổng có trọng số của các đầu vào rồi cho qua hàm truyền) và cho ra kết quả tương ứng. Đầu ra của lớp H1 chính là đầu vào của lớpH2, do đó sau khi lớp H1 cho kết quả ở đầu ra của mình thì lớp 2
H nhận được đầu vào và tiếp tục quá trình xử lý. Cứ như vậy cho tới khi thu được đầu ra sau lớp O, đầu ra này chính là đầu ra cuối cùng của mạng.
Mô hình mạng neuron
Mặc dù mỗi neuron đơn lẻ có thể thực hiện những chức năng xử lý thông tin nhất định, sức mạnh của tính toán neuron chủ yếu có được nhờ sự kết hợp các neuron trong một kiến trúc thống nhất. Một mạng neuron là một
mô hình tính toán được xác định qua các tham số: kiểu neuron (như là các nút nếu ta coi cả mạng neuron là một đồ thị), kiến trúc kết nối (sự tổ chức kết nối giữa các neuron) và thuật toán học (thuật toán dùng để học cho mạng).
Về bản chất một mạng neuron có chức năng như là một hàm ánh xạ F:
X → Y, trong đó X là không gian trạng thái đầu vào (input state space) và Y
là không gian trạng thái đầu ra (output state space) của mạng. Các mạng chỉ đơn giản là làm nhiệm vụ ánh xạ các vector đầu vào x ∈ X sang các vector đầu ra y ∈ Y thông qua “bộ lọc” (filter) các trọng số. Tức là y = F(x) = s(W, x), trong đó W là ma trận trọng số liên kết. Hoạt động của mạng thường là các tính toán số thực trên các ma trận.
Các kiểu mô hình mạng neuron
Cách thức kết nối các neuron trong mạng xác định kiến trúc (topology) của mạng. Các neuron trong mạng có thể kết nối đầy đủ (fully connected) tức
là mỗi neuron đều được kết nối với tất cả các neuron khác, hoặc kết nối cục
Trang 28Tự kết hợp (autoassociative): là mạng có các neuron đầu vào cũng là các neuron đầu ra. Mạng Hopfield là một kiểu mạng tự kết hợp.
Kiến trúc truyền thẳng (feedforward architechture): là kiểu kiến trúc mạng không có các kết nối ngược trở lại từ các neuron đầu ra về các neuron
Trang 29đầu vào; mạng không lưu lại các giá trị output trước và các trạng thái kích hoạt của neuron. Các mạng neuron truyền thẳng cho phép tín hiệu di chuyển theo một đường duy nhất; từ đầu vào tới đầu ra, đầu ra của một tầng bất kì sẽ không ảnh hưởng tới tầng đó. Các mạng kiểu Perceptron là mạng truyền thẳng.
Hinh 2- 6: Mạng truyền thẳng
Kiến trúc phản hồi (Feedback architecture): là kiểu kiến trúc mạng có các kết nối từ neuron đầu ra tới neuron đầu vào. Mạng lưu lại các trạng thái trước đó, và trạng thái tiếp theo không chỉ phụ thuộc vào các tín hiệu đầu vào
mà còn phụ thuộc vào các trạng thái trước đó của mạng. Mạng Hopfield thuộc loại này.
Hinh 2- 7: Mạng phản hồi
Perceptron
Trang 30Hinh 2- 8: Perceptron
Đầ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 31Mô hình mà chúng ta hay gặp nhất là mạng neuron nhiều tầng truyền thẳng MLP (Multi Layer Perceptrons). Mạng này có cấu trúc như mô tả trên hình 2-6 chỉ cụ thể hơn ở chỗ: liên kết giữa các neuron ở các lớp thường là liên kết đầy đủ. Nhiều thực nghiệm đã chứng minh rằng: mạng MLP (chỉ cần hai lớp neuron) với thuật toán huấn luyện và thuật toán lan truyền ngược sai
số và hàm truyền sigmoid là một trong những mô hình có thể sử dụng để giải quyết các bài toán nhận dạng chữ viết.
2.1.2.4 Hàm truyền
Có rất nhiều hàm truyền có thể dùng trong các mạng neuron. Hàm truyền được phân loại theo hàm tuyến tính hoặc phi tuyến, hàm liên tục hay gián đoạn. Việc lựa chọn hàm truyền phù hợp với bài toán thường được tiến hành qua thực nghiệm. Trong bảng dướng đây, chúng ta dùng công thức ( )
Linear (purelin)
y x
trong mạng ADALINE
Trang 32Bảng 2- 1: Các hàm truyền cơ bản
2.1.3 Mô hình và huấn luyện trong bài toán nhận dạng
2.1.3.1 Mạng neuron và bài toán phân loại mẫu
Một cách tổng quát, có thể nói nhiệm vụ của các hệ nhận dạng trong các bài toán nhận dạng chính là phân loại mẫu. Có nghĩa là từ một mẫu vào ban đầu, hệ nhận dạng cần chỉ ra nó thuộc về lớp phân loại nào. Ví dụ, trong nhận dạng chữ viết tay, tất cả các kiểu viết khác nhau của chữ “A” đều được quy về một lớp, lớp chữ “A” và hệ nhận dạng cần được huấn luyện sao cho khi gặp một mẫu bất kỳ của chữ “A” nó phải chỉ ra được đầu vào này thuộc
về lớp chữ“A”. Trong hệ nhận dạng chữ cái, số lớp phân loại là 26 lớp, tương ứng với 26 chữ cái từ “A” đến “Z”.
Bên cạnh bài toán nhận dạng chữ viết, nhiều bài toán nhạn dạng khác cũng có thể coi là bài toán phân loại mẫu như nhận dạng dấu vân tay dùng làm mã khóa trong các hệ an ninh, nhận dạng khuôn mặt hay tiếng nói…
Câu hỏi đặt ra đối với chúng ta là sử dụng mô hình nào cho các hệ nhận dạng này để nó không chỉ phân loại được những mẫu đã học mà còn có thể tổng quát hóa để phân loại những mẫu chưa được học? Mang neuron là một
mô hình có thể áp dụng cho mọi bài toán nhận dạng mà bài toán đó có thể quy
Trang 332.1.3.2 Khả năng học và tổng quát hóa
Có thể nói đặc trưng cơ bản nhất của mạng neuron là khả năng học và tổng quát hóa.
Học: là khả năng mà mạng neuron có thể phân loại chính xác những
mẫu đã được huấn luyện.
Tổng quát hóa: là khả năng mạng có thể nhận biết được những mẫu
chưa từng huấn luyện. Ví dụ, chúng ta huấn luyện mạng neuron nhận dạng chữ viết tay trên tập mẫu do 50 người viết, và khi người khác viết mạng vẫn nhận dạng được, đây là khả năng tổng quát hóa của mạng neuron. Chính khả năng này tạo nên sức mạnh của mạng.
Các khả năng này có được là do việc hiệu chỉnh và cập nhật bộ tham số mạng trong suốt quá trình huấn luyện.
2.1.3.3 Các phương pháp huấn luyện mạng
Huấn luyện mạng: là quá trình đào tạo mạng sao cho khả năng học và
tổng quát hóa mà nó đạt được là cao nhất. Bản chất của việc làm này là hiệu chỉnh trong số liên kết giữa các neuron và ngưỡng tại các neuron trong mạng
để từ các tín hiệu vào ban đầu, sau quá trình tính toán mạng đưa ra kết quả là giá trị mà chúng ta mong muốn. Hai kiểu huấn luyện phổ biến là học có giám sát (supervised learning) và học không có giám sát (unsupervised learning) với mô tả chi tiết hơn như sau:
Học có giám sát: là phương pháp học để thực hiện một công việc nào
đó dưới sự giám sát của một “thầy giáo”. Để dễ hình dung, có thể mô tả phương pháp này như sau: chúng ta sẽ cho mạng xem một số mẫu đầu vào và đầu ra tương ứng. Dưới sự chỉ đạo của một thuật toán huấn luyện, mạng có
Trang 34Với phương pháp này, thuật toán huấn luyện mạng được thực hiện với tập mẫu học có dạng D { , } x ti i trong đó xi(vector p chiều trong R) là vector đầu vào của mạng và ti(vector q chiều trong R) là vector đầu ra mong muốn tương ứng với xi. Nhiệm vụ của thuật toán là phải thiết lập được một cách tính toán nào đó để cập nhật tham số của mạng sao cho với một đầu vào cho trước thì sai số giữa đầu ra thực tế của mạng và đầu ra mong muốn là nhỏ nhất.
Một thuật toán điển hình trong phương pháp học có giám sát là: thuật toán LMS (Least Mean Square error), thuật toán lan truyền ngược sai số (Back Propagation),….
Với bài toán nhận dạng, bản chất của phương pháp học có giám sát là học để phân lớp đầu vào trên tập mẫu huấn luyện, trong đó số lớp cần phân loại là biết trước. Nhiệm vụ của việc học là xác định (thay đổi và cập nhật) các tham số mạng để mỗi đầu vào sẽ được phân vào đúng lớp chứa nó.
Học không có giám sát: là phương pháp học để thực hiện một công
việc nào đó mà không cần bất kỳ sự giám sát nào.
Với cách tiếp cận này, thuật toán huấn luyện mạng được thực hiện với tạo mẫu học có dạng D { } xi với xi(vector p chiều trong R) là vector đầu vào của mạng. 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 một tập vector đầu vào có các đặc trưng giống nhau. Việc phân nhóm này cho phép tạo ra các lớp phân loại một cách tự động và số lớp là không biết trước.
Trong thực tế, phương pháp học có giám sát được ứng dụng nhiều hơn phương pháp học không có giám sát. Kiểu huấn luyện không có giám sát
Trang 352.2 Mô hình học sâu
2.2.1 Mạng nhiều tầng truyền thẳng (MLP)
Mô hình mạng neuron được sử dụng rộng rãi nhất là mô hình mạng nhiều tầng truyền thẳng (MLP: Multi Layer Perceptron). Một mạng MLP tổng quát là mạng có n (n≥2) tầng (thông thường tầng đầu vào không được tính đến): trong đó gồm một tầng đầu ra (tầng thứ n) và (n-1) tầng ẩn.
Hinh 2- 9: Mạng MLP tổng quát
Kiến trúc của một mạng MLP tổng quát có thể mô tả như sau:
Đầu vào là các vector x1 , x2 , , x ptrong không gian p chiều, đầu
ra là các vector y1 , y2 , , y qtrong không gian q chiều. Đối với các bài toán phân loại, p chính là kích thước của mẫu đầu vào, q chính là số lớp cần phân loại. Xét ví dụ trong bài toán nhận dạng chữ số: với mỗi mẫu ta lưu tọa độ (x,y) của 8 điểm trên chữ số đó, và nhiệm vụ của mạng là phân loại các mẫu
Trang 36Mỗi neuron thuộc tầng sau liên kết với tất cả các neuron thuộc tầng liền trước nó.
Đầu ra của neuron tầng trước là đầu vào của neuron thuộc tầng liền sau
nó.
Hoạt động của mạng MLP như sau: tại tầng đầu vào các neuron nhận tín hiệu vào xử lý (tính tổng trọng số, gửi tới hàm truyền) rồi cho ra kết quả (là kết quả của hàm truyền); kết quả này sẽ được truyền tới các neuron thuộc tầng ẩn thứ nhất; các neuron tại đây tiếp nhận như là tín hiệu đầu vào, xử lý
và gửi kết quả đến tầng ẩn thứ 2;…; quá trình tiếp tục cho đến khi các neuron thuộc tầng ra cho kết quả.
Mọi hàm bất kỳ đều có thể xấp xỉ bởi một mạng MLP 3 tầng sử dụng hàm truyền sigmoid cho các neuron tầng ẩn và hàm truyền tuyến tính cho các neuron tầng ra.
Các vấn đề trong xây dựng mạng MLP
2.2.1.1 Chuẩn bị dữ liệu
a Kích thước mẫu
Không có nguyên tắc nào hướng dẫn kích thước mẫu phải là bao nhiêu đối với một bài toán cho trước. Hai yếu tố quan trọng ảnh hưởng đến kích thước mẫu: