McCul-Một trong những ứng dụng kinh điển của mạng neuron là lớp các bàitoán nhận dạng mẫu, trong đó, mẫu là tập hợp các tham số biểu thịthuộc tính của một đối tượng nào đó.. Qua quá trìn
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Trang 2Mục lục
Danh mục các kí hiệu viết tắt 5
Danh mục hình vẽ 6
Danh mục bảng 8
MỞ ĐẦU 9 Chương 1 Tổng quan 12
1.1 Bài toán nhận dạng kí tự viết tay 12
1.2 Các hướng nghiên cứu 13
1.2.1 Nhận dạng online 13
1.2.2 Nhận dạng off-line 15
1.3 Mục đích, phạm vi, định hướng nghiên cứu 26
Chương 2 Mạng neuron nhân tạo 27
2.1 Cơ sở của mạng neuron nhân tạo 27
2.1.1 Mô hình neuron nhân tạo 27
2.2 Đặc trưng của mạng neuron nhân tạo 32
Trang 32.3 Các mô hình kiến trúc cơ bản của mạng neuron nhân tạo 34
2.4 Phương pháp học và giải thuật học lan truyền ngược sai số 37
2.4.1 Lý thuyết học và vấn đề nhận dạng mẫu 37
2.4.2 Thuật toán học lan truyền ngược sai số 43
Chương 3 Nhận dạng kí tự viết tay bằng mạng neuron nhân chập 57 3.1 Mạng Neuron nhân chập 57
3.1.1 Mô hình mạng neuron nhân chập 59
3.1.2 Huấn luyện mạng neuron nhân chập 61
3.1.3 Lịch sử và ứng dụng của mạng neuron nhân chập 64
3.2 Kiến trúc mạng neuron nhân chập cho nhận dạng chữ viết tay 66
3.3 Các cải tiến 68
3.3.1 Mở rộng tập dữ liệu bằng biến dạng tập dữ liệu học 68
3.3.2 Nhập các kí tự giống nhau vào cùng lớp 71
3.3.3 Huấn luyện không hoàn toàn 72
3.4 Áp dụng trong hệ thống nhận dạng kí tự viết tay 73
Chương 4 Thiết kế, cài đặt và thực nghiệm 74
4.1 Phân tích thiết kế 74
4.1.1 Phân tích yêu cầu 74
4.1.2 Các khối của chương trình thực nghiệm 75
4.2 Kịch bản thực nghiệm 75
4.2.1 Mô tả các cơ sở dữ liệu 76
Trang 44.2.2 Kịch bản thực nghiệm 76
4.3 Kết quả và đánh giá 80
4.3.1 Hiệu năng nhận dạng 80
4.3.2 Thời gian tính toán 82
Trang 5Lời cam đoan
Tôi – Nguyễn Tư Hoàn - cam kết luận văn tốt nghiệp là công trình nghiêncứu của bản thân tôi dưới sự hướng dẫn của TS Nguyễn Linh Giang Các kếtquả nêu trong luận văn là trung thực, không phải là sao chép toàn văn củabất kỳ công trình nào khác
Trang 6Danh mục các kí hiệu viết tắt
C-Cube: Cursive Character Challenge
CSDL: Cơ sở dữ liệu
MNIST: Modified National Institute of Standards and TechnologyMLP: Multilayer-Perceptron
NEC: National Executive Committee
OCR: Optical Character Recognition
PDA: Personal Digital Assistant
Trang 7Danh sách hình vẽ
1.1 Quy trình nhận dạng chữ viết tay online 14
1.2 Các kiểu đầu vào của bước phân đoạn 14
1.3 Chuẩn hóa độ nghiêng 17
1.4 Một kiểu mã hóa đường xương của kí tự Arabic 21
1.5 So khớp dùng từ điển (a) Kết quả phân đoạn (b) Đồ thị phân đoạn tương ứng (c) Cây phân đoạn 26
2.1 Mô hình một neuron nhân tạo 28
2.2 Mô hình phi tuyến của một neuron 29
2.3 Các loại hàm kích hoạt 30
2.4 Mạng tiến một mức 35
2.5 Mạng tiến đa mức với một tầng ẩn 36
2.6 Mạng hồi quy 37
2.7 Quy tắc học hiệu chỉnh lỗi 39
2.8 Mô hình học với một người dạy 40
2.9 Hướng đi của hai luồng tín hiệu cơ bản 43
2.10 Đồ thị luồng tín hiệu của một neuron đầu ra 45
2.11 Luồng tín hiệu của neuron ẩn j nối với neuron đầu ra k 47
2.12 Tác dụng của hằng số moment α 50
Trang 83.1 Kiến trúc mạng neuron nhân chập với 2 pha 59
3.2 Ví dụ về tầng trích chọn đặc trưng F − Rabs − N − PA Ảnh đầu vào được đưa qua tầng lọc, sau đó điều chỉnh bằng hàm abs(gi.tanh(.)), chuẩn hóa tương phản cục bộ trừ và chia, cuối cùng là cộng gộp 60
3.3 Sự lan truyền ngược lỗi ở tầng lọc 63
3.4 Sự lan truyền ngược lỗi ở tầng gộp đặc trưng 63
3.5 Kiến trúc mạng neuron nhân chập dùng cho nhận dạng kí tự 67
3.6 Biến dạng Affine 69
3.7 Biến dạng đàn hồi với các tham số khác nhau (Góc trên trái -ảnh gốc) 70
3.8 Độ giống nhau của từng cặp chữ cái in thường-in hoa 71
3.9 Mạng neuron nhân chập trong hệ thống nhận dạng kí tự viết tay 73 4.1 Phân cấp chức năng các chương trình huấn luyện nhận dạng chữ viết tay 75
4.2 Một số mẫu trong cơ sở dữ liệu MNIST 76
4.3 Một số mẫu trong cơ sở dữ liệu C-Cube 77
4.4 Kịch bản thực nghiệm với bộ dữ liệu chữ số MNist 77
4.5 Lưu đồ các bước huấn luyện 78
4.6 Lưu đồ các bước kiểm thử 78
4.7 Thực nghiệm với bộ dữ liệu C-Cube không phân biệt chữ hoa thường 79
4.8 Thực nghiệm với bộ dữ liệu chữ hoa được tách từ bộ dữ liệu C-Cube79 4.9 Độ nhầm lẫn giữa các cặp kí tự 81
Trang 9Danh sách bảng
4.1 Hiệu năng nhận dạng đối với các tập dữ liệu khác nhau 804.2 Hiệu năng nhận dạng khi không áp dụng các cải tiến 80
Trang 10MỞ ĐẦU
1 Lý do chọn đề tài
Trong những năm gần đây, “Trí tuệ nhân tạo” đã có những ứng dụngđáng kể trong khoa học và đời sống dựa vào việc mô phỏng trí thôngminh của con người Thực sự, nó đã trở nền tảng cho việc xây dựngnhững hệ thống máy thông minh hiện đại Từ đó, một lĩnh vực khoahọc mới ra đời: “Lý thuyết mạng neuron nhân tạo” Tiếp thu những kếtquả nghiên cứu về thần kinh sinh học, mạng neuron nhân tạo thườngđược xây dựng thành những cấu trúc mô phỏng trực tiếp tổ chức thầnkinh của bộ não con người
Sau nhiều năm phát triển kể từ những nghiên cứu đầu tiên của loch và Pitts trong những năm 40, cho đến ngày nay, khi khả năng phầncứng và phần mềm đủ mạnh, “Lý thuyết mạng neuron nhân tạo” mới cóđược sự chú ý đầy đủ và nhanh chóng trở thành một hướng nghiên cứuđầy triển vọng trong việc xây dựng các máy thông minh tiến gần tới trítuệ con người Những thành công gần đây trong việc ứng dụng mạngneuron nhân tạo đã chứng sức mạnh của nó trong nhiều lĩnh vực khácnhau
McCul-Một trong những ứng dụng kinh điển của mạng neuron là lớp các bàitoán nhận dạng mẫu, trong đó, mẫu là tập hợp các tham số biểu thịthuộc tính của một đối tượng nào đó Với bản chất dễ thích nghi môitrường và chấp nhận lỗi, mạng neuron đã thể hiện được ưu điểm mạnh
mẽ của mình trong việc nhận dạng mẫu Vì thế, có thể coi mạng neurontrước tiên là một công cụ để nhận dạng Cho đến nay, đã có nhiều côngtrình nghiên cứu cả lý thuyết và thực nghiệm đối với mạng neuron chomục đích nhận dạng và thu được nhiều thành công to lớn
Qua quá trình nghiên cứu trong thời gian làm luận văn, tôi nhận thấy,mạng neuron, đặc biệt là mạng neuron nhân chập - như sẽ được đề cập
kỹ trong phần nội dung - có khả năng nhận dạng rất tốt các mẫu códạng hình học phong phú Vì vậy, tôi xác định, nhiệm vụ của luận văn lànghiên cứu cài đặt thử nghiệm ứng dụng mạng neuron nhân chập phục
vụ cho việc nhận dạng các kí tự viết tay đồng thời thử nghiệm các cảitiến để nâng cao hiệu năng nhận dạng của thuật toán
2 Lịch sử nghiên cứu
Trang 11Trong hơn 30 năm trở lại đây, nhận dạng kí tự viết tay đã và đang làvấn đề được nghiên cứu mạnh mẽ Và trong những năm gần đây, các hệthống nhận dạng chữ viết tay đã đạt được những thành công lớn Trong
số đó có thiết bị nhập cho những thiết bị hỗ trợ cá nhân như nhữngphần mềm chạy trên Palm OS [41] Kiểu nhận dạng được sử dụng trongcác máy này là nhận dạng trực tuyến Chúng không thể được sử dụngtrong các phần mềm xử lý tài liệu được scan từ giấy, do đó sự nhậndạng chính xác văn bản in bằng tay vẫn là một vấn đề lớn đang được
bỏ ngỏ Độ chính xác hiện thời của các hệ thống nhận dạng chữ viết tayđạt được là trong khoảng 80-90% [41], nhưng độ chính xác này vẫn tạo
ra hàng tá lỗi mỗi trang, khiến cho các công nghệ đó chỉ hiệu quả trongvài trường hợp cụ thể
Trong các hướng tiếp cận học máy, quá trình học thường gồm hai pha:trích chọn đặc trưng và huấn luyện [8] Trong những nghiên cứu gần đâyđối với nhân dạng kí tự viết tay offline, có một số phương pháp trích chọnđặc trưng thường dùng là [28, 29]: tính trọng số vùng (zoning), biểu đồchiếu (projection histogram), trích chọn chu tuyến (Contour profiles),trích chọn đặc trưng Wavelet Harr Những máy học thường dùng đểhuấn luyện và nhận dạng là: máy vecter hỗ trợ (SVM) [11, 9, 29, 28],NeuronGas [9], Learning Vector Quantization (LVQ) [33], MultiLayerNeural Network [5]
3 Mục đích nghiên cứu của luận văn, đối tượng, phạm
vi nghiên cứu
Từ lịch sử nghiên cứu ta thấy, bước trích chọn đặc trưng thông thườngđược thực hiện theo kinh nghiệm và đôi khi cho kết quả không tối ưu.Mạng neuron nhân chập, nhờ kiến trúc đặc biệt, có được một đặc tínhkhá riêng biệt là trích chọn được các đặc tính hình học ở nhiều mứcngay trong quá trình huấn luyện [37], và không bị phụ thuộc vào việctrích chọn đặc trưng cứng ban đầu; do đó, nó trở nên rất thích hợp choviệc nhận dạng những dạng hình học phức tạp như chữ viết tay
Do đó, mục tiêu và phạm vi của luận văn là nghiên cứu, cài đặt chươngtrình thử nghiệm ứng dụng mạng Neuron nhân chập cho việc nhận dạngcác kí tự viết tay, và nghiên cứu các giải pháp cải tiến để nâng cao hiệunăng Phạm vi mà luận văn tập trung nghiên cứu là nhận dạng các mẫu
kí tự viết tay đơn lẻ, off-line
4 Nội dung luận văn và các đóng góp mới của tác giả
Những điểm đạt được của luận văn là:
• Phương pháp nhận dạng kí tự viết tay bằng mạng neuron nhânchập trước đây mới chỉ được thực nghiệm trên bộ dữ liệu chữ số
Trang 12Trong khuôn khổ luận văn này, phương pháp đó đã được nghiêncứu và cài đặt thực nghiệm thành công trên một bộ dữ liệu chữ cáiviết tay và cho các kết quả khả quan.
• Ba cải tiến được nghiên cứu và áp dụng trong phần thực nghiệmlà: kỹ thuật mở rộng tập dữ liệu bằng biến dạng tập dữ liệu học,nhập các kí tự giống nhau vào cùng lớp, huấn luyện không hoàntoàn
Những điểm đó được trình bày xuyên suốt 4 chương trong luận văn
Chương 1 Giới thiệu Chương này mô tả bài toán, các hướng nghiêncứu hiện thời và phạm vi, mục đích nghiên cứu nhận dạng các kí
tự viết tay
Chương 2 Mạng neuron nhân tạo Chương này trình bày cơ sở lýthuyết nền tảng, các thành phần kiến trúc cơ bản của mạng neuron,giải thuật học lan truyền ngược sai số Cơ sở lý thuyết của mạngneuron nhân chập được trình bày sau khi đã có nền tảng về mạngneuron nói chung Giải thuật học lan truyền ngược sai số dùng
để huấn luyện mạng neuron nhân chập cũng được trình bày trongchương này
Chương 3 Nhận dạng kí tự viết tay bằng mạng neuron nhân chậpChương này mô tả kiến trúc mạng neuron nhân chập áp dụng chobài toán nhận dạng các kí tự viết tay Bên cạnh đó, các ý tưởngcải tiến nhằm tăng hiệu năng cũng được đưa ra ở đây
Chương 4 Thiết kế, cài đặt và thực nghiệm Chương này trình bàythiết kế cài đặt thử nghiệm theo kiến trúc mạng đã được nêutrong chương 3, đồng thời chương này cũng trình bày kịch bảnthực nghiệm, kết quả thu được và các đánh giá
Luận văn được kết thúc tại phần kết luận, trong đó đánh giá toàn bộquá trình thực hiện, kết quả đạt được và đề xuất các hướng phát triểncho luận văn
5 Phương pháp nghiên cứu
Phương pháp nghiên cứu được sử dụng trong luận văn là phương phápnghiên cứu khoa học thực nghiệm, trong đó, phương pháp nhận dạngbằng mạng neuron nhân chập được nghiên cứu và các cải tiến cũng đượcđưa ra Những nghiên cứu đó được cài đặt thành chương trình trên môitrường Visual Studio 2008
Trang 13Chương 1
Tổng quan
Nhận dạng kí tự viết tay được bắt nguồn từ một bài toán lớn hơn là bàitoán về nhận dạng các kí tự quang học [41] Nhận dạng ký tự quang học(Optical Character Recognition: OCR), là bài toán chuyển các hình ảnh củachữ viết tay hoặc chữ đánh máy (thường được quét bằng máy scanner) thànhcác văn bản tài liệu OCR được hình thành từ một lĩnh vực nghiên cứu vềnhận dạng mẫu, trí tuệ nhận tạo và machine vision Mặc dù công việc nghiêncứu học thuật vẫn tiếp tục, một phần công việc của OCR đã chuyển sang ứngdụng trong thực tế với các kỹ thuật đã được chứng minh
Ứng dụng của bài toán nhận dạng kí tự viết tay rất đa dạng, từ nhậndạng các văn bản từ thời trước vốn được soạn thảo bằng tay đến các dụngcho tầm nhìn robot hiện đại Một ứng dụng khác là nhận dạng các phiếu điểmcũng đã được quan tâm nghiên cứu Bên cạnh đó, việc các phần mềm chophép người dùng nhập liệu bằng chữ viết tay cũng tạo ra một sự thuận tiệnđáng kể trong việc tăng tốc nhập liệu, và do đó, tăng tính thân thiện của cácphần mềm Hơn nữa, khả năng nhận dạng kí tự viết tay cũng làm tăng sứcmạnh của các hệ thống tìm kiếm
Đối với bài toán nhận dạng kí tự quang học, sự nhận dạng chính xác ký
tự Latin đánh máy được xem như là vấn đề đã được giải quyết với tỷ lệ chínhxác thực tế đạt tới 99% [41], mặc dù một số ứng dụng đòi hỏi tỷ lệ chính xáccao hơn nữa cần phải có con người kiểm tra lại lỗi Tuy nhiên, nhận dạng chữviết tay vẫn là một vấn đề thách thức lớn đối với các nhà nghiên cứu vì nó
Trang 14phụ thuộc nhiều vào người viết, cảm xúc hiện thời của họ và sự giống nhauvốn dĩ của các kí tự Do đó, đây vẫn là một lĩnh vực được nghiên cứu sôi nổi.Một khó khăn nữa của bài toán nhận dạng là các bản lưu của các kí tự viếttay có thể bị hư hại theo thời gian hoặc do nước, lửa hoặc chứa những mẫuchính tả hiếm ngày này không còn dùng nữa Nói chung, để có được một tỷ lệnhận dạng cao hơn của các bản viết tay là hầu như là không thể nếu không
sử dụng thêm thông tin về ngữ pháp và văn cảnh
Dựa vào cách lấy mẫu các kí tự, bài toán nhận dạng kí tự viết tay có thể
có hai cách tiếp cận [40]: online (trực tuyến) và offline (ngoại tuyến) Tronghướng tiếp cận nhận dạng online, các kí tự được lấy mẫu trực tiếp để xử lý
và dữ liệu thu được chứa các thông tin về cách viết, độ tì, tốc độ viết, và
cả hình dạng của chữ để xử lý Ngược lại, trong cách tiếp cận offline, người tachỉ có được thông tin về hình dạng của chữ thông qua bản đồ bitmap của nó.Dựa vào số lượng các kí tự được nhận dạng cùng lúc, bài toán cũng được chia
ra làm hai loại [40]: nhận dạng các kí tự đơn lẻ và nhận dạng theo cả xâu kí
tự dài Trong phần tiếp theo, ta sẽ đề cập các hướng nghiên cứu đối với cáccách tiếp cận này
Trong khuôn khổ luận văn thạc sĩ, bài toán được đặt ra là: nhận dạng các
kí tự đơn lẻ, offline Một ràng buộc khác cũng được giả định là: các mẫu phục
vụ cho việc huấn luyện và nhận dạng là không chịu nhiễu quá nhiều
Phần này sẽ đề cập đến các hướng nghiên cứu theo các hướng tiếp cậnonline và offline dựa chủ yếu trên các tài liệu [25, 14]; tuy nhiên, vì mục đíchcủa luận văn, chúng ta sẽ đề cập kỹ hơn đến các hướng nghiên cứu cho phươngpháp tiếp cận offline
1.2.1 Nhận dạng online
Trong một hệ thống nhận dạng chữ viết tay online, chuyển động của đầubút được lấy mẫu tại các thời điểm cách nhau những khoảng thời gian bằngnhau bằng một bút điện tử, và tín hiệu được đó được xem như đầu vào củathuật toán nhận dạng Hình 1.1 chỉ ra quy trình chung của các thuật toánnhận dạng chữ viết tay online
Trong hầu hết các hệ thống nhận dạng, các tín hiệu đều trải qua mộtquá trình lọc, sau đó được chuẩn hóa với một kích thước tiêu chuẩn, và tham
Trang 15Hình 1.1: Quy trình nhận dạng chữ viết tay online
số độ nghiêng được chỉnh sửa Sau khi chuẩn hóa, tín hiệu được phân đoạnthành các đơn vị cơ bản; các đơn vị đó được nhận dạng và gán nhãn Bằngcách sử dụng một thuật toán tìm kiếm trong bối cảnh mô hình ngôn ngữ, ta
có thể thu được những kết quả thích hợp nhất
Nhiệm vụ của pha tiền xử lý là làm trơn đường nét; ở bước này ta thường
sử dụng một bộ lọc thông thấp ở những vị trí thích hợp để giữ lại được cácgóc cạnh cần thiết của chữ Tiếp đó, tín hiệu được chuẩn hóa kích thước vàsửa độ nghiêng
Nhiệm vụ của pha phân đoạn là chia tín hiệu thành các đoạn ứng với các
kí tự Có 5 kiểu đầu vào của bước phân đoạn như hình 1.2 Trường hợp đơngiản nhất là khi người viết được yêu cầu viết vào trong những ô kẻ sẵn; trườnghợp phức tạp và khó khăn nhất là khi các chữ được viết không có ràng buộcnào cả
Hình 1.2: Các kiểu đầu vào của bước phân đoạnPha tiếp theo là pha trích chọn đặc trưng Các đặc trưng thường được
Trang 16sử dụng bởi các nhà nghiên cứu là: tọa độ của các điểm, độ nghiêng của tiếptuyến tại mỗi điểm và thỉnh thoảng có sử dụng cả độ cong tại các điểm đó.Sau khi các đặc trưng được trích chọn cho các phân đoạn, chúng được gánnhãn bằng các kỹ thuật khác nhau Các hệ thống dựa vào hành trình thườnggán nhãn mỗi hành trình bởi một danh sách các kí tự có thể Mỗi kí tự cóthể này có một xác suất tương ứng với nó Các kỹ thuật thường được sử dụngtrong giai đoạn này là: các mô hình khớp mẫu, các mô hình thống kê (chẳnghạn HMM : mô hình Markov ẩn) và các mô hình phi tuyến (chẳng hạn các
mô hình mạng Neuron nhân tạo)
Khi đã có được danh sách các kí tự có thể của các mẫu dữ liệu phân đoạn,
ta cần sử dụng một kỹ thuật tìm kiếm để tìm ra được đường dẫn tốt nhấttrong các khả năng của các kí tự Sự tìm kiếm này có thể được thực hiện bằngmột số mô hình dự đoán ngôn ngữ ở mức từ hoặc mức câu, trong đó mức từđược sử dụng nhiều nhất và có thể sử dụng thêm một số ràng buộc về ngữpháp
1.2.2 Nhận dạng off-line
Quá trình nhận dạng off-line nói chung có 5 giai đoạn như sau, mặc dùtrong một số phương pháp, một số pha có thể bị ghép lại hoặc bỏ qua, hoặctrong một số phương pháp khác, cơ cấu phản hồi được sử dụng để cập nhậtđầu ra tại mỗi pha
Dữ liệu thô, tùy vào các kiểu thu nhận, sẽ được đưa tới một số bước tiền
xử lý thích hợp để làm cho nó khả dụng cho bước tiếp theo - phân tích kí tự.Mục đích của bước tiền xử lý là: giảm nhiễu, chuẩn hóa, giảm bớt khối lượng
dữ liệu Các kỹ thuật dùng để đạt được những mục tiêu đó được miêu tả nhưsau
Trang 171 Giảm nhiễu
Nhiễu, có nguồn gốc từ các thiết bị quét quang học, có thể gây ra sựđứt gãy các đoạn, lỗ hổng giữa các đường nét hoặc các chu trình kín, Một số vấn đề khác cũng có thể xảy ra như: biến dạng, bao gồm cácbiến dạng địa phương, tròn góc, giãn nở hoặc xói mòn Do đó, trước khithực hiện nhận dạng, những nhiễu loại này cần phải được loại bỏ Córất nhiều các kỹ thuật được đưa ra, tuy nhiên chúng có thể chia làm 3loại:
a) Lọc Quá trình này nhắm vào việc loại bỏ nhiễu và các điểm giả tạonên bởi các mặt lấy mẫu không đồng đều hoặc tần số lấy mẫu thấp.Quá trình lọc thường được thực hiện bằng các bộ lọc trong miềntần số mà thông thường ý tưởng cơ bản của nó là nhân chập đầuvào với một mặt nạ Các bộ lọc có thể được thiết kế để thực hiệncác nhiệm vụ: làm trơn, làm sắc nét, loại bỏ nền, thay đổi độ tươngphản
b) Các thao tác hình học(Morphological Operation) Ý tưởng cơbản của các thao tác hình học là thay thế các thao tác nhân chậpbằng các thao tác logic Các thao tác này có thể được thiết kế đểnối liền các nét bị đứt, tách các nét bị dính liền, làm trơn đườngchu tuyến, loại bỏ các điểm thừa, làm mảnh kí tự, tách các đườngbiên
c) Mô hình hóa nhiễu Nhiễu có thể được loại bỏ nhờ một số kỹthuật căn chỉnh nếu có một mô hình cho nó Tuy nhiên, việc môhình hóa lỗi trong hầu hết các ứng dụng là không thể Trong một
số trường hợp, việc mô hình hóa có thể thực hiện bằng việc biếndạng quang học chẳng hạn: ví dụ làm nghiêng, làm mờ, tạo đốm
Trang 18b) Chuẩn hóa độ nghiêng Một trong những yếu tố có thể đo đượccủa các kiểu chữ viết tay là góc nghiêng giữa đường ngang dài nhất
và trục thẳng đứng Mục đích của quá trình chuẩn hóa độ nghiêng
là chuẩn hóa tất cả kí tự về dạng ngay ngắn Phương pháp thườngdùng nhất để đánh giá độ nghiêng là tính toán góc trung bình củatất cả các phần tử gần thẳng đứng (hình 1.3)
Hình 1.3: Chuẩn hóa độ nghiêng
c) Chuẩn hóa kích thước Mục đích của quá trình này là đưa kí tự vềkích thước chuẩn Các phương pháp nhận dạng có thể áp dụng cảchuẩn hóa theo cả hai phương dọc và ngang Quá trình chuẩn hóacũng có thể được thực hiện như một phần trong pha huấn luyện,
và tham số kích thước được đánh giá độc lập đối với mỗi dữ liệuhuấn luyện
d) Làm trơn đường chu tuyến Mục đích của quá trình này là loại
bỏ những chuyển động thất thường của tay trong quá trình viết.Nói chung, quá trình này loại bỏ một số mẫu tín hiệu cần thiết đểbiểu diễn kí tự, do đó là tăng hiệu quả trong những bước tiền xử
lý còn lại
3 Nén dữ liệu
Các kỹ thuật nén dữ liệu thường chuyển ảnh từ miền không gian sangmột miền khác thích hợp cho việc nhận dạng Các kỹ thuật nén dùngcho nhận dạng kí tự đòi hỏi phải sử dụng các kỹ thuật trên miền khônggian để bảo tồn được các đặc tính hình dạng của kí tự Hai kỹ thuậtnén phổ biến được sử dụng là: phân ngưỡng và làm mảnh
a) Phân ngưỡng Để giảm khối lượng cần tính toán, tăng tốc độ xử
lý, thông thường ta cần chuyển đổi ảnh màu hoặc ảnh đa mức xámthành ảnh nhị phân bằng cách phân ngưỡng Có hai khái niệmngưỡng là: ngưỡng cục bộ và ngưỡng toàn cục Ngưỡng toàn cụcđược chọn cho toàn bộ ảnh và có thể có được nhờ các đánh giá
về histogram Ngưỡng cục bộ (hay ngưỡng thích nghi) sử dụng cácngưỡng khác nhau cho mỗi điểm dựa vào các thông tin cục bộ.b) Làm mảnh Các kỹ thuật làm mảnh giảm một khối lượng thông tinkhổng lồ trong kích thước dữ liệu; hơn nữa, nó còn tách được các
Trang 19thông tin hình dạng của các kí tự Làm mảnh còn có thể xem làmột kỹ thuật chuyển đổi dữ liệu kí tự off-line sang hầu hết cácdạng dữ liệu online Có hai phương pháp tiếp cận làm mảnh là:chọn lọc dựa trên điểm (pixel wise), và chọn lọc phi điểm (nonpixelwise) Phương pháp chọn lọc dựa trên điểm là một phương pháplàm mảnh lặp cho đến khi nào ảnh chỉ còn lại những đường xương.Trái lại, phương pháp phi điểm sử dụng những thông tin toàn cục
về kí tự trong suốt quá trình làm mảnh Chúng sinh ra các trungbình hoặc các đường chính giữa trực tiếp mà không cần đến cácđiểm ảnh riêng biệt nào
Các kỹ thuật tiền xử lý trên đây đã được khảo sát khá kỹ và được ápdụng trong nhiều lĩnh vực xử lý ảnh bên cạnh lĩnh vực nhận dạng chữviết tay Cũng cần chú ý rằng, các kỹ thuật đó cũng có thể sinh ranhững biến dạng không mong muốn cho ảnh đầu vào Kết quả là những
kỹ thuật này có thể làm mất những thông tin quan trọng trong chữ viết
Do đó, chúng ta cần sử dụng những kỹ thuật này cẩn thận
Nhiệm vụ của pha phân đoạn này là chia tài liệu thành những phần con.Đây cũng là một pha quan trọng vì nó sẽ ảnh hưởng trực tiếp đến hiệu năngnhận dạng cả văn bản Có hai kiểu phân đoạn là: phân đoạn ngoài và phânđoạn trong Phân đoạn ngoài làm nhiệm vụ phân biệt các đơn vị văn bản vàphi văn bản, phân đoạn các đơn vị văn bản lớn như đoạn văn, câu văn, hoặctừ; phân đoạn trong làm nhiệm vụ tách các chữ cái trong một từ
1 Phân đoạn ngoài: Đây có thể coi là giai đoạn then chốt nhất trongviệc phân tích tài liệu - một bước cần thiết trước khi thực hiện nhậndạng off-line Mặc dù nhận dạng tài liệu là một lĩnh vực nghiên cứutương đối khác về phương pháp và kỹ thuật, phân chia tài liệu thànhcác vùng văn bản và vùng phi văn bản vẫn là một lĩnh vực trong cácphần mềm OCR Do đó, những người làm việc trong lĩnh vực nhận dạngchữ viết cũng cần có một cái nhìn tổng quan về các kỹ thuật phân tíchtài liệu
Phân tích bố cục trang được thực hiện thông qua hai pha: Pha thứ nhất
là phân tích cấu trúc - liên quan đến việc phân chia văn bản thành cáckhối con như đoạn văn, dòng, từ, , và pha thứ hai là phân tích chứcnăng - liên quan đến việc sử dụng các thông tin về vị trí, kích thước vàcác luật trình bày khác để gán nhãn chức năng cho các thành phần củavăn bản (VD: tiêu đề, nội dung, tóm tắt )
Trang 20Có rất nhiều cách tiếp cận để phân loại các vùng đồng nhất của tài liệuthành các vùng văn bản và phi văn bản [1, 26]: Jain và các đồng nghiệpdùng bộ lọc Gabor và các mặt nạ nhân chập, Tang cùng các cộng sự
đã dựa trên dấu hiệu fractal, còn phương pháp Doermann sử dụng phântích wavelet multiscale Có rất nhiều cách tiếp cận phân đoạn trang tậptrung vào việc xử lý các điểm nền hoặc sử dụng các điểm trắng trongtrang để nhận dạng các vùng đồng nhất
2 Phân đoạn trong: Mặc dù đã có rất nhiều các phương pháp phát triểnđáng kể trong thập kỷ qua và có nhiều kỹ thuật đã nổi lên, nhưng việctách các kí tự ra khỏi một từ viết tay vẫn được xem là một vấn đề chưađược giải quyết trọn vẹn Các chiến lược phân đoạn kí tự có thể chialàm ba loại:
a) Phân đoạn tường minh: Chiến lược này chia ảnh thành các thànhphần con dựa trên các thuộc tính kí tự
b) Phân đoạn không tường minh: Quá trình phân đoạn này dựatrên quá trình nhận dạng Nó tìm các thành phần ảnh khớp đượcvới các lớp chữ cái đã định trước
c) Các phương pháp kết hợp: Trong chiến lược này, một giải phápphân đoạn tường minh được áp dụng để có thể cắt ảnh ra đủ nhiềuphần sao cho các lát cắt đúng nằm trong số những lát cắt đã tạo
ra Khi đã đảm bảo được điều này, các lát cắt tối ưu sẽ được tìmkiếm bằng cách đánh giá các tập con các lát cắt
Biểu diễn ảnh đóng một vai trò quan trọng trong hệ thống nhận dạng.Trong trường hợp đơn giản nhất, các ảnh đa mức xám hoặc các ảnh nhị phânđược đưa thẳng tới cho bộ nhận dạng Tuy nhiên, trong hầu hết các hệ thốngnhận dạng, để tránh sự phức tạp không cần thiết và để tăng độ chính xác củagiải thuật, một biểu diễn tiêu biểu và cô đọng là cần thiết Với mục đích này,một tập các đặc trưng sẽ được trích chọn ứng với mỗi lớp giúp phân biệt nóvới các lớp khác nhưng vẫn giữ được tính bất biến trong các đặc tính của cáclớp đó Các phương pháp biểu diễn ảnh nói chung được phân làm ba nhómlớn
1 Biến đổi toàn cục và khai triển chuỗi: Các tín hiệu liên tục thườngchứa nhiều thông tin hơn những gì cần thiết cho việc nhận dạng và phânloại Điều này cũng đúng với các xấp xỉ rời rạc của các tín hiệu liên tục.Một cách để biểu diễn các tín hiệu này là kết hợp tuyến tính một chuỗi
Trang 21các hàm đơn giản Hệ số của các hàm này sẽ cho một cách mã hóa côđọng của dữ liệu và được gọi là sự biến đổi hoặc khai triển chuỗi Những
sự biến dạng như dịch, xoay là bất biến đối với các phép biến đổi toàncục này Các phép đổi thường dùng trong nhận dạng kí tự bao gồm: biếnđổi Fourier, biến đổi Gabor, biến đổi Wavelet, biển đổi Moment và khaitriển Karhumen-Loeve
2 Biểu diễn thống kê: Kỹ thuật biểu diễn này quan tâm đến sự biếnthiên trong đặc điểm của kí tự tại các vùng khác nhau Mặc dù kiểu biểudiễn này không cho phép xây dựng lại ảnh ban đầu, nhưng nó thườngđược sử dụng để giảm số chiều của tập đặc trưng và làm cho độ phứctạp tính toán giảm Một số đặc trưng thống kê được sử dụng trong biểudiễn kí tự bao gồm:
a) Trọng số vùng: Ô chứa kí tự được chia thành các vùng giao nhauhoặc không giao nhau Độ dày của các điểm ảnh hoặc các đặc trưngkhác nhau của các vùng khác nhau sẽ được dùng để biểu diễn ảnh.b) Các điểm giao và khoảng cách: Một đặc trưng khá phổ biếncũng được dùng là số các giao điểm của đường biên với các đườngthẳng dọc hoặc ngang hoặc theo một hướng xác định nào đó
c) Đặc trưng chiếu: Các kí tự cũng có thể được biểu diễn bằng giátrị mức xám khi chiếu lên các hướng khác nhau Biểu diễn này tạotín hiệu 1 chiều từ ảnh 2 chiều
3 Biểu diễn hình học và biểu diễn topo: Các kỹ thuật biểu diễn hìnhhọc và biểu diễn topo có thể được phân loại thành các nhóm như sau:a) Trích và đếm các cấu trúc Topology: Trong cách biểu diễn này,một cấu trúc hình học cho trước được tìm kiếm trong một kí tựhoặc một từ Số lượng hoặc vị trí tương đối của những cấu trúc nàytrong kí tự tạo ra biểu diễn của kí tự đó Những cấu trúc nguyênthủy là các đường mà chính chúng tạo nên các kí tự như: đườngthẳng, cung hoặc các thành phần phức tạp hơn như các đườngcong, các đường spline Đây chính là các thành phần cơ bản để tạonên các kí tự Latin hoặc Arabic
b) Đo đạc và xấp xỉ các thuộc tính hình học: Trong nhiều nghiêncứu, các kí tự có thể được biểu diễn bằng các đặc tính như chiềucao và chiều rộng của hình chữ nhật bao, khoảng cách giữa các cặpđiểm đặc biệt, khoảng cách tương đối giữa các đường, độ rộng củađường, độ thay đổi độ cong Các phương pháp xấp xỉ thuộc tínhhình học bao gồm xấp xỉ đa thức, xấp xỉ spline hoặc xấp xỉ bằngmột tập đơn vị hình học cơ bản
Trang 22c) Mã hóa: Mã hóa thường ánh xạ các đường trong kí tự vào mộtkhông gian tham số hai chiều Một trong những mô hình mã phổbiến nhất là mã chuỗi Freeman Hình 1.4 miêu tả một kiểu mã hóachuỗi Freeman.
Hình 1.4: Một kiểu mã hóa đường xương của kí tự Arabic
d) Đồ thị và cây: Trong phương pháp này, các kí tự được chia thànhcác đơn vị hình học nguyên thủy như các đường thẳng, các đườngvòng, các điểm giao, Sau đó, những đơn vị này được biểu diễnbằng đồ thị của thuộc tính và quan hệ
Như vậy, có nhiều phương pháp được đưa ra cho việc biểu diễn kí tựnhưng chúng có chung mục đích là trích chọn tập các đặc trưng để làmtăng hiệu năng nhận dạng với đầu vào kích thước nhỏ nhất
Các hệ thống nhận dạng kí tự sử dụng rất nhiều các phương pháp nhậndạng, phân loại để quy một mẫu chưa biết về một lớp cho trước nào đó Cácphương pháp tiếp cận có thể chia làm 4 loại:
1 Khớp mẫu
2 Các kỹ thuật thống kê
3 Các kỹ thuật cấu trúc
4 Các kỹ thuật mạng neuron nhân tạo
Tuy nhiên, các hướng tiếp cận trên không hoàn toàn tách biệt nhau Thỉnhthoảng có những phương pháp vừa thuộc kỹ thuật này vừa thuộc kỹ thuậtkia
Các kỹ thuật có thể sử dụng chiến lược phân tích hoặc chiến lược tổngthể Chiến lược tổng thể sử dụng các tiếp cận trên xuống để nhận dạng cả từ
Trang 23mà không cần phân đoạn Đối với bài toán nhận dạng kí tự viết tay, do sựphức tạp trong đặc tính hình học, tỷ lệ nhận dạng của cách tiếp cận này kémhơn so với cách tiếp cận nhận dạng đơn lẻ Trái lại, chiến lược phân tích sửdụng cách tiếp cận dưới lên bắt đầu từ việc nhận dạng các đường nét, các kí
tự riêng lẻ rồi tiến dần lên mức văn bản Đối với cách tiếp cận này, các thuậttoán phân đoạn là cần thiết Bây giờ ta bàn đến các kỹ thuật đã đề cập ởtrên
1 Khớp mẫu
Các kỹ thuật khớp mẫu dựa vào việc so sánh các tập đặc trưng đã đượclưu và đặc trưng của ảnh cần nhận dạng và rút ra mức độ giống nhaugiữa chúng Do đó chúng thay đổi phụ thuộc vào tập đặc trưng mà kỹthuật sử dụng Các đặc trưng có thể đơn giản là độ xám của các vùngkhác nhau hoặc cũng có thể phức tạp như biểu diễn bằng thuộc tínhhình học Các kỹ thuật khớp mẫu có thể chia làm 3 lớp
a) Khớp trực tiếp Kiểu khớp mẫu này so sánh trực tiếp độ tương tựnhau về mức xám của các mẫu đã được lưu và mẫu cần nhận dạng.Quá trình khớp có thể chỉ đơn giản là so sánh 1-1 hoặc so sánhtrên cây quyết định trong đó chỉ có một số điểm nhất định đượckiểm tra Phương pháp này có nhược điểm là nhạy cảm với nhiễu.b) Khớp các mẫu biến dạng Ý tưởng cơ bản của khớp mẫu biếndạng là so khớp một mẫu cho trước với các biến dạng có thể củacác mẫu đã lưu hoặc biến dạng mẫu cho trước và so khớp với cácmẫu đã lưu
c) Khớp mẫu nới lỏng Đây là kỹ thuật so sánh sử dụng các mô tảdựa trên đặc trưng Đầu tiên các vùng so khớp được xác định Sau
đó, các phần tử này được so sánh với mô hình Như vậy kỹ thuậtnày đòi hỏi tìm kiếm trong không gian nhiều chiều để tìm một cựcđại toàn cục cho khả năng khớp mẫu
Các kỹ thuật so khớp nói trên có thể được sử dụng độc lập hoặc sử dụngkết hợp theo nhiều cách trong các sơ đồ nhận dạng kí tự
2 Các kỹ thuật thống kê
Các kỹ thuật thống kê nói chung dựa trên 3 giả định cơ bản là:
(a) Phân bố tập các đặc trưng là phân bố Gauss hoặc trong trườnghợp xấu nhất là phân bố đều
(b) Với mỗi lớp phân loại, có đủ các thông tin thống kê
Trang 24(c) Cho một tập các ảnh {I}, luôn có thể trích được một tập các đặctrưng {fi} ∈ F, i ∈ {1, , n} đặc trưng cho mỗi lớp mẫu.
Các hướng tiếp cận thống kê cho bài toán nhận dạng bao gồm: Nhậndạng không tham số, Nhận dạng tham số, Phân tích cụm, Mô hìnhMarkov ẩn (HMM), suy diễn tập mờ, và phương pháp phân loại mẫudùng máy vector hỗ trợ (SVM)
3 Các kỹ thuật cấu trúc
Ý tưởng ban đầu của các kỹ thuật cấu trúc là mô tả đệ quy của mẫuphức tạp thành các mẫu đơn giản hơn Các kí tự được xem là hợp củacác đơn vị cấu trúc nguyên thủy và các đơn vị đó được trích ra là có
số lượng xác định và chúng có quan hệ với nhau Các phương pháp cấutrúc được áp dụng cho bài toán nhận dạng kí tự bao gồm:
a) Phương pháp văn phạm Giữa những năm 60s, các nhà nghiêncứu bắt đầu quan tâm đến các luật ngữ pháp trong việc phântích giọng nói và chữ viết Sau đó, các luật trực giao, từ vựng, vàluật ngôn ngữ khác nhau được áp dụng vào các sơ đồ nhận dạng.Phương pháp văn phạm tạo ra một số luật sản xuất để tạo ra các
kí tự từ một tập các đơn vị nguyên thủy thông qua các văn phạmhình thức Trong phương pháp này, quá trình huấn luyện được thựchiện thông qua việc biểu diễn mỗi kí tự bằng một văn phạm Gi
Ở pha nhận dạng, các chuỗi, cây hoặc đồ thị của một đơn vị chữviết bất kì (kí tự, từ, câu ) được phân tích để xác định mẫu vănphạm mà nó thuộc về
b) Phương pháp đồ thị Các đơn vị chữ viết được biểu diễn bằng cáccây, đồ thị, song đồ thị, hoặc các đồ thị quy thuộc Các đơn vị cơbản của kí tự (như các đường, các cung ) được trích chọn bằngmột các tiếp cận cấu trúc nào đó Với mỗi lớp, một đồ thị hoặc mộtcây được tạo ra ở bước huấn luyện để biểu diễn các đường, các kí
tự hoặc một từ Bước nhận dạng sẽ quy một đồ thị chưa biết vàomột trong số các lớp bằng một độ đo độ tương tự nào đó dành cho
đồ thị
4 Kỹ thuật mạng neuron nhân tạo
Mạng neuron nhân tạo được xem là một kiến trúc tính toán chứa một
số lượng rất lớn các bộ xử lý neuron thích nghi kết nối với nhau và làmviệc song song Mạng neuron nhân tạo có những đặc điểm mà các kỹthuật tính toán khác không có như: khả năng tính toán thích nghi, tínhtoán song song, tính toán chấp nhận lỗi Một mạng neuron có thể có
Trang 25rất nhiều node Đầu ra của node này được chuyển sang node khác trongmạng và đầu ra cuối cùng được quyết định dựa trên tương tác phức tạpgiữa các node Mặc dù các nguyên lý khác nhau, nhưng người ta đã chỉ
ra rằng, hầu hết các kiến trúc mạng neuron nhân tạo là tương đươngvới các mô hình nhận dạng mẫu thống kê
Có một số cách tiếp cận cho mạng neuron nhân tạo như: mạng sửa lỗi,mạng Boltzman, Hebbian, học cạnh tranh Kiến trúc học của mạng cóthể là học có giám sát hoặc không giám sát và nhận các đầu vào là liêntục hoặc không liên tục Mặt khác, các mạng neuron có thể chia làm hailoại: mạng tiến (feedforward) và mạng phản hồi (feedback) Hầu hết cácmạng neuron nhân tạo sử dụng trong các hệ thống nhận dạng kí tự làmạng tiến đa mức perceptron và mạng phản hồi tự tổ chức Kohonen’s(Kohonen’s SOM: Self Organizing Map)
Mạng perceptron đa mức, đề xuất bởi Rosenblatt [13] và được chỉnh sửabởi Minsky và Papert [23], đã được áp dụng trong các hệ thống nhậndạng kí tự bởi nhiều tác giả Một ví dụ là mạng nhận dạng đặc trưng
đề xuất bởi Hussian vaf Kakuba [4] với một sơ đồ nhận dạng 2 mức.Mức thứ nhất làm nhiệm vụ phát hiện các mẫu con, và mức thứ hailàm nhjieemj vụ phát hiện các kí tự Mạng Neocognitron đề xuất bởiFukushima [19] là một mạng đa cấp bao gồm nhiều tầng trong đó có cácS-Cells và C-Cells Các S-cells làm nhiệm vụ trích chọn đặc trưng cònC-Cells cho phép có lỗi về vị trí trong đặc trưng Tầng cuối cùng là tầngnhận dạng Một cải tiến của loại mạng này là mạng neuron nhân chập[37] được đề xuất bởi Yan Lecun có kiến trúc đặc biệt có thể trích chọnđặc trưng ngay trong quá trình huấn luyện; nó đã được áp dụng cho bàitoán nhận dạng các chữ số viết tay đã cho kết quả rất khả quan Mộtnghiên cứu mới đây đề xuất bởi Maragos và Pessoa kết hợp được tínhchất của mạng perceptron đa lớp và mạng phân hạng hình thái cho bàitoán nhận dạng kí tự Các tác giả cho rằng cách tiếp cận thống nhấtnày cho một hiệu năng nhận dạng cao hơn các mạng perceptron đa mứcthông thường và thời gian tính toán thấp hơn
Hầu hết các phát triển gần đây đối với bài toán nhận dạng kí tự đềutập trung vào mạng hản hồi tự tổ chức Kohonen [34] Mạng Kohonentích hợp được quá trình trích chọn đặc trưng và quá trình nhận dạngtrong một tập các kí tự huấn luyện kích thước lớn Một ví dụ của mạngKohonen áp dụng trong bài toán nhận dạng là những nghiên cứu củaLiou và Yang [7], trong đó trình bày một cách tiếp cận so khớp tự tổchức cho việc nhận dạng các kí tự được vẽ bằng các nét dày Trong mộtnghiên cứu khác [26], Reddy và Nagabhushan đề xuất một sự kết hợpgiữa mạng tự tổ chức có sửa đổi và phương pháp học lượng tử hóa vector
để đưa ra một mô hình mạng neuron nhân tạo 3 chiều cho việc nhận
Trang 26dạng các chữ số viết tay Các báo cáo cho thấy, sự kết hợp này cho hiệunăng nhận dạng cao hơn và thời gian huấn luyện thấp hơn so với các
mô hình mạng tự tổ chức được ghi nhận trong các tài liệu khác
Cách đơn giản nhất để đưa các thông tin ngữ cảnh là sử dụng từ điển
để sửa lỗi xuất hiện trong quá trình nhận dạng Ý tưởng cơ bản của nó là đikiểm tra chính tả đầu ra của pha nhận dạng và sử dụng một vài sự thay thếthích hợp Tuy nhiên, việc đặt các thông tin ngữ cảnh ở pha hậu xử lý có mộtnhược điểm là nó cho những quyết định không thể sửa được Do vậy, thôngthường các cách tiếp cận để tránh sinh ra những quyết định không thay thếđược là đưa các thông tin ngữ cảnh vào các pha phân đoạn và pha nhận dạngthay vì để nó ở pha cuối cùng Một kỹ thuật thường dùng để điều khiển quátrình nhận dạng bằng từ điển là sử dụng một đồ thị phân đoạn, sau đó sokhớp mỗi từ trong từ điển với đồ thị này, như trong hình 1.5 Trong cách làmnày, kỹ thuật quy hoạch động thường được sử dụng để xếp hạng các từ trong
từ điển Từ với hạng cao nhất sẽ được chọn như một giả thuyết nhận dạng.Nói tóm lại, có rất nhiều các phương pháp tiếp cận khác nhau cho bàitoán nhận dạng kí tự, mỗi phương pháp có ưu nhược điểm riêng của nó Hầuhết các phương pháp đều cho hiệu năng nhận dạng trên 85% Tuy nhiên, khó
có thể phán xét phương pháp nào tốt hơn phương pháp nào vì sự khác nhau
về điều kiện thực nghiệm, dữ liệu huấn luyện và kiểm thử, và các điều kiệnràng buộc Các kết quả đối với bài toán nhận dạng kí tự in đã khá tốt [25];tuy nhiên, bài toán nhận dạng chữ viết tay vẫn được xem là vấn đề chưa đượcgiải quyết và cần thêm nhiều nghiên cứu để cải tiến hiệu năng
Trang 27Hình 1.5: So khớp dùng từ điển (a) Kết quả phân đoạn (b) Đồ thị
phân đoạn tương ứng (c) Cây phân đoạn
Thông thường trong pha trích chọn đặc trưng người ta áp dụng một sốbước xử lý như nhau dựa theo kinh nghiệm đối với tất cả các mẫu huấn luyện
và kiểm thử Mạng Neural nhân chập có được một đặc tính khá riêng biệt làtrích chọn được các đặc tính hình học ở nhiều mức, như sẽ trình bày trongchương tiếp theo, ngay trong quá trình huấn luyện [37], không bị phụ thuộcvào việc trích chọn đặc trưng cứng ban đầu Nhờ kiến trúc đặc biệt, nó trởnên rất thích hợp để nhận dạng những dạng hình học phức tạp như kí tự viếttay
Do đó, mục tiêu và phạm vi của luận văn là nghiên cứu, cài đặt chươngtrình thử nghiệm ứng dụng mạng Neuron nhân chập cho việc nhận dạng các
kí tự viết tay, và nghiên cứu các giải pháp cải tiến để nâng cao hiệu năng
Trang 28Chương 2
Mạng neuron nhân tạo
Phần này sẽ trình bày khái quát về vấn đề cơ sở lý thuyết của mạngneuron nhân tạo dựa trên các tài liệu thao khảo [8, 5, 33, 20]
Mạng neuron nhân tạo, hay là “Mạng neuron”, là lý thuyết được xây dựng
từ thực tế bộ não người luôn thực hiện các tính toán một cách hoàn toàn khácvới cách xử lý của các máy tính số Có thể coi bộ não là 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ứccác bộ phận cấu thành nó bằng các tế bào thần kinh (neuron) và các khớpnối thần kinh (synapse), nhằm thực hiện một số tác vụ như nhận dạng mẫu
và điều khiển vận động nhanh hơn nhiều lần so với các máy tính nhanh nhấthiện nay Sức mạnh của nó có được chính nhờ sự kết nối và phối hợp vô cùngphức tạp của hàng tỷ neuron theo nhiều cách tổ chức khác nhau Các kiếntrúc đó cũng được mô phỏng trong mạng neuron nhân tạo Đầu tiên ta đi tìmhiểu cấu trúc của một neuron
2.1.1 Mô hình neuron nhân tạo
Mô hình của neuron nhân tạo chính là sự mô phỏng lại cấu trúc củaneuron sinh vật, trong đó, một neuron nhân tạo được xem là một đơn vị tínhtoán hay đơn vị xử lý thông tin cơ sở cho hoạt động của một mạng neuron
Trang 29Sơ đồ khối ở hình 2.1 chỉ ra mô hình của một neuron nhân tạo Ở đây, chúng
ta xác định ba thành phần cơ bản trong mô hình của một neuron:
Hàm kích hoạt
ϕ(.)
Đầu ra y(k)
Bộ tổng hợp tuyến tính
synapse Các trọng số
u k
Hệ số hiệu chỉnh b k
Hình 2.1: Mô hình một neuron nhân tạo
1 Một tập hợp các synapse hay các kết nối, mà mỗi trong số chúng đượcđặc trưng bởi một trọng số riêng của nó Tức là một tín hiệu xj tại đầuvào của synapse j nối với neuron k sẽ được nhân với trọng số synapse
wkj, trong đó, k là chỉ số của neuron tại đầu ra của synapse đang xét,còn j là chỉ số đầu vào của synapse Các trọng số synapse của mộtneuron nhân tạo có thể nhận cả giá trị âm và dương
2 Một bộ cộng để tính tổng các tín hiệu đầu vào của neuron, đã được nhânvới các trọng số synapse tương ứng; phép toán được mô tả ở đây tạonên một bộ tổ hợp tuyến tính
3 Một hàm kích hoạt (activation function) để giới hạn biên độ đầu ra củaneuron Hàm kích hoạt cũng được xem như một hàm giới hạn; nó giớihạn phạm vi biên độ cho phép của tín hiệu đầu ra trong một khoảnggiá trị hữu hạn Mô hình neuron ở (2.1) còn bao gồm một hệ số hiệuchỉnh tác động từ bên ngoài, bk Hệ số hiệu chỉnh này có tác dụng tănglên hoặc giảm đi đầu vào thực tế của hàm kích hoạt, tùy theo nó dươnghay âm
Dưới công thức toán học, ta có thể miêu tả một neuron k bằng hai công thứcsau:
Trang 30trong đó, x1, x2, xm là các tín hiệu đầu vào; wk1, wk2, wkm là các trọng
số synapse của neuron k ; uk là đầu ra bộ tổ hợp tuyến tính tương ứng; bk là
hệ số hiệu chỉnh
Hệ số hiệu chỉnh bk là một tham số ngoài của neuron nhân tạo k Ta cóthể thấy được sự có mặt của nó trong công thức (2.2) Một cách khác, ta cóthể viết lại hai công thức (2.1) và (2.2) thành các công thức tương đương nhưsau:
1 Thêm một tín hiệu đầu vào cố định là 1
2 Thêm một trọng số synapse mới bằng giá trị hệ số bk
Ham kich hoat
ϕ(.)
Đầu ra y(k)
Bộ tổng hợp tuyến tính
synapse Các trọng số
Trang 31Các hình vẽ 2.1 và 2.2 là khác nhau về hình thức nhưng tương tự về bảnchất toán học.
Có hai thành phần rất quan trọng trong một neuron, là bộ tổng tuyếntính và hàm kích hoạt Bộ tổng tuyến tính được trình bày như công thức (2.3)
và (2.4) Bây giờ, ta sẽ trình bày về các kiểu hàm kích hoạt
Trang 32hàm kích hoạt cơ bản như sau:
1 Hàm ngưỡng: Hàm ngưỡng có công thức như sau:
Một neuron như vậy thường được gọi là mô hình McCulloch-Pitts
2 Hàm vùng tuyến tính: Công thức của loại hàm này như sau:
3 Hàm Sigma: Hàm sigma là dạng thường dùng của hàm kích hoạt được
sử dụng trong cấu trúc của mạng neuron nhân tạo Đây là một hàmtăng và là một hàm trung gian giữa tuyến tính và phi tuyến Một ví dụcủa hàm này là hàm logistics được xác định như sau:
trong đó, a là tham số độ dốc của hàm sigma Bằng việc thay đổi tham
số a, ta thu được hàm sigma với các độ dốc khác nhau, như trong hình2.3c Hệ số góc tại điểm v = 0 là a4 Khi tham số này tiến tới ∞, hàmsigma trở thành một hàm ngưỡng đơn giản Khác với hàm ngưỡng chỉnhận hai giá trị 0 và 1, hàm sigma nhận mọi giá trị liên tục trong khoảng
0 đến 1 Hàm sigma cũng là một hàm có tính phân biệt, trong khi hàm
Trang 33ngưỡng thì không (tính phân biệt của hàm là một đặc tính quan trọngtrong lý thuyết mạng neuron).
Các hàm kích hoạt được định nghĩa trong các công thức (2.5), (2.8) và(2.9) đều nằm trong phạm vi từ 0 đến 1 Nhưng thông thường, trongmạng neuron nhân tạo, người ta thường sử dụng các dạng hàm đối xứngqua gốc tọa độ, có phạm vi từ -1 đến 1, nghĩa là hàm kích hoạt phải làmột hàm lẻ Như vậy, trường hợp công thức (2.5) sẽ được viết lại nhưsau:
Sự kết hợp của một số lượng lớn các neuron sẽ mang lại cho mạng neuroncác đặc tính ưu việt sau đây:
Tính chất phi tuyến : Một neuron có thể tính toán một cách tuyến tínhhay phi tuyến Một mạng neuron, cấu thành bởi sự kết nối các neuronphi tuyến thì tự nó sẽ có tính chất 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ác tín hiệu đầu vàođược sinh bởi con người (chẳng hạn chữ viết tay) vốn là phi tuyến.Tính chất tương ứng đầu vào-đầu ra : Mặc dù khái niệm “học” hay “tíchluỹ” (training) chưa được bàn đến nhưng để hiểu được mối quan hệ đầuvào-đầu ra của mạng neuron, chúng ta sẽ đề cập sơ qua về khái niệmnà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 hayhọc có giám sát liên quan đến việc thay đổi các trọng số synapse củamạng neuron bằng việc áp dụng một tập hợp các mẫu tích lũy hay cáccá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 Mạng neuron nhận một ví dụ lấy mộtcách ngẫu nhiên từ tập hợp nói trên tại đầu vào của nó, và các trọng
Trang 34số synapse (các tham số tự do) 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ủamạ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ộttrạng thái ổn định mà ở đó không có một sự thay đổi đáng kể nào củacác trọng số synapse 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 neuron học từ các ví dụ bằng cách xây dựng nênmột tương ứng đầu vào-đầu ra cho vấn đề cần giải quyết Hãy xem xét
ví dụ về việc phân loại mẫu, ở đó yêu cầu đặt ra là quy cho một tín hiệuđầu vào thể hiện một đối tượng hay sự kiện vật lý nào đó vào một trong
số những lớp đã được xác định trước Điều cần làm ở đây là “đánh giá”các biên giới quyết định trong không gian tín hiệu đầu vào bằng cách
sử dụng một tập hợp các ví dụ để tích luỹ, và không cần tới một môhình phân bố xác suất nào Một quan điểm tương tự đã được ngầm địnhtrong mô hình học có giám sát, trong đó hàm ý một sự gần gũi giữa sựtương ứng đầu vào-đầu ra của một mạng neuron với phương pháp suydiễn thống kê phi tham số (không cần một mô hình thống kê xác địnhtrước cho dữ liệu đầu vào)
Tính chất thích nghi : Các mạng neuron có một khả năng mặc định làbiến đổi các trọng số synapse tuỳ theo sự thay đổi của môi trường xungquanh Đặc biệt, một mạng neuron đã được tích luỹ để hoạt động trongmộ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 hoạt động Hơnnữa, khi hoạt động trong một môi trường không ổn định (các số liệuthống kê thay đổi theo thời gian), một mạng neuron có thể được thiết
kế sao cho có khả năng thay đổi các trọng số synapse của nó theo thờigian thực Kiến trúc tự nhiên của một mạng neuron cho việc phân loạimẫu, xử lý tín hiệu, và các ứng dụng điều khiển luôn đi đôi với khả năngthích nghi của mạng, tạo cho nó một phương tiện hữu hiệu trong việcphân loại mẫu thích nghi, xử lý tín hiệu thích nghi, và điều khiển thíchnghi Như một quy tắc chung, có thể nói rằng chúng ta tạo ra một hệthống càng có khả năng thích nghi thì tính năng của nó sẽ càng mạnhkhi hệ thống cần phải hoạt động trong một môi trường không ổn định.Tuy nhiên, cần nhấn mạnh rằng tính thích nghi không phải lúc nào cũngđem đến sức mạnh; nó có thể làm điều ngược lại Ví dụ, một hệ thốngthích nghi với những hằng số thời gian nhỏ có thể biến đổi rất nhanh vànhư vậy là có xu hướng phản ứng lại những sự nhiễu loạn giả tạo, và sẽgây ra sự suy giảm mạnh về tính năng hệ thống Để thể hiện đầy đủ lợiích của tính thích nghi, các hằng số thời gian của hệ thống nên đủ lớn
để hệ thống có thể bỏ qua được sự nhiễu loạn và cũng đủ nhỏ để phản
Trang 35ứng được với những thay đổi có ý nghĩa của môi trường Vấn đề này cóthể được xem như một mâu thuẫn ổn định-mềm dẻo.
Tính chất đưa ra lời giải có bằng chứng : Trong ngữ cảch phân loại mẫu,một mạng neuron 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ựchiện Thông tin này có thể được sử dụng để loại bỏ các mẫu mơ hồ haynhập nhằng
Tính chất chấp nhận sai sót : Một mạng neuron, được cài đặt dưới dạngphần cứng, vốn có khả năng chấp nhận lỗi, hay khả năng tính toán thô(không nhạy cảm lỗi), với ý nghĩa là tính năng của nó 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ộtneuron 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ộtmẫu được lưu trữ sẽ suy giảm về chất lượng Tuy nhiên, do bản chấtphân tán của thông tin lưu trữ trong mạng neuron, 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àymột mạng neuron sẽ thể hiện một sự thoái hoá về tính năng hơn là sự
đổ vỡ trầm trọng Có một số bằng chứng thực nghiệm cho việc tính toánthô, nhưng nói chung là không thể kiểm soát được Để đảm bảo rằngmạng neuron thực sự có khả năng chấp nhận lỗi, có lẽ cần phải thựchiện những đo đạc hiệu chỉnh trong việc thiết kế thuật toán tích luỹmạng neuron
Tính chất đồng dạng trong phân tích và thiết kế : Về cơ bản, các mạngneuron có tính chất chung như là các bộ xử lý thông tin Chúng ta nêu
ra điều này với cùng ý nghĩa cho tất cả các lĩnh vực có liên quan tới việcứng dụng mạng neuron Đặc tính này thể hiện ở một số điểm như sau:
• Các neuron, dưới dạng này hoặc dạng khác, biểu diễn một thànhphần chung cho tất cả các mạng neuron
• Tính thống nhất này đem lại khả năng chia sẻ các lý thuyết và cácthuật toán học trong nhiều ứng dụng khác nhau của mạng neuron
• 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
neuron nhân tạo
Trong bộ não con người, các tế bào thần kinh liên kết với nhau thông quacác khớp nối thần kinh tạo thành những mạng lưới với kiến trúc vô cùng phức
Trang 36tạp và đa dạng Đối với các mạng neuron nhân tạo, chúng ta có ba lớp kiếntrúc cơ bản sau:
1 Các mạng tiến đơn mức
Trong một mạng neuron phân mức, các neuron được tổ chức dưới dạngcác mức Với dạng đơn giản nhất của mạng phân mức, chúng ta có mộtmức đầu vào gồm các nút nguồn nối trực tiếp tới mức đầu ra gồm cácneuron (các nút tính toán) Hình 2.4 là một ví dụ minh hoạ cho trườnghợp ba nút đối với cả mức đầu ra và đầu vào Một mạng như vậy đượcgọi là một mạng đơn mức “Đơ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 neuron) Chúng ta không tínhmức đầu vào của các nút nguồn vì không có tính toán nào được thựchiện ở đây
Mức đầu vào (các nút nguồn)
Mức đầu ra (gồm các neuron)
Hình 2.4: Mạng tiến một mức
2 Các mạng tiến đa mức
Lớp thứ hai của một mạng neuron tiến được phân biệt bởi sự có mặtcủa một hay nhiều mức ẩn, mà các nút tính toán của chúng được gọi làcác neuron ẩ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 neuron ẩn là canthiệp vào giữa đầu vào và đầu ra của mạng một cách hữu hiệu Bằngviệ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ácthố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ủavector đầu vào; chúng tạo nên các tín hiệu đầu vào cho các neuron (cácnú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à
Trang 37Mức đầu vào
(các nút nguồn)
Mức đầu ra (gồm các neuron)
Mức ẩn (gồm các neuron ẩn)
Hình 2.5: Mạng tiến đa mức với một tầng ẩn
như cứ vậy cho phần còn lại của mạng Về cơ bản, các neuron trong mỗimức của mạng có các đầu vào của chúng thường là các tín hiệu đầu rachỉ của mức đứng liền trước nó Tập hợp các tín hiệu đầu ra của cácneuron 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 Đồ thị trong hình 2.5 minh hoạ cấu trúc của một mạng neurontiến đa mức cho trường hợp một mức ẩn Để đơn giản, mạng được vẽtrong hình 2.5 là một mạng 3-4-2 tức là 3 nút nguồn, 4 neuron ẩn, và 2neuron đầu ra
Mạng neuron trong hình 2.5 được gọi là kết nối đầy đủ theo nghĩa: 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 trongmức tiếp sau Nếu một số kết nối synapse 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 đủ
có ứng dụng cho phần sau
Trang 38z−1
Đầu vào
Đầu ra
Hình 2.6: Mạng hồi quy
truyền ngược sai số
Định nghĩa này bao hàm những ý nghĩa quan trọng sau:
• Mạng neuron được kích thích bởi một môi trường
• Mạng neuron trải qua những sự thay đổi về các tham số tự do của nónhư là kết quả của sự kích thích này
• Mạng neuron đáp ứng lại theo một cách hoàn toàn mới với môi trường
do sự thay đổi về cấu trúc bên trong của nó
Một tập hợp các quy tắc được xác định cho lời giải của bài toán học đượcgọi là thuật toán học Không có một thuật toán học duy nhất cho việc thiết
Trang 39kế các mạng neuron, mà chúng ta có một “bộ công cụ” bao gồm nhiều thuậttoán học rất đa dạng, mỗi thuật toán đều có những ưu điểm riêng Nói chung,các thuật toán học khác nhau chủ yếu trong cách thức điều chỉnh trọng sốsynapse của một neuron.
Có thể kể ra nhiều quy tắc học cơ bản như: học hiệu chỉnh lỗi, học dựatrên bộ nhớ, học kiểu Heb, học cạnh tranh, học kiểu bolzman Tuy nhiên trongbản luận văn này, tác giả chỉ xin đề cập đến một quy tắc học phổ biến vàđược sử dụng làm cơ sở cho việc xây dựng phần mềm thực nghiệm, đó là quytắc học hiệu chỉnh lỗi
Để minh hoạ cho quy tắc học này, hãy xem xét trường hợp đơn giản củamột neuron k tạo nên nút tính toán duy nhất trong mức đầu ra của một mạngneuron tiến, như được mô tả trong hình 2.7 neuron k tiếp nhận một vectortín hiệu x(n) được tạo ra bởi một hay nhiều mức neuron ẩn, chính chúng cũngtiếp nhận một vector đầu vào (tác nhân kích thích) từ các nút nguồn (mứcđầu vào) Đối số n là thời gian rời rạc, hay chính xác hơn, là bước thời giancủa một quá trình lặp nhằm điều chỉnh các trọng số synapse của neuron k.Tín hiệu đầu ra của neuron k được ký hiệu bởi yk(n) Tín hiệu đầu ra này,biểu diễn đầu ra duy nhất của mạng neuron, được so sánh với đáp ứng mongđợi hay đầu ra đích, ký hiệu bởi dk(n) Và một tín hiệu lỗi, ký hiệu bởi ek(n),được tính như sau:
Tín hiệu lỗi có nguồn gốc là một kỹ thuật điều khiển, mà mục đính của nó
là áp dụng một chuỗi những sửa đổi mang tính hiệu chỉnh cho các trọng sốsynapse của neuronk Những sửa đổi này là nhằm tạo ra tín hiệu đầu ra yk(n)dần tiến gần dk(n) Mục đích này đạt được bằng cách cực tiểu hoá một hàmgiá hay chỉ số tính năng, τ (n), được xác định theo tín hiệu lỗi như sau:
Quá trình học được mô tả ở đây được gọi là học hiệu chỉnh lỗi Đặc biệt,việc cực tiểu hàm giá τ (n) dẫn đến một quy tắc học thường được gọi là quytắc delta hay quy tắc Widrow-Hoff Đặt wkj(n) là giá trị trọng số synapse wkj
Trang 40P Các
mức ẩn
neuron đầu ra k
Hình 2.7: Quy tắc học hiệu chỉnh lỗi
của neuron k, được kích thích bởi thành phần xj(n) của vector tín hiệu x(n)tại bước thời gian n Theo quy tắc delta, hiệu chỉnh ∆wkj(n) áp dụng chotrọng số synapse wkj tại bước thời gian n được xác định như sau:
Trong đó, η là một hằng số dương biểu thị tốc độ học khi chúng ta tiến từbước này tới bước khác trong quá trình học Ta có thể gọi η là tham số tốc
độ học Nói cách khác quy tắc delta có thể được phát biểu như sau:
Sự điều chỉnh thực hiện cho một trọng số synapse của một neuron tỷ lệvới tín hiệu lỗi và tín hiệu đầu vào của synapse đang xét
Cần nhớ rằng quy tắc delta ở đây giả định trước rằng tín hiệu lỗi có thể
đo được một cách trực tiếp Để sự đo đạc này có thể thực hiện được, rõ ràngchúng ta cần một sự cung cấp đáp ứng mong muốn từ nguồn bên ngoài choneuron k Nói cách khác, neuron k là có thể nhìn thấy được đối với thế giớibên ngoài (neuron k là neuron đầu ra), như được mô tả trong hình 2.7 Từhình này, ta thấy rằng việc học hiệu chỉnh lỗi có bản chất cục bộ Điều nàynói lên rằng những sự điều chỉnh trọng số synapse được thực hiện bởi quy tắcdelta được cục bộ hoá trên neuron k
Giá trị cập nhật của trọng số synapse wkj được xác định như sau:
wkj(n) và wkj(n + 1) được gọi là các giá trị cũ và mới của trọng số synapse
wkj Công thức trên có thể được viết lại như sau:
Trong đó, z−1 là toán tử đơn vị trễ, biểu thị một phần tử lưu trữ
Chúng ta có thể nhận thấy rằng việc học hiệu chỉnh lỗi là một ví dụ củamột hệ thống phản hồi đóng vòng lặp Từ lý thuyết điều khiển, chúng ta biết