Tải bản đầy đủ (.pdf) (128 trang)

Nghiên cứu mạng nơron và ứng dụng trong nhận dạng chữ viết tay tiếng việt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.9 MB, 128 trang )

..

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

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


Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

LỜI CAM ĐOAN

Tơi xin cam đoan rằng tồ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 hồn tồn trỏch nhim.

H Ni, 10 thỏng 10 nm 2010

Hoàng Thị Hồng Hà

Học viên: Hoàng Thị Hồng Hà

-I-

Lớp: CHĐTVT1-2008/2010


Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

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 mng nron...................................................................... 21
1.5.2.1 Mng dn tin............................................................................. 21

Học viên: Hoàng Thị Hồng Hà

- II -

Lớp: CHĐTVT1-2008/2010


Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

1.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 tố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 Kt lun............................................................................................... 46

Học viên: Hoàng Thị Hồng Hà

- III -

Lớp: CHĐTVT1-2008/2010


Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

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 ................................................... 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

Häc viên: Hoàng Thị Hồng Hà

- IV -

Lớp: CHĐTVT1-2008/2010



Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

4.2.6 Lớp mạng nơron Kohonen.................................................................. 66
4.2.6.1 Tính tố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 KHO...................................................................................... 79
PH LC................................................................................................................. 1

Học viên: Hoàng Thị Hồng Hà

-V-

Lớp: CHĐTVT1-2008/2010


Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

DANH 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 tố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 gii hn ký t................................................................... 55

Học viên: Hoàng Thị Hồng Hà

- VI -

Lớp: CHĐTVT1-2008/2010


Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt


Hình 3.3 Q 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

Học viên: Hoàng Thị Hồng Hà

- VII -

Lớp: CHĐTVT1-2008/2010


Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

MỞ ĐẦ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 tố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 q trình vật
lý nào đó. Ngồ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 tố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 q 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ự vit tay

Học viên: Hoàng Thị Hồng Hà

-1-

Lớp: CHĐTVT1-2008/2010


Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

tiế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 tố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 tố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
giải quyết bài toán sử dụng mạng nơron Kohonen nhận dng ký t vit tay ri rc:

Học viên: Hoàng Thị Hồng Hà

-2-

Lớp: CHĐTVT1-2008/2010



Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

xâ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.
Chương 5: Kết luận
Trình bày các kết quả đã đạt được, hướng phát triển tiếp theo và một số suy
nghĩ khi nghiên cứu.
Để hoàn thành tốt đề tài này tơi nhận được sự giúp đỡ và góp ý của các thầy cô
giáo và các bạn đồng nghiệp. Đầu tiên, tơi xin tỏ lịng biết ơn sâu sắc đến thầy giáo
TS. Phạm Ngọc Nam, người đã tận tình hướng dẫn, giúp đỡ tơi trong suốt q trình
làm luận văn. Thầy là người đã truyền đạt nhiều kinh nghiệm để tơi có thể thực hiện
và hồ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 q bỏu trong nhng nm hc va qua.

Học viên: Hoàng Thị Hồng Hà

-3-

Lớp: CHĐTVT1-2008/2010



Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

CHƯƠ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ở

thành hiện thực. Nathanial Rochester sau nhiều năm làm việc tại các phịng thí

Häc viên: Hoàng Thị Hồng Hà

-4-

Lớp: CHĐTVT1-2008/2010


Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

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
nơron. Trong thời kì này tính tố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à q 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 tố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.

Häc viªn: Hoàng Thị Hồng Hà

-5-

Lớp: CHĐTVT1-2008/2010


Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

Nă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 tố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 tố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 tố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 cu v ng dng
mng neuron.

Học viên: Hoàng Thị Hồng Hà

-6-

Lớp: CH§TVT1-2008/2010


Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

Nă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 hồ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 mng nron hc theo mụ

Học viên: Hoàng Thị Hồng Hà


-7-

Lớp: CHĐTVT1-2008/2010


Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

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 [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à ln muốn vươn
tới những gì cao hơn, hồ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
như toán học, vật lý học, hóa học, sinh vật học, tâm lý hc, thn kinh hc, Tt c

Học viên: Hoàng Thị Hồng Hà


-8-

Lớp: CHĐTVT1-2008/2010


Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

chỉ 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
a. Chức năng
Bộ não của con người có chức năng hết sức quan trọng trong đời sống
của con người. Bộ não gần như kiểm soát hầu hết mọi hành vi của con người,
từ các hoạt động cơ bắp đơn giản đến những hành động phức tạp như học tập,
nhớ, suy luận, tư duy, sáng tạo,…
b. Tổ chức
Bộ não của con người được hình thành từ sự liên kết của khoảng 1011
phân tử (tế bào), trong đó có khoảng 1010 phần tử là nơron, số còn lại khoảng
9*1010 phần tử là các tế bào thần kinh đệm. Các tế bào thần kinh đệm có
nhiệm vụ phục vụ cũng như hỗ trợ cho các nơron. Thơng thường, một bộ não
trung bình cân nặng khoảng 3 pound và có thể tích là 90 inches3. Cấu tạo chi
tiết của bộ não thì đến nay người ta vẫn chưa thực sự biết rõ. Tuy vậy, về đại
thể thì cấu tạo não bộ được phân chia thành nhiều vùng khác nhau. Mỗi vùng
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 ngồ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 sốt và phát sinh
các hành động phức tạp như nghe, nhìn, tư duy,…

Häc viên: Hoàng Thị Hồng Hà

-9-

Lớp: CHĐTVT1-2008/2010


Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

c. 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-3
giâ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
Máy tính
Đơn vị tính
toán
Bộ nhớ

Bộ nÃo ngời

Bộ xử lý trung tâm với 105 mạch logic

cơ sở

Mạng 1011 nơ ron

109 bit RAM

1011 nơ ron

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

Thông lợng

109 bit/giây

1014 bit/giây

Cập nhật

105 bit/giây

1014 nơ ron/giây

thông tin


Túm li, b nóo cú chc năng hết sức quan trọng đối với đời sống của con
người. Cấu tạo của bộ não rất phức tạp, tinh vi bởi được tạo thành từ mạng nơron có
hàng chục tỉ tế bào với mức độ liên kết giữa các nơron là rất cao. Hơn nữa, bộ não
còn được chia thành các vùng và các lớp khác nhau. Bộ não hoạt động dựa trên cơ
chế hoạt động song song của các nơron tạo nên bộ não đó.
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 ln ln thực hiện các tính tốn
một cách hồn tồn khác so với các máy tính số. Có th coi b nóo l mt mỏy tớnh

Học viên: Hoàng Thị Hồng Hà

- 10 -

Lớp: CHĐTVT1-2008/2010


Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

hay 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 tố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.
¾

Nơron
Nơron là phần tử cơ bản tạo nên bộ não. Cấu tạo và hoạt động của nơron như


sau:
a. Cấu tạo
Một nơron điển hình có 3 phần chính:
- Phần thứ nhất: Thân phần tử hay soma (hoặc cell body). Nhân của nơron
được đặt ở đây.
- 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 ngồ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.

Học viên: Hoàng Thị Hồng Hà

- 11 -

Lớp: CHĐTVT1-2008/2010


Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

Hì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 q 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 ngồ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 nhn.

Học viên: Hoàng Thị Hồng Hà

- 12 -

Lớp: CHĐTVT1-2008/2010


Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

Cá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 tố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 tố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 to [10]

Học viên: Hoàng Thị Hồng Hà

- 13 -

Lớp: CHĐTVT1-2008/2010


Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

Cá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 tốn học, chúng ta có thể mơ tả một nron k bng cp
cụng thc sau:

Học viên: Hoàng Thị Hồng Hà

- 14 -

Lớp: CHĐTVT1-2008/2010


Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

m

u k = ∑ wkj x j

(1.1)

yk=ϕ(uk+b)

(1.2)

j =1




Ở đó 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. 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:
m

v k = ∑ wkj x j

(1.3)

y k = ϕ (v k )

(1.4)

j =0



Trong công thức (1.3), chúng ta đã thêm một synapse mới. Đầu vào của nó
là:
x0=+1

(1.5)

wk0=bk

(1.6)

và trọng số của nó là:


Như vậy chúng ta vẽ lại mơ hình của neuron k như trong hình 1.5. Trong
hình này, nhiệm vụ của hệ số hiệu chỉnh là thực hiện hai việc: (1) thêm một tín hiệu
đầu vào cố định là 1, và (2) thêm một trọng số synapse mới bằng giá trị của hệ số
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 nhng
tng t v bn cht toỏn hc.

Học viên: Hoàng Thị Hồng Hà

- 15 -

Lớp: CHĐTVT1-2008/2010


Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

Hì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]
Tên hàm

Cơng thức
với n < 0
với n ≥ 0

Hardlim

a=0
a=1

Hardlims


a = -1
a=1
a=n
a=0
a=n
a=1

với n < 0
với n ≥ 0

a = -1
a=n
a=1

với n < 0
với 0 ≤ n ≤ 1
với n > 1

Purelin
Satlin

Satlins

Tansig

a=

với n < 0
với 0 ≤ n ≤ 1

với n > 1

en − e−n
1 + e −n

Poslin

a=0
a=n

Compet

a = 1 với nơron có n lớn nhất
a = 0 với các nơron cịn lại

Logsig

Häc viªn: Hoàng Thị Hồng Hà

a=

vi n < 0
vi n 0

1
1 + e −n

- 16 -

Líp: CH§TVT1-2008/2010



Nghiên cứu mạng nơron và ứng dụng trong nhận dạng ch÷ viÕt tay tiÕng ViƯt

1.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 hồn tồ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]

Học viên: Hoàng Thị Hồng Hà

- 17 -

Lớp: CHĐTVT1-2008/2010


×