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

đồ án tốt nghiệp sử dụng mạng nơ ron nhận dạng ký 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 (2.6 MB, 70 trang )


ĐẠI HỌC GIAO THÔNG VẬN TẢI
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN MẠNG VÀ CÁC HỆ THỐNG THÔNG TIN
o0o





ĐỒ ÁN TỐT NGHIỆP
Đề tài:

SỬ DỤNG MẠNG NƠ-RON NHẬN DẠNG KÝ TỰ


Giáo viên hƣớng dẫn
:
TS. Đặng Thị Thu Hiền
Sinh viên thực hiện
:
Nguyễn Thị Quyên

Lớp
:
Hệ thống thông tin
Khóa
:
49






Hà Nội 05/2012
Đồ án tốt nghiệp Sử dụng mạng nơ-ron nhận dạng ký tự
Nguyễn Thị Quyên Trang 2

MỤC LỤC

LỜI NÓI ĐẦU ………………………………………………………………………………….5
CHƢƠNG 1: TỔNG QUAN VỀ MẠNG NƠ-RON NHÂN TẠO 7
1.1 Sơ lƣợc về mạng Nơ-ron nhân tạo: 7
1.1.1. Lịch sử phát triển: 7
1.1.2. Nơ-ron sinh học: 8
1.1.3. Nơ-ron nhân tạo: 10
1.1.4. Mạng nơ-ron nhân tạo: 14
1.2 Đặc trƣng của mạng nơ-ron: 15
1.2.1. Tính phi tuyến: 15
1.2.2. Tính chất tương ứng đầu vào đầu ra: 15
1.2.3. Tính chất thích nghi: 15
1.2.4. Tính chất đưa ra lời giải có bằng chứng: 15
1.2.5. Tính chất chấp nhận sai xót: 15
1.2.6. Khả năng cài đặt VLSI(Very-large-scale-intergrated): 16
1.2.7. Tính chất đồng dạng trong phân tích và thiết kế: 16
1.3 Phân loại mạng nơ-ron: 16
1.3.1 Mạng nơ-ron truyền thẳng: 17
1.3.1.1 Mạng nơ-ron truyền thẳng một lớp (Perceptron): 18
1.3.1.2 Mạng nơ-ron truyền thẳng nhiều lớp (MLP): 18
1.3.2 Mạng nơ-ron quy hồi: 19
1.4 Huấn luyện mạng nơ-ron: 20

1.4.1. Các phương pháp học: 20
1.4.2. Học có giám sát trong mạng nơ-ron: 22
1.4.3. Thuật toán học: 22
1.4.3.1. Thuật toán học của mạng nơ-ron truyền thẳng một lớp: 22
1.4.3.2. Thuật toán học của mạng nơ-ron nhiều lớp: 24
Đồ án tốt nghiệp Sử dụng mạng nơ-ron nhận dạng ký tự
Nguyễn Thị Quyên Trang 3

1.4.3.3. Một số yếu tố ảnh hưởng đến quá trình học theo phương pháp lan truyền
ngược sai số: 30
1.4.3.4. Một số hạn chế của phương pháp lan truyền ngược: 31
1.5 Thu thập dữ liệu cho mạng nơ-ron: 32
1.6 Biểu diễn tri thức cho mạng nơ-ron: 33
CHƢƠNG 2: ỨNG DỤNG MẠNG NƠ-RON TRONG NHẬN DẠNG KÝ TỰ 36
2.1 Sơ lƣợc: 36
2.2 Bài toán nhận dạng ký tự: 36
2.3 Các bƣớc giải quyết bài toán nhận dạng ký tự: 37
2.3.1. Xác định đầu vào và đầu ra của bài toán: 37
2.3.2. Xác định cấu trúc mạng nơ-ron: 37
2.3.3. Thuật toán huấn luyện mạng: 39
2.3.4. Xử lý dữ liệu: 42
2.3.4.1. Tách dòng ký tự: 42
2.3.4.2. Tách ký tự: 43
2.3.4.3. Tìm giới hạn ký tự: 45
2.3.4.4. Ánh xạ vào ma trận: 47
2.3.5. Huấn luyện mạng nơ-ron: 49
2.3.6. Nhận dạng ảnh kí tự: 53
CHƢƠNG 3: CÀI ĐẶT CHƢƠNG TRÌNH THỰC NGHIỆM 55
3.1 Giao diện chính của chƣơng trình: 55
3.2 Tổng quan về các chức năng chính của chƣơng trình: 55

3.3 Thực nghiệm chƣơng trình: 56
3.3.1. Thực nghiệm tính một vài tham số đầu vào: 56
3.3.1.1. Số vòng lặp huấn luyện: 56
3.3.1.2. Thực nghiệm tìm tham số tốc độ học: 57
3.3.2. Thực nghiệm huấn luyên mạng nơ-ron: 57
3.3.3. Thực nghiệm nhận dạng ký tự: 62
Đồ án tốt nghiệp Sử dụng mạng nơ-ron nhận dạng ký tự
Nguyễn Thị Quyên Trang 4

3.4 Nhận xét và đánh giá về chƣơng trình: 68
3.4.1. Sai số trong nhận dạng ký tự: 68
3.4.2. Những hạn chế của chương trình: 68
KẾT LUẬN 69
TÀI LIỆU THAM KHẢO 70
























Đồ án tốt nghiệp Sử dụng mạng nơ-ron nhận dạng ký tự
Nguyễn Thị Quyên Trang 5

LỜI NÓI ĐẦU
Mạng nơ-ron trong một vài năm trở lại đây đã được nhiều người quan tâm và đã áp
dụng thành công trong nhiều lĩnh vực khác nhau như: tài chính, y tế, địa chất, vật lý….
Thật vậy, bất cứ ở đâu có vấn đề về dự báo, phân loại và điều khiển, mạng nơ-ron đều
có thể ứng dụng được. Ví dụ như khả năng nhận dạng mặt người trong các hệ thống
quản lý thông tin liên quan đến con người (quản lý nhân sự ở các công sở, doanh
nghiệp, quản lý học sinh, sinh viên trong các trường trung học, đại học và cao đẳng…);
các ngành khoa học hình sự, tội phạm; khoa học tướng số, tử vi,…Với sự phát triển
mạnh mẽ của công nghệ thông tin như hiện nay, ứng dụng của mạng nơ-ron nhân tạo
ngày càng được quan tâm và phát triển.
Một trong những ứng dụng cơ bản của mạng nơ-ron là nhận dạng ký tự. Từ lâu các nhà
khoa học đã nhận thấy những ưu điểm của bộ óc con người và tìm cách bắt chước để
thực hiện trên máy tính, tạo cho nó có khả năng học tập, nhận dạng và phân loại. Các
mạng nơ-ron nhân tạo đã ra đời từ những nỗ lực đó. Nó thực sự được chú ý và nhanh
chóng trở thành một hướng nghiên cứu đầy triển vọng trong mục đích xây dựng các
máy thông minh tiến gần tới trí tuệ con người, đặc biệt là lĩnh vực nhận dạng.
Xuất phát từ những thực tiễn nói trên, cùng với sự giúp đỡ nhiệt tình của T.S Đặng Thị
Thu Hiền em đã thực hiện đồ án tốt nghiệp với đề tài: “Sử dụng mạng nơ-ron nhận
dạng ký tự”.
Mục đích, yêu cầu của đề tài: Nhận dạng các ký tự với đầu vào là định dạng file ảnh

(*.bmp,*.jmp,…), sử dụng công cụ là mạng nơ-ron để có đầu ra là tập hợp các ký tự lưu
trữ dưới dạng văn bản.
Các mục tiêu cần đạt được:
 Tìm hiểu được mạng nơ-ron nhân tạo là gì?
 Khả năng ứng dụng của mạng nơ-ron nhân tạo trong việc nhận dạng ký tự như
thế nào?
 Sử dụng ngôn ngữ lập trình C# và môi trường lập trình Visual Studio để cài đặt
chương trình Nhận dạng ký tự dựa trên thuật toán Back Propagation (Lan truyền
ngược sai số) đối với mạng nơ-ron truyền thẳng nhiều lớp (MLP: Multi Layer
Perceptron).




Đồ án tốt nghiệp Sử dụng mạng nơ-ron nhận dạng ký tự
Nguyễn Thị Quyên Trang 6

Nội dung báo cáo bao gồm các chương sau:
Chương 1:Tổng quan về mạng nơ-ron nhân tạo.
Chương này sẽ trình bày cái nhìn tổng quan nhất về mạng nơ-ron, bao gồm: cấu
tạo, các đặc trưng, các mô hình mạng và cách thức huấn luyện mạng nơ-ron.
Chương 2: Ứng dụng mạng nơ-ron nhận dạng kí tự.
Chương 2 sẽ đưa ra bài toán nhận dạng ký tự bằng mạng nơ-ron và cách thức để
giải quyết bài toán.
Chương 3: Cài đặt chương trình thử nghiệm.
Chương này sẽ trình bày giao diện và chức năng của chương trình.

























Đồ án tốt nghiệp Sử dụng mạng nơ-ron nhận dạng ký tự
Nguyễn Thị Quyên Trang 7

CHƢƠNG 1: TỔNG QUAN VỀ MẠNG NƠ-RON
NHÂN TẠO
1.1 Sơ lƣợc về mạng Nơ-ron nhân tạo:
1.1.1. Lịch sử phát triển:
Sự phát triển của mạng nơ-ron trải qua cả quá trình đưa ra các khái niệm mới lẫn thực
thi những khái niệm này. Dưới đây là các mốc đáng chú ý trong lịch sử phát triển của
mạng nơ-ron:


 Cuối thế kỷ 19, đầu thế kỷ 20, sự phát triển chủ yếu chỉ là những công việc có sự
tham gia của cả ba ngành Vật lý học, Tâm lý học và Thần kinh học bởi các nhà
khoa học như Hermann von Hemholtz, Ernst Mach, Ivan Pavlov. Các công trình
nghiên cứu của họ chủ yếu đi sâu vào các lý thuyết tổng quát về HỌC
(Learning), NHÌN (vision) và LẬP LUẬN (conditioning), không hề đưa ra
những mô hình toán học cụ thể mô tả hoạt động của các nơ-ron.

 Mọi chuyện thực sự bắt đầu vào những năm 1940 với công trình của Warren
McCulloch và Walter Pitts. Họ chỉ ra rằng về nguyên tắc, mạng của các nơ-ron
nhân tạo có thể tính toán bất kỳ một hàm số học hay logic nào.

 Tiếp theo là Donald Hebb, ông đã phát biểu rằng việc thuyết lập luận cổ điển
(classical conditioning) (như Pavlov đưa ra) là hiện thực bởi do các thuộc tính
của từng nơ-ron riêng biệt. Ông cũng nêu ra một phương pháp học của các nơ-
ron nhân tạo.

 Ứng dụng thực nghiệm đầu tiên của các nơ-ron nhân tạo có được vào cuối
những năm 50 cùng với phát minh của mạng nhận thức (perceptron network) và
luật học tương ứng bởi Frank Rosenblatt. Mạng này có khả năng nhận dạng các
mẫu. Điều này đã mở ra rất nhiều hi vọng cho việc nghiên cứu mạng nơ-ron.
Tuy nhiên nó có hạn chế là chỉ có thể giải quyết một số lớp hữu hạn các bài toán.

 Cùng thời gian đó, Bernard Widrow và Ted Hoff đã đưa ra một thuật toán học
mới và sử dụng nó để huấn luyện cho các mạng nơ-ron tuyến tính thích nghi,
mạng có cấu trúc và chức năng tương tự như mạng của Rosenblatt. Luật học
Widrow-Hoff vẫn còn được sử dụng cho đến nay.

 Tuy nhiên cả Rosenblatt và Widrow-Hoff đều cùng vấp phải một vấn đề do
Marvin Minsky và Seymour Papert phát hiện ra, đó là các mạng nhận thức chỉ có

khả năng giải quyết các bài toán khả phân tuyến tính. Họ cố gắng cải tiến luật
Đồ án tốt nghiệp Sử dụng mạng nơ-ron nhận dạng ký tự
Nguyễn Thị Quyên Trang 8

học và mạng để có thể vượt qua được hạn chế này nhưng họ đã không thành
công trong việc cải tiến luật học để có thể huấn luyện được các mạng có cấu trúc
phức tạp hơn.

 Do những kết quả của Minsky-Papert nên việc nghiên cứu về mạng nơ-ron gần
như bị đình lại trong suốt một thập kỷ do nguyên nhân là không có được các
máy tính đủ mạnh để có thể thực nghiệm.
 Mặc dù vậy, cũng có một vài phát kiến quan trọng vào những năm 70. Năm
1972, Teuvo Kohonen và James Anderson độc lập nhau phát triển một loại mạng
mới có thể hoạt động như một bộ nhớ. Stephen Grossberg cũng rất tích cực trong
việc khảo sát các mạng tự tổ chức (Self organizing networks).

 Vào những năm 80, việc nghiên cứu mạng nơ-ron phát triển rất mạnh mẽ cùng
với sự ra đời của PC. Có hai khái niệm mới liên quan đến sự hồi sinh này, đó là:
 Việc sử dụng các phương pháp thống kê để giải thích hoạt động của một
lớp các mạng hồi quy (recurrent networks) có thể được dùng như bộ nhớ
liên hợp (associative memory) trong công trình nghiên cứu của nhà vật lý
học Johh Hopfield.
 Sự ra đời của thuật toán lan truyền ngược (back-propagation) để huấn
luyện các mạng nhiều lớp được một vài nhà nghiên cứu độc lập tìm ra
như: David Rumelhart, James McCelland, Đó cũng là câu trả lời cho
Minsky-Papert.

1.1.2. Nơ-ron sinh học:



Đồ án tốt nghiệp Sử dụng mạng nơ-ron nhận dạng ký tự
Nguyễn Thị Quyên Trang 9

Theo nghiên cứu sinh học về bộ não, hệ thống thần kinh của con người bao gồm
khoảng 100 tỷ tế bào thần kinh, thường gọi là các nơ-ron. Mỗi tế bào nơ-ron gồm ba
phần:
 Thân nơ-ron với nhân bên trong (gọi là soma), là nơi tiếp nhận hay phát ra các
xung động thần kinh.

 Một hệ thống dạng cây các dây thần kinh vào (gọi là dendrites). Các dendrites là
các dây mảnh, dài, gắn liền với soma, chúng truyền dữ liệu (dưới dạng xung điện
thế) đến cho soma xử lý. Bên trong soma các dữ liệu đó được tổng hợp lại, có
thể xem gần đúng sự tổng hợp ấy như là một phép lấy tổng tất cả các dữ liệu mà
nơ-ron nhận được. Các dendrites tạo thành một lưới dày đặc xung quanh thân
nơ-ron, chiếm diện tích khoảng 0,25 mm2.
 Đầu dây thần kinh ra (gọi là sợi trục axon) phân nhánh dạng hình cây, có thể dài
từ một cm đến hàng mét. Khác với dendrites, axons có khả năng phát các xung
điện thế, chúng là các dây dẫn tín hiệu từ nơ-ron đi các nơi khác. Chỉ khi nào
điện thế trong soma vượt quá một giá trị ngưỡng nào đó thì axon mới phát một
xung điện thế, còn nếu không thì nó ở trạng thái nghỉ.
Axon nối với các dendrites của các nơ-ron khác thông qua những mối nối đặc
biệt gọi là synapse. Khi điện thế của synapse tăng lên do các xung phát ra từ
axon thì synapse sẽ nhả ra một số chất hoá học (neurotransmitters); các chất này
mở "cửa" trên dendrites để cho các ions truyền qua. Chính dòng ions này làm
thay đổi điện thế trên dendrites, tạo ra các xung dữ liệu lan truyền tới các nơ-ron
khác.
Thông thường mỗi nơ-ron có thể có từ vài chục cho tới hàng trăm ngàn khớp nối
để nối với các nơ-ron khác. Có hai loại khớp nối:

 Khớp nối kích thích (excitatory) sẽ cho tín hiệu qua nó để tới nơ-ron.

 Khớp nối ức chế (inhibitory) có tác dụng làm cản tín hiệu tới nơ-ron.

Người ta ước tính mỗi nơ-ron trong bộ não của con người có khoảng 104 khớp nối
(hình 1.1)
Đồ án tốt nghiệp Sử dụng mạng nơ-ron nhận dạng ký tự
Nguyễn Thị Quyên Trang 10


Hình 1.1 Cấu tạo của tế bào nơ-ron sinh học

Có thể tóm tắt hoạt động của một nơ-ron như sau: nơ-ron lấy tổng tất cả các điện thế
vào mà nó nhận được, và phát ra một xung điện thế nếu tổng ấy lớn hơn một ngưỡng
nào đó. Các nơ-ron nối với nhau ở các synapses. Synapse được gọi là mạch khi nó cho
phép truyền dẫn dễ dàng tín hiệu qua các nơ-ron khác. Ngược lại, một synapse yếu sẽ
truyền dẫn tín hiệu rất khó khăn.
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.1.3. Nơ-ron nhân tạo:
Nơ-ron nhân tạo là một đơn vị tính toán có nhiều đầu vào và một đầu ra, mỗi đầu vào
đến từ một liên kết. Đặc trưng của nơ-ron là một hàm kích hoạt phi tuyến chuyển đổi tổ
hợp tuyến tính của tất cả các tín hiệu đầu vào thành tín hiệu đầu ra. Hàm kích hoạt này
đảm bảo tính chất phi tuyến cho tính toán của mạng nơ-ron.

Đồ án tốt nghiệp Sử dụng mạng nơ-ron nhận dạng ký tự
Nguyễn Thị Quyên Trang 11











Hình1.2: Mô hình một rơ-ron nhân tạo

Trong một mạng nơ-ron có ba kiểu đơn vị:
 Các đơn vị đầu vào (Input units), nhận tín hiệu từ bên ngoài.
 Các đơn vị đầu ra (Output units), gửi dữ liệu ra bên ngoài.
 Các đơn vị ẩn (Hidden units), tín hiệu vào (input) và ra (output) của nó nằm
trong mạng.
Mỗi đơn vị có thể có một hoặc nhiều đầu vào: x0, x1, … xn, nhưng chỉ có một đầu ra
là a.
Một đầu vào tới một đơn vị có thể là dữ liệu từ bên ngoài mạng, hoặc đầu ra của một
đơn vị khác, hoặc là đầu ra của chính nó.
Một nơ-ron được cầu tạo gồm các thành phần chính: liên kết nơ-ron, bộ cộng, hàm kích
hoạt.
 Liên kết nơ-ron: là một thành phần của mạng nơ-ron nhận tạo để liên kết giữa
các nơ-ron, nó nối đầu ra của nơ-ron lớp này với đầu vào của một nơ-ron trong
lớp khác. Đặc trưng của thành phần liên kết là một trọng số mà mỗi tín hiệu đi
qua đều được nhân với trọng số này. 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ó thể thay đổi được nhằm thích nghi với môi
trường xung quanh.
 Bộ cộng dùng để tính tổng các tín hiệu đầu vào của nơ-ron, đã được nhân với
các trọng số liên kết tương ứng, phép toán được mô tả ở đây tạo nên một bộ

hợp tuyến tính.
 Hàm kích hoạt hay còn gọi hàm kích hoạt phi tuyến, chuyển đổi một tổ hợp
tuyến tính của tất cả các tín hiệu đầu vào thành tín hiệu đầu ra. Hàm kích hoạt
này đảm bảo tính chất phi tuyến cho tính toán mạng nơ-ron. Nó được xem như
là một hàm giới hạn, nó giới hạn phạm vi biên độ cho phép của tín hiệu đầu ra
trong một khoảng giá trị hữu hạn. Mô hình nơ-ron trong hình 1.2 còn bao gồm
một hệ số điều chỉnh b tác động từ bên ngoài. Hệ số điều chỉnh b có tác dụng
w
2

w
k

w
1


x
0

x
1

b
0

x
n

f

a
Đầu vào
Đầu ra a=f( w’y+b)
Đồ án tốt nghiệp Sử dụng mạng nơ-ron nhận dạng ký tự
Nguyễn Thị Quyên Trang 12

tăng lên hoặc giảm đi đầu vào thực của hàm kích hoạt, tùy theo nó dương hay
âm.
Một số hàm kích hoạt cơ bản trong mạng nơ-ron:
1) Hàm đồng nhất (Linear function, Identity function):
g(x)=x
Nếu coi các đầu vào là một đơn vị thì chúng sẽ sử dụng hàm này.

Hình 1.3 Hàm đồng nhất

2) Hàm bước nhị phân (Binary step function, Hard limit function):
Hàm này cũng được biết đến với tên "Hàm ngưỡng" (Threshold function hay
Heaviside function). Đầu ra của hàm này được giới hạn vào một trong hai giá trị:
1, nếu (x)
g(x) =
0, nếu (x)
Dạng hàm này được sử dụng trong các mạng chỉ có một lớp. Trong hình vẽ sau, θ được
chọn bằng 1.

Hình 1.4 Hàm ngưỡng
3) Hàm sigmoid (Sigmoid function (logsig)) :
g(x) =
1
1+




Đồ án tốt nghiệp Sử dụng mạng nơ-ron nhận dạng ký tự
Nguyễn Thị Quyên Trang 13

Hàm này đặc biệt thuận lợi khi sử dụng cho các mạng được huấn luyện (trained) bởi
thuật toán Lan truyền ngược (back-propagation), bởi vì nó dễ lấy đạo hàm, do đó có
thể giảm đáng kể tính toán trong quá trình huấn luyện. Hàm này được ứng dụng cho
các chương trình ứng dụng mà các đầu ra mong muốn rơi vào khoảng [0,1].

Hình 1.5 Hàm sigmoid

4) Hàm sigmoid lưỡng cực (Bipolar sigmoid function (tansig)) :




=
1 

1 + 


Hàm này có các thuộc tính tương tự hàm sigmoid. Nó làm việc tốt đối với các ứng
dụng có đầu ra yêu cầu trong khoảng [-1,1].


Hình 1.6 Hàm sigmoid lưỡng lực

Các hàm chuyển của các đơn vị ẩn (hidden units) là cần thiết để biểu diễn sự phi

tuyến vào trong mạng. Lý do là hợp thành của các hàm đồng nhất là một hàm đồng
nhất. Mặc dù vậy nhưng nó mang tính chất phi tuyến (nghĩa là, khả năng biểu diễn
các hàm phi tuyến) làm cho các mạng nhiều tầng có khả năng rất tốt trong biểu diễn
các ánh xạ phi tuyến. Tuy nhiên, đối với luật học lan truyền ngược, hàm phải khả vi
(differentiable) và sẽ có ích nếu như hàm được gắn trong một khoảng nào đó. Do
vậy, hàm sigmoid là lựa chọn thông dụng nhất.
Đối với các đơn vị đầu ra (output units), các hàm chuyển cần được chọn sao cho phù
hợp với sự phân phối của các giá trị đích mong muốn. Chúng ta đã thấy rằng đối với
các giá trị ra trong khoảng [0,1], hàm sigmoid là có ích; đối với các giá trị đích
mong muốn là liên tục trong khoảng đó thì hàm này cũng vẫn có ích, nó có thể cho
ta các giá trị ra hay giá trị đích được căn trong một khoảng của hàm kích hoạt đầu
ra. Nhưng nếu các giá trị đích không được biết trước khoảng xác định thì hàm hay
Đồ án tốt nghiệp Sử dụng mạng nơ-ron nhận dạng ký tự
Nguyễn Thị Quyên Trang 14

được sử dụng nhất là hàm đồng nhất (identity function). Nếu giá trị mong muốn là
dương nhưng không biết cận trên thì nên sử dụng một hàm kích hoạt dạng mũ
(exponential output activation function).
1.1.4. Mạng nơ-ron nhân tạo:
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, 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ó thể xem 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
và nhiệm vụ của quá trình huấn luyện của 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
dáng điệu vào ra của mạng sẽ mô phỏng hoàn toàn phù hợp với môi trường đang xem
xét.

Hình 1.7 Mô hình mạng nơ-ron nhân tạo


Mô hình mạng nơ-ron ở trên gồm 3 lớp: lớp vào (input), lớp ẩn(hidden) và lớp xuất
(output). Mỗi nút trong lớp nhập nhận giá trị của một biến độc lập và chuyển vào mạng.
Dữ liệu từ tất cả các nút trong lớp nhập được tích hợp – ta gọi là tổng trọng số – và
chuyển kết quả cho các nút trong lớp ẩn. Gọi là “ẩn” vì các nút trong lớp này chỉ liên
lạc với các nút trong lớp nhập và lớp xuất, và chỉ có người thiết kế mạng mới biết lớp
này (người sử dụng không biết lớp này).
Các nút trong lớp xuất nhận các tín hiệu tổng trọng số từ các nút trong lớp ẩn. Mỗi nút
trong lớp xuất tương ứng với một biến phụ thuộc.
Đồ án tốt nghiệp Sử dụng mạng nơ-ron nhận dạng ký tự
Nguyễn Thị Quyên Trang 15

1.2 Đặc trƣng của mạng nơ-ron:
1.2.1. Tính phi tuyến:
Một nơ-ron có thể tính toán một cách tuyến tính hay phi tuyến. Một mạng nơ-ron, cấu
thành bởi sự kết nối các nơ-ron phi tuyến thì tự nó sẽ có tính phi tuyến. Hơn nữa, điều
đặc biệt là tính phi tuyến này được phân tán trên toàn mạng. Tính phi tuyến là một
thuộc tính rất quan trọng, nhất là khi các cơ chế vật lý sinh ra các tín hiệu đầu vào (ví
dụ tín hiệu tiếng nói) vốn là phi tuyến.
1.2.2. Tính chất tƣơng ứng đầu vào đầu ra:
Mặc dù khái niệm “học” hay “huấn luyện” chưa được bàn đến nhưng để hiểu được mối
quan hệ đầu vào - đầu ra của mạng nơ-ron, chúng ta sẽ đề cập sơ qua về khái niệm này.
Một mô hình học phổ biến được gọi là học với một người dạy hay học có giám sát liên
quan đến việc thay đổi các trọng số liên kết của mạng nơ-ron bằng việc áp dụng một tập
hợp các mẫu tích luỹ hay các ví dụ tích luỹ. Mỗi một ví dụ bao gồm một tín hiệu đầu
vào và một đầu ra mong muốn tương ứng. Mạng nơ-ron nhận một ví dụ lấy một cá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 số liên kết của mạng
được biến đổi sao cho có thể cực tiểu hoá sự sai khác giữa đầu ra mong muốn và đầu ra
thực sự của mạng theo một tiêu chuẩn thống kê thích hợp. Sự tích luỹ của mạng được
lặp lại với nhiều ví dụ trong tập hợp cho tới khi mạng đạt tới một trạng thái ổn định mà

ở đó không có một sự thay đổi đáng kể nào của các trọng số liên kết. Các ví dụ tích luỹ
được áp dụng trước có thể được áp dụng lại trong thời gian của phiên tích luỹ nhưng
theo một thứ tự khác. Như vậy mạng nơ-ron học từ các ví dụ bằng cách xây dựng nên
một tương ứng đầu vào-đầu ra cho vấn đề cần giải quyết.
1.2.3. Tính chất thích nghi:
Các mạng nơ-ron có một khả năng mặc định là biến đổi các trọng số liên kết tuỳ theo sự
thay đổi của môi trường xung quanh. Đặc biệt, một mạng nơ-ron đã được tích luỹ để
hoạt động trong một môi trường xác định có thể được tích luỹ lại một cách dễ dàng khi
có những thay đổi nhỏ của các điều kiện môi trường hoạt động.
1.2.4. Tính chất đƣa ra lời giải có bằng chứng:
Trong ngữ cảnh phân loại mẫu, một mạng nơ-ron có thể được thiết kế để đưa ra thông
tin không chỉ về mẫu được phân loại, mà còn về sự tin cậy của quyết định đã được thực
hiện. Thông tin này có thể được sử dụng để loại bỏ các mẫu mơ hồ hay nhiễu.
1.2.5. Tính chất chấp nhận sai xót:
Một mạng nơ-ron, được cài đặt dưới dạng phần cứng, vốn có khả năng chấp nhận lỗi,
hay khả năng tính toán thô, với ý nghĩa là tính năng của nó chỉ thoái hoá khi có những
điều kiện hoạt động bất lợi. Ví dụ, nếu một nơ-ron hay các liên kết kết nối của nó bị
hỏng, việc nhận dạng lại một mẫu được lưu trữ sẽ suy giảm về chất lượng.
Đồ án tốt nghiệp Sử dụng mạng nơ-ron nhận dạng ký tự
Nguyễn Thị Quyên Trang 16

1.2.6. Khả năng cài đặt VLSI(Very-large-scale-intergrated):
Bản chất song song đồ sộ của một mạng nơ-ron làm cho nó rất nhanh trong tính toán
đối với một số công việc. Đặc tính này cũng tạo ra cho một mạng nơ-ron khả năng phù
hợp cho việc cài đặt sử dụng kỹ thuật Very-large-scale-intergrated (VLSI). Kỹ thuật
này cho phép xây dựng những mạch cứng tính toán song song quy mô lớn. Chính vì
vậy mà ưu điểm nổi bật của VLSI là mang lại những phương tiện hữu hiệu để có thể xử
lý được những hành vi có độ phức tạp cao.
1.2.7. Tính chất đồng dạng trong phân tích và thiết kế:
Về cơ bản, các mạng nơ-ron có tính chất chung như là các bộ xử lý thông tin. 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 nơ-ron. Đặc tính này thể hiện ở một số điểm như sau:
 Các nơ-ron, dưới dạng này hoặc dạng khác, biểu diễn một thành phần chung cho
tất cả các mạng nơ-ron.
 Tính thống nhất này đem lại khả năng chia sẻ các lý thuyết và các thuật toán học
trong nhiều ứng dụng khác nhau của mạng nơ-ron.
 Các mạng tổ hợp (modular) có thể được xây dựng thông qua một sự tích hợp các
mô hình khác nhau.
1.3 Phân loại mạng nơ-ron:
Cách thức kết nối các nơ-ron trong mạng xác định kiến trúc (topology) của mạng. Các
nơ-ron trong mạng có thể kết nối đầy đủ (fully connected) tức là mỗi nơ-ron đều được
kết nối với tất cả các nơ-ron khác, hoặc kết nối cục bộ (partially connected) chẳng hạn
chỉ kết nối giữa các nơ-ron trong các tầng khác nhau. Người ta chia ra hai loại kiến trúc
mạng chính:
 Tự kết hợp (autoassociative): là mạng có các nơ-ron đầu vào cũng là các nơ-ron
đầu ra. Mạng Hopfield là một kiểu mạng tự kết hợp.

Hình 1.8 Mạng tự kết hợp
Đồ án tốt nghiệp Sử dụng mạng nơ-ron nhận dạng ký tự
Nguyễn Thị Quyên Trang 17

 Kết hợp khác kiểu (heteroassociative): là mạng có tập nơ-ron đầu vào và đầu ra
riêng biệt. Perceptron, các mạng Perceptron nhiều tầng (MLP: MultiLayer
Perceptron), mạng Kohonen, …thuộc loại này.


Hình 1.9 Mạng kết hợp khác kiểu
Ngoài ra, nếu phân loại theo kiểu liên kết nơ-ron ta có: mạng nơ-ron truyền thẳng và
nơ-ron mạng qui hồi.
Kiến trúc truyền thẳng (feedforward architechture): là kiểu kiến trúc mạng không có

các kết nối ngược trở lại từ các nơ-ron đầu ra về các nơ-ron đầu vào; mạng không lưu
lại các giá trị output trước và các trạng thái kích hoạt của nơ-ron. Các mạng nơ-ron
truyền thẳng cho phép tín hiệu di chuyển theo một đường duy nhất; từ đầu vào tới đầu
ra, đầu ra của một tầng bất kì sẽ không ảnh hưởng tới tầng đó. Các mạng kiểu
Perceptron là mạng truyền thẳng.
Các mạng qui hồi (Feedback architecture) cho phép các liên kết nơ-ron tạo thành chu
trình, các thông tin ra của các nơ-ron được truyền lại cho các nơ-ron đã góp phần kích
hoạt chúng, nên mạng qui hồi còn có khả năng lưu giữ trạng thái trong của nó dưới
dạng các ngưỡng kích hoạt ngoài các trọng số liên kết nơ-ron.

1.3.1 Mạng nơ-ron truyền thẳng:
Có thể nói mạng nơ-ron truyền thẳng là một kiểu mạng đơn giản trong việc sắp đặt
mạng. Trong mạng này thông tin chỉ truyền trên một hướng duy nhất, từ lớp đầu vào
xuyên qua lớp ẩn (nếu có) và kết thúc tại lớp đầu ra. Không có chu trình hoặc vòng
trong mạng.



Đồ án tốt nghiệp Sử dụng mạng nơ-ron nhận dạng ký tự
Nguyễn Thị Quyên Trang 18

1.3.1.1 Mạng nơ-ron truyền thẳng một lớp (Perceptron):
Perceptron là mạng nơ-ron đơn giản nhất, nó chỉ gồm một nơpron, nhận đầu vào là
vector có các thành phần là các số thực và đầu ra là một trong hai giá trị +1 hoặc -1.
Đầu vào

1


2


. +1
. hoặc
. -1




Mức đầu vào Mức đầu ra

Hình 1.10 Mạng nơ-ron truyền thẳng 1 lớp hay Perceptron

Đầu ra của mạng được xác định như sau: mạng lấy tổng có trọng số các thành phần của
vector đầu vào, kết quả này cùng ngưỡng b được đưa vào hàm truyền (Perceptron dùng
hàm Hard-limit làm hàm truyền) và kết quả của hàm truyền sẽ là đầu ra của mạng. Hoạt
động của Perceptron có thể được mô tả bởi cặp công thức sau :
= 




=1

và y = f(u - b) = Hardlimit(u - b).
y nhận giá trị +1 nếu u - b>0, ngược lại y nhận giá trị -1.
Perceptron cho phép phân loại chính xác trong trường hợp dữ liệu có thể phân chia
tuyến tính (các mẫu nằm trên hai mặt đối diện của một siêu phẳng). Nó cũng phân loại
đúng đầu ra các hàm AND, OR và các hàm có dạng đúng khi n trong m đầu vào của nó
đúng (n ≤ m). Nó không thể phân loại được đầu ra của hàm XOR.
1.3.1.2 Mạng nơ-ron truyền thẳng nhiều lớp (MLP):

Mô hình mạng nơ-ron được sử dụng rộng rãi nhất là mô hình mạng nhiều lớp truyền
thẳng (MLP: Multi Layer Perceptron). Một mạng MLP tổng quát là mạng có n (n≥2)
lớp (thông thường lớp đầu vào không được tính đến): trong đó gồm một lớp đầu ra (lớp
thứ n) và (n-1) lớp ẩn.
b

f(.)
Đồ án tốt nghiệp Sử dụng mạng nơ-ron nhận dạng ký tự
Nguyễn Thị Quyên Trang 19

Tầng vào
Tầng ẩn 1 Tầng ẩn (n-1)
Tầng ra


. … . .
. . … . .
. . … . .
. . … . .
. . … . .
.


Hình 1.11 Mạng nơ-ron truyền thẳng nhiều lớp (MLP)

Kiến trúc của một mạng MLP tổng quát có thể mô tả như sau:
 Đầu vào là các vector (x1, x2, , xp) trong không gian p chiều, đầu ra là các vector
(y1,y2, , yq) trong không gian q chiều. Đối với các bài toán phân loại, p chính là
kích thước của mẫu đầu vào, q chính là số lớp cần phân loại. Mỗi nơ-ron thuộc tầng
sau liên kết với tất cả các nơ-ron thuộc tầng liền trước nó.

 Đầu ra của nơ-ron tầng trước là đầu vào của nơ-ron thuộc tầng liền sau nó.
Hoạt động của mạng MLP như sau: tại tầng đầu vào các nơ-ron nhận tín hiệu vào xử lý
(tính tổng trọng số, gửi tới hàm truyền) rồi cho ra kết quả (là kết quả của hàm truyền);
kết quả này sẽ được truyền tới các nơ-ron thuộc tầng ẩn thứ nhất; các nơ-ron tại đây
tiếp nhận như là tín hiệu đầu vào, xử lý và gửi kết quả đến tầng ẩn thứ 2…; quá trình
tiếp tục cho đến khi các nơ-ron thuộc tầng ra cho kết quả.
1.3.2 Mạng nơ-ron quy hồi:
Trái với mạng nơ-ron truyền thẳng, mạng nơ-ron quy hồi là những mô hình với hai
luồng dữ liệu có hướng. Trong khi mạng truyền thẳng truyền dữ liệu theo một đường
thẳng thì những mạng nơ-ron quy hồi có ít nhất một phản hồi từ những nơ-ron xử lý
sau quay trở lại các nơ-ron xử lý trước đó.
Đồ án tốt nghiệp Sử dụng mạng nơ-ron nhận dạng ký tự
Nguyễn Thị Quyên Trang 20


Hình 1.10 Mạng hồi quy không có nơ-ron ẩn và không có vòng lặp tự phản hồi

Hình 1.11 Mạng hồi quy có các nơ-ron ẩn
1.4 Huấn luyện mạng nơ-ron:
1.4.1. Các phƣơng pháp học:
Mạng nơ-ron nhân tạo phỏng theo việc xử lý thông tin của bộ não người, do vậy đặc
trưng cơ bản của mạng là có khả năng học, khả năng tái tạo các hình ảnh và dữ liệu khi
đã học.
Khái niệm: Học là quá trình thay đổi hành vi của các vật theo một cách nào đó làm cho
chúng có thể thực hiện tốt hơn trong tương lai.

×