Tải bản đầy đủ

Nhận dạng chữ viết tay tiếng việt sử dụng mạng nơ ron

i

LỜI CẢM ƠN
Xin chân thành cảm ơn Thầy giáo, PGS.TS. Lê Bá Dũng đã tận tình chỉ
dạy, hướng dẫn tôi trong suốt thời gian nghiên cứu và thực hiện luận văn.
Tôi cũng xin chân thành cảm ơn các Thầy giáo Viện Công nghệ Thông tin
và các Thầy giáo Trường Công nghệ thông tin và Truyền thông - ĐH Thái
Nguyên đã giảng dạy, giúp đỡ trong suốt thời gian học tập.
Xin cảm ơn tất cả các anh chị học viên Cao học khóa 9, cảm ơn các cán bộ
công chức, giảng viên Trường Công nghệ thông tin và Truyền thông - ĐH Thái
Nguyên đã tạo điều kiện tốt cho tôi trong suốt trong hai năm học qua.
Xin cảm ơn các bạn bè, đồng nghiệp đã tạo diều kiện cũng như đã chỉ bảo
tôi rất nhiều trong thời gian thực hiện luận văn này.
Cuối cùng, xin chân thành cảm ơn gia đình đã động viên và tạo mọi điều
kiện thuận lợi để tôi có được kết quả như ngày hôm nay.

Thái Nguyên, tháng 06/2012

Người viết luận văn

Trịnh Thị Phương Thảo



ii

LỜI CAM ĐOAN
Tôi xin cam đoan đề tài luận văn “Nhận dạng chữ viết tay Tiếng Việt sử
dụng mạng Nơron” là công trình nghiên cứu của bản thân tôi. Các số liệu, kết
quả nghiên cứu nêu trong luận văn này là trung thực và không sao chép y nguyên
từ một công trình nào khác. Tôi xin chịu trách nhiệm về luận văn của mình.

Thái Nguyên, tháng 06/2012

Người viết luận văn

Trịnh Thị Phương Thảo


iii

MỤC LỤC
Trang
TRANG PHỤ BÌA..................................................................................................
CHƯƠNG I...................................................................................................................................3
TỔNG QUAN VỀ MẠNG NƠRON NHÂN TẠO VÀ MẠNG NƠRON KOHONEN..............3
1.1. Giới thiệu về mạng nơron nhân tạo...................................................................................3
1.1.1 Lịch sử phát triển.........................................................................................................3
1.1.2. Mô hình mạng nơ-ron nhân tạo..................................................................................4
1.2. Phạm vị ứng dụng của mang nơron nhân tạo...................................................................20
1.2.1. Những bài toán thích hợp..........................................................................................20
1.2.2. Các lĩnh vực ứng dụng mạng nơron..........................................................................24
1.3.Mạng KOHONEN............................................................................................................25


iv

DANH MỤC CÁC TỪ TIẾNG ANH VIẾT TẮT
STT Từ viết tắt

Từ viết tường minh


1

HMM

Hiden Markov Model

2

LVQ

Learning Vector Quantization

3

MLP

Multi Layer Perception

4

OCR

Optical Character Recognation

5

PDA

Personal Digital Assistant

6

RFID

Radio Frequency Identification

7

SOM

Self Organizing Maps

8

SVM

Support Vector Machine


v

DANH MỤC CÁC HÌNH
Hình 1.1. Mô hình nơ-ron sinh học...............................................................................................6
Đồ thị hàm đồng nhất (Identity function).....................................................................................8
Đồ thị hàm bước nhị phân (Binary step function)........................................................................9
Đồ thị hàm sigmoid.....................................................................................................................10
Đồ thị hàm sigmoid lưỡng cực...................................................................................................10
Hình 1.2. Mô hình một nơ-ron....................................................................................................11
Hình 1.3. Mạng truyền thẳng một lớp.........................................................................................14
Hình 1.4. Mạng truyền thẳng nhiều lớp......................................................................................15
Hình 1.5. Mạng một lớp có phản hồi..........................................................................................16
Hình 1.6. Mạng nhiều lớp có phản hồi.......................................................................................16
Hình 1.7: Cấu trúc của mạng Kohonen.......................................................................................27
Hình 1.8 dưới đây là một mạng Kohonen điển hình...................................................................27
Hình 1.8: Mạng nơron Kohonen điển hình.................................................................................28
Hình 1.9: Huấn luyện mạng Kohonen (SOM)............................................................................30
Hình 2.1: Mô hình chung trong nhận dạng chữ viết...................................................................42
Hình 2.2: Quá trình tìm giới hạn ký tự.......................................................................................45
Hình 2.3: Quá trình lấy mẫu xuống............................................................................................46
Hình 2.4 Quá trình ánh xạ từ ma trận điểm sang ma trận giá trị................................................48
Hình 2.5 Quá trình huấn luyện mạng nơron Kohonen................................................................50
Hình 3.1 Giao diện chương trình mô phỏng...............................................................................65
Hình 3.2 Nhận dạng ký tự Ơ.......................................................................................................67
Hình 3.3 Nhận dạng ký tự Ô.......................................................................................................68
Hình 3.4 Nhận dạng ký tự Ư.......................................................................................................68


1

PHẦN MỞ ĐẦU
Trong ngành công nghệ thông tin hiện nay, trí tuệ nhân tạo hiện đại đang
được sự quan tâm rất lớn. Các máy tính và công nghệ vi điện tử hiện đại đang hy
vọng ở các phương pháp này như chìa khóa mở ra thế hệ máy tính thông minh
mới mô phỏng được như bộ não con người. Nghiên cứu và mô phỏng trí não, cụ
thể là tế bào thần kinh (Neural) là một ước muốn từ lâu của nhân loại. Với
khoảng 15 tỷ Neural ở não người, mỗi Neural có thể nhận hàng vạn tín hiệu từ
khớp thần kinh và được coi là một cơ chế sinh vật phức tạp nhất. Não người có
khả năng giải quyết những vấn đề như: nghe, nhìn, nói, hồi ức thông tin, phân
biệt các mẫu mặc dù sự kiện có bị méo mó, hay thiếu hụt. Não thực hiện những
nhiệm vụ như vậy nhờ các phần tử tính toán (Neural thần kinh). Não phân bố
việc xủ lí cho hàng tỉ Neural có liên quan, điều khiển các mối liên hệ giữa các
Neural đó. Neural không ngừng nhận và truyền thông tin lẫn nhau. Cơ chế hoạt
động của Neural [1] bao gồm: liên kết (association), tổng quát hóa (generation),
và tự tổ chức (Self Orgazation). Các Nơron tự liên kết với nhau thành mạng
trong xử lý. Mỗi mạng gồm hàng vạn các phần tử Nơron khác nhau. Mỗi phần tử
Nơron có khả năng liên kết với hàng nghìn các Nơron khác.
Hiện nay, mạng Nơron được đưa vào ứng dụng rộng rãi trong rất nhiều
lĩnh vực. Và bài toán nhận dạng là bài toán sử dụng các tính năng của mạng
Nơron nhiều nhất. Bài toán nhận dạng với sự trợ giúp của mạng Nơron ngày nay
đã không còn dừng ở mức độ nghiên cứu nữa mà nó trở thành một lĩnh vực để áp
dụng vào thực tế. Các bài toán nhận dạng được nghiên cứu nhiều nhất hiện nay
tập trung vào nhận dạng 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 chữ viết. Chúng được ứng dụng trong rất nhiều lĩnh


2

vực như y học, dự báo thời tiết, dự báo cháy rừng, …, các lĩnh vực tự động hóa
như điều khiển rô-bốt, điều khiển các thiết bị bằng giọng nói,…. Trong số các
bài toán nhận dạng này, nhận dạng chữ viết đang được ứng dụng rất phổ biến.
Nhận dạng chữ viết được ứng dụng trong quá trình tự động hóa các công việc
văn phòng như nhập liệu, lưu trữ văn bản, sách báo, phân loại thư tín,…, những
công việc rất nhàm chán và đòi hỏi nhiều thời gian của con người. Nhận dạng
bằng mạng Nơron đang được ứng dụng trong hàng loạt lĩnh vực quan trọng của
cuộc sống, phục vụ lợi ích trực tiếp và thiết thực cho công việc của con người.
Mục đích của luận văn là: Trình bày các kết quả nghiên cứu lý thuyết phục
vụ cho chủ đề: “Nhận dạng chữ viết tay Tiếng Việt sử dụng mạng Nơron”. Tuy
nhiên, do hạn chế về mặt thời gian cũng như độ phức tạp của bài toán mà trong
khuôn khổ, thời lượng của luận văn, tôi chỉ đi sâu nghiên cứu và đưa ra một
chương trình mô phỏng nhận dạng ký tự viết tay Tiếng Việt rời rạc trực tuyến sử
dụng mạng Nơron Kohonen.


3

CHƯƠNG I
TỔNG QUAN VỀ MẠNG NƠRON NHÂN TẠO
VÀ MẠNG NƠRON KOHONEN
1.1. Giới thiệu về mạng nơron nhân tạo
1.1.1 Lịch sử phát triển
Khái niệm mạng nơ-ron được bắt đầu vào cuối thế kỷ 19, đầu thế kỷ 20 do
có sự tham gia của ba ngành Vật lý học, Tâm lý học và Thần kinh học. Các nhà
khoa học như Hermann Von Hemholtz, Earnst Mach, Ivan Pavlov với các công
trình nghiên cứu đi sâu vào lý thuyết tổng quát mô tả hoạt động của trí tuệ con
người như: Học, nhìn, và lập luận, .. nhưng không đưa ra được mô hình toán học
cụ thể mô tả hoạt động của nơ-ron.
Về lịch sử, quá trình nghiên cứu và phát triển mạng nơ-ron nhân tạo có thể
chia thành bốn giai đoạn như sau:
+ Giai đoạn một: Từ nghiên cứu của William (1890) về tâm lý học với sự
liên kết các nơ-ron thần kinh. Năm 1943, nhà thần kinh học Warren MeCulloch
và nhà logic học Walter Pitts đã chỉ ra rằng:về nguyên tắc mạng các nơ-ron nhân
tạo có thể được mô hình hoá như thiết bị ngưỡng (giới hạn) để thực hiện tính
toán bất kỳ một hàm số học hay các phép tính logic nào. Tiếp theo hai ông là
Donald Hebb với giải thuật huấn luyện mạng ra đời năm 1949.
+ Giai đoạn hai: Vào khoảng những năm 1960, một số mô hình nơ-ron
hoàn thiện hơn có tính ứng dụng thực tiễn đã được đưa ra như: mô hình
Perceptron của Frank Rosenblatt (1958), mô hình Adaline của Bernard Widrow
(1962). Trong đó mô hình Perceptron rất được quan tâm vì nguyên lý đơn giản,
nhưng nó cũng có hạn chế vì như Marvin Minsky và Seymour Papert của MIT


4

(Massachurehs Insritute of Technology) đã phát hiện ra và chứng minh nó không
dùng được cho các hàm logic phức (1969). Còn Adaline là mô hình tuyến tính,
tự chỉnh, được dùng rộng rãi trong điều khiển thích nghi, tách nhiễu và vẫn phát
triển cho đến nay.
+ Giai đoạn ba: Vào khoảng đầu thập niên 80, việc nghiên cứu mạng nơron diễn ra rất mạnh mẽ cùng với sự ra đời của máy tính cá nhân PC. Những
đóng góp lớn cho mạng nơ-ron trong giai đoạn này phải kể đến Stephen
Grossberg, Teuvo Kohonen, Rumelhart và John Hopfield. Trong đó đóng góp
lớn của nhà vật lý học người Mỹ John Hopfield gồm hai mạng phản hồi: Mạng
rời rạc năm 1982 và mạng liên tục năm 1984. Đặc biệt, ông đã dự kiến nhiều khả
năng tính toán lớn của mạng mà một nơ-ron không có khả năng đó. Cảm nhận
của Hopfield đã được Rumelhart, Hinton và Williams đề xuất thuật toán sai số
truyền ngược (back –propagation) nổi tiếng để huấn luyện mạng nơ-ron nhiều
lớp nhằm giải bài toán mà mạng khác không thực hiện được. Nhiều ứng dụng
mạnh mẽ của mạng nơ-ron ra đời cùng với các mạng theo kiểu máy Boltzmann
và mạng Neocognition của Fukushima.
+ Giai đoạn bốn: 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 Joint Conference on
Neural Networks). Rất nhiều công trình được nghiên cứu để ứng dụng mạng nơron vào các lĩnh vực cuộc sống, ví dụ như: Kỹ thuật tính, tối ưu, sinh học, y học,
thống kê, giao thông, hoá học… Cho đến nay, mạng nơ-ron đã tìm được và khẳng
định được vị trí của mình trong rất nhiều ứng dụng khác nhau.
1.1.2. Mô hình mạng nơ-ron nhân tạo
1.1.2.1. Nơ-ron sinh học


5

Bộ não con người có khoảng 1010 tế bào thần kinh liên kết chặt chẽ với nhau
được gọi là các nơ-ron. Mỗi nơ-ron gồm có ba phần: Thân nơ-ron với nhân ở bên
trong (soma), một đầu sợi trục thần kinh ra (axon) và một hệ thống tế bào hình cây
(dendrite). Tế bào hình cây có nhiệm vụ mang các tín hiệu điện tới các tế bào thân,
tế bào thân sẽ thực hiện gộp (Sum) và phân ngưỡng ( Thresholds) các tín hiệu đến.
Sợi trục thần kinh làm nhiệm vụ đưa các tín hiệu thân ra ngoài
Trong thực tế có rất nhiều dây thần kinh vào và chúng bao phủ một diện tích
rất lớn (0.25 mm2) để nhận các tín hiệu từ các nơ-ron khác. Đầu thần kinh ra được
rẽ nhánh nhằm chuyển giao tín hiệu từ thân nơ-ron tới nơ-ron khác. Các nhánh của
đầu thần kinh được nối với các khớp thần kinh (synapse). Các khớp thần kinh này
được nối với thần kinh vào của các nơ-ron khác. Sự sắp xếp của các nơ-ron và mức
độ mạnh yếu của các khớp thần kinh được quyết định bởi quá trình hóa học phức
tạp, sẽ thiết lập chức năng của mạng nơ-ron, các nơ-ron có thể sửa đổi tín hiệu tại
các khớp, trong các nơ-ron nhân tạo được gọi là trọng số.
Có thể nói, mạng nơ-ron sinh học hoạt động chậm hơn rất nhiều so với các
linh kiện điện tử (10-3 giây so với 10-9 giây), nhưng bộ não có thể thực hiện nhiều
công việc nhanh hơn rất nhiều so với máy tính thông thường. Do cấu trúc song song
của mạng nơ-ron sinh học thể hiện toàn bộ các nơ-ron thực hiện đồng thời tại một
thời điểm. Mạng nơ-ron nhân tạo cũng có được đặc điểm này. Các mạng nơ-ron
nhân tạo chủ yếu thực nghiệm trên các máy tính mạnh có vi mạch tích hợp rất lớn,
các thiết bị quang, bộ xử lý song song. Điều này cũng giải thích tại sao những
nghiên cứu khoa học về mạng nơ-ron nhân tạo có điều kiện phát triển cùng với sự
phát triển về kỹ thuật công nghệ phần cứng máy tính.
Có nhiều loại nơ-ron khác nhau về kích thước và khả năng thu phát tín hiệu.
Tuy nhiên, chúng có cấu trúc và nguyên lý hoạt động chung.


6

Hình vẽ (1.1) là một hình ảnh đơn giản hoá của một loại nơ-ron như vậy.

Hình 1.1. Mô hình nơ-ron sinh học
- Hoạt động của nơ-ron sinh học có thể mô tả tóm tắt như sau:
Mỗi nơ-ron nhận tín hiệu vào từ các tế bào thần kinh khác.Chúng tích hợp
các tín hiệu vào, khi tổng tín hiệu vượt quá một ngưỡng nào đó chúng tạo tín
hiệu ra và gửi tín hiệu này tới các nơ-ron khác thông qua dây thần kinh. Các nơron liên kết với nhau thành mạng. Mức độ bền vững của các liên kết này xác
định một hệ số gọi là trọng số liên kết.
1.1.2.2. Nơ-ron nhân tạo
Để mô phỏng các tế bào thần kinh và các khớp nối thần kinh của bộ não
con người, mạng nơ-ron nhân tạo có các thành phần có vai trò tương tự là các
nơ-ron nhân tạo và kết nối giữa chúng (kết nối này gọi là weights). Nơ-ron 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
khớp nối thần kinh (synapse). Đặc trưng của nơ-ron là một 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.


7

Một nơ-ron nhân tạo là một đơn vị tính toán hay đơn vị xử lý thông tin cơ
sở cho hoạt động của một mạng nơ-ron.
Các thành phần cơ bản của một mô hình nơ-ron
♦ Trọng số và tổng tín hiệu đầu vào:
Mỗi nơ-ron có rất nhiều dây thần kinh vào, nghĩa là mỗi nơ-ron có thể tiếp
nhận đồng thời nhiều tín hiệu. Giả sử tại nơ-ron i có N tín hiệu vào, mỗi tín hiệu
vào S j được gán một trọng số Wij tương ứng. Ta ước lượng tổng tín hiệu đi vào
nơ-ron net i theo một số dạng sau:
(i)Dạng tuyến tính:
N

neti = ∑ Wij s j
j =1

(1.1)
(ii)Dạng toàn phương:
N

neti = ∑ Wij s 2j

(1.2)

j =1

(iii)Dạng mặt cầu:
neti = − ρ

2

N

∑( s
j =1

j

− w ij )

2

Trong đó: ρ và w ij ( j = 1, N ) lần lượt là tâm và bán kính mặt cầu

(1.3)


8

♦ Hàm kích hoạt (hàm chuyển):
Hầu hết các đơn vị trong mạng nơ-ron chuyển net input bằng cách sử dụng
một hàm vô hướng (scalar – to – scalar function) gọi là hàm kích hoạt, kết quả
của hàm này là một giá trị gọi là mức độ kích hoạt của đơn vị. Trừ khả năng đơn
vị đó thuộc lớp ra, giá trị kích hoạt được đưa vào một hay nhiều đơn vị khác. Các
hàm kích hoạt thường bị ép vào một khoảng giá trị xác định, do đó thường được
gọi là các hàm nén (squashing).
Hàm biến đổi tín hiệu đầu vào net cho tín hiệu đầu ra out được gọi là hàm
kích hoạt. Hàm này có đặc điểm là không âm và bị chặn, dùng để giới hạn biên độ
đầu ra của nơ-ron. Có nhiều dạng hàm kích hoạt, người ta thường sử dụng một hàm
kích hoạt chung cho toàn mạng.
Một số hàm kích hoạt thường được sử dụng:
1) Hàm đồng nhất (Linear function, Identity function)
g(x) = x

(1.4)

Nếu coi các đầu vào là một đơn vị thì chúng sẽ sử dụng hàm này. Có khi một
hằng số được nhân với net-input tạo thành một hàm đồng nhất.

Đồ thị hàm đồng nhất (Identity function)
2) Hàm bước nhị phân (Binary step function, Hard limit function)


9

Hàm này còn gọi là hàm ngưỡng (Threshold function hay Heaviside
function). Đầu ra của hàm này giới hạn một trong hai giá trị:

1, neáu x ≥ θ
g( x ) = 
0, neáu x < θ

(1.5)

ở đây θ là ngưỡng.

Đồ thị hàm bước nhị phân (Binary step function)
Dạng hàm này thường sử dụng trong mạng một lớp. Trong hình vẽ θ được chọn
bằng 1.
3) Hàm sigmoid (Sigmoid function (logsig))
Hàm sigma là dạng chung nhất của hàm kích hoạt được sử dụng trong cấu
trúc mạng nơ-ron nhân tạo. Nó là một hàm tăng và nó thể hiện một sự 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, xác định
như sau:

g( x ) =

1
1 + e− λ x

(1.6)

ở đó λ là tham số độ dốc của hàm sigma. Bằng việc biến đổi tham số λ , chúng
ta thu được các hàm sigma với các độ dốc khác nhau. Thực tế, hệ số góc tại x= 0
là λ /4. Khi tham số hệ số góc tiến tới không xác định, hàm sigma trở thành một
hàm ngưỡng đơn giản. Trong khi một hàm ngưỡng chỉ có giá trị là 0 hoặc 1, thì


10

một hàm sigma nhận các giá trị từ 0 tới 1. Cũng phải ghi nhận rằng hàm sigma là
hàm phân biệt, trong khi hàm ngưỡng thì không (Tính phân biệt của hàm là một
đặc tính quan trọng trong lý thuyết mạng neuron). Hàm này thường được 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 nó dễ lấy đạo hàm, làm giảm đáng kể tính toán trong quá trình
huấn luyện. Hàm được dùng cho các chương trình ứng dụng mà đầu ra mong
muốn rơi vào khoảng [0,1].

Đồ thị hàm sigmoid
4) Hàm sigmoid lưỡng cực (Bipolar sigmoid function (tan(sig))
1 − e− x
g( x ) =
1 + e− x

(1.7)

Hàm này có đặc tính tương tự hàm sigmoid. Hàm 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].

Đồ thị hàm

sigmoid lưỡng
cực


11

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.
♦ Nút bias:
Là một nút thêm vào nhằm tăng khả năng thích nghi của mạng nơ-ron
trong quá trình học. Trong các mạng nơ-ron có sử dụng bias, mỗi nơ-ron có thể
có một trọng số tương ứng với bias. Trọng số này luôn có giá trị là 1.
Mô hình của một nút xử lý (nút thứ i):
Vi

Vj

Wi1
Wij

Ui= ∑

WiN

Vi=fi(Ui)

Vi

VN

Hình 1.2. Mô hình một nơ-ron
N

U i = ∑ Wij Vj + θ i
j =1
j #i

Vi = f i (U i )
Trong đó:
Ui : là tín hiệu vào tại nơ-ron i
Vi : là tín hiệu ra tại nơron i
Wij : là trọng số liền kề từ nơ-ron j đến nơ-ron i

(1.8)

(1.9)


12

θi : là ngưỡng (đầu vào ngoài) kích hoạt nơ-ron i.
fi : là hàm kích hoạt của nơ-ron i

1.1.2.3. Mạng nơ-ron nhân tạo
Mạng nơ-ron nhân tạo (gọi tắt là mạng nơ-ron) là mô hình toán học hay
mô hình tính toán được xây dựng dựa trên các mạng nơ-ron sinh học. Nó gồm có
một nhóm các nơ-ron nhân tạo(nút) nối với nhau, và xử lý thông tin bằng cách
truyền theo các kết nối và tính giá trị mới tại các nút (cách tiếp cận
connectionism đối với tính toán). Phần lớn mạng nơ-ron nhân tạo là một hệ
thống thích ứng (adaptive system) tự thay đổi cấu trúc của mình dựa trên các
thông tin bên ngoài hay bên trong chảy qua mạng trong quá trình học.
Với việc giả lập các hệ thống sinh học, các cấu trúc tính toán, mạng nơron có thể giải quyết được các lớp bài toán nhất định, như: Bài toán người du
lịch, bài toán tô màu bản đồ, bài toán xếp loại, bài toán lập thời khóa biểu, bài
toán tìm kiếm, bài toán nhận dạng mẫu... Các bài toán phức tạp cao, không xác
định. Tuy nhiên, sự liên kết giữa một bài toán bất kỳ trong thực tế với một giải
pháp mạng nơ-ron lại là một việc không dễ dàng.
Xét một cách tổng quát, mạng nơ-ron là một cấu trúc xử lý song song
thông tin phân tán mang các đặc tính nổi bật sau :
 Là mô hình toán học dựa trên bản chất của nơ-ron.
 Bao gồm một số lượng rất lớn các nơ-ron liên kết với nhau.
 Mạng nơ-ron có khả năng học, khái quát hóa tập dữ liệu học thông
qua việc gán và hiệu chỉnh các trọng số liên kết.
 Tổ chức theo kiểu tập hợp mang lại cho mạng nơ-ron khả năng tính
toán rất lớn, trong đó không có nơ-ron nào mang thông tin riêng
biệt.


13

Ví dụ : Hình 1.2, 1.3,1.4, 1.5 là một số mô hình mạng thông dụng.
♦ Các hình trạng của mạng
Hình trạng mạng được định nghĩa bởi: số lớp (layers), số đơn vị trên mỗi
lớp, và sự liên kết giữa các lớp đó. Các mạng thường được chia làm hai loại dựa
trên cách thức liên kết các đơn vị:
1.1.2.3.1. Mạng truyền thẳng
- Mạng truyền thẳng một lớp
Mạng perceptron một lớp do F.Rosenblatt đề xuất năm 1960 là mạng
truyền thẳng chỉ một lớp vào và một lớp ra không có lớp ẩn. Trên mỗi lớp này có
thể có một hoặc nhiều nơ-ron. Mô hình mạng nơ-ron của F.Rosenblatt sử dụng
hàm ngưỡng đóng vai trò là hàm chuyển. Do đó, tổng của tín hiệu vào lớn hơn
giá trị ngưỡng thì giá trị đầu ra của nơ-ron sẽ là 1, còn trái lại sẽ là 0.

1, neáu neti ≥ θ
outi = 
0 , neáu neti < θ
Với neti =

∑w

ij

(1.10)

x j là tổng thông tin đầu vào của nơ-ron i.

Mô hình mạng nơ-ron truyền thẳng một lớp là mô hình liên kết cơ bản và
đơn giản nhất. Các nơ-ron tổ chức lại với nhau tạo thành một lớp, đường truyền
tín hiệu được truyền theo một hướng nhất định nào đó. Các đầu vào được nối với
các nơ-ron theo các trọng số khác nhau, sau quá trình xử lý cho ra một chuỗi các
tín hiệu ra.
x1

y1

x2

y2

Xm

yn


14

Hình 1.3. Mạng truyền thẳng một lớp

[

Với mỗi giá trị đầu vào. x = x1, x2, ..., xn

]

T

. Qua quá trình xử lý của

mạng ta sẽ thu được một bộ tương ứng các giá trị đầu ra là

y = [ y1, y 2, ..., y n ]

T

được xác định như sau :

 m

yi = f i  ∑ wij x j − θ i , i = 1, n
 j =1


(1.11)

Trong đó :
m : Số tín hiệu vào
n : Số tín hiệu ra
: WiT =[ wi1 , wi 2 ,..., win ] T là véc tơ trọng số của nơ-ron thứ i.
f i : Là hàm kích hoạt nơ-ron thứ i

θi : Là ngưỡng của nơ-ron thứ i.

Ngay từ khi mạng Perceptron được đề xuất nó được sử dụng để giải quyết bài
toán phân lớp. Một đối tượng sẽ được nơ-ron i phân vào lớp A nếu :
Tổng thông tin đầu vào

∑w

ij

x j > θi

Trong trường hợp trái lại nơ-ron sẽ được phân vào lớp B.


15

- Mạng truyền thẳng nhiều lớp (Multilayer Perceptron –MLP)
Với mạng nơ-ron truyền thẳng một lớp ở trên, khi phân tích một bài toán
phức tạp sẽ gặp rất nhiều khó khăn, để khắc phục vấn đề này người ta đưa ra mô
hình mạng nơ-ron truyền thẳng nhiều lớp bằng việc kết hợp một số lớp nơ-ron lại
với nhau. Lớp nhận tín hiệu vào gọi là lớp vào, lớp đưa tín hiệu ra của mạng
được gọi là lớp ra. Các lớp ở giữa lớp vào và lớp ra được gọi là lớp ẩn và các nơron trong các lớp ẩn có hàm chuyển (hàm kích hoạt) dạng phi tuyến. Mạng nơron nhiều lớp có thể giải quyết các bài toán phi tuyến nhờ vào các lớp ẩn. Càng
nhiều lớp ẩn thì khả năng mở rộng thông tin càng cao và xử lý tốt mạng có nhiều
lớp vào và lớp ra.
Hình (1.4) mô tả cấu trúc của mạng nơ-ron truyền thẳng nhiều lớp.
x1

Lớp vào

Lớp ẩn

Lớp ra

x2

y1
y2
yn

xm

Hình 1.4. Mạng truyền thẳng nhiều lớp
1.1.2.3.2. Mạng hồi quy (Recurrent Neutral Network)
Mạng hồi quy một lớp có phản hồi


16

X1

Y1

X2

...
XN

Y2

...

...
YM

Hình 1.5. Mạng một lớp có phản hồi
Mạng hồi quy nhiều lớp có phản hồi.
X1

Y1

X2
...

Y2
...

XN

...

...
YM

Hình 1.6. Mạng nhiều lớp có phản hồi
1.1.2.4. Luật học
Tiến trình học là tiến trình quan trọng của con người, nhờ học mà bộ não
ngày càng tích lũy các kinh nghiệm để thích nghi với môi trường và xử lý tình
huống tốt hơn. Mạng nơ-ron xây dựng lại cấu trúc bộ não thì phải cần có khả
năng nhận biết dữ liệu thông qua tiến trình học, với các thông số tự do của mạng
có thể thay đổi liên tục bởi những thay đổi của môi trường và mạng nơ-ron ghi
nhớ giá trị đó.
Trong quá trình học, giá trị đầu vào được đưa vào mạng và theo dòng chảy
trong mạng tạo thành giá trị đầu ra.


17

Tiếp đến là quá trình so sánh giá trị tạo ra bởi mạng nơ-ron với giá trị
mong muốn. Nếu hai giá trị này giống nhau thì không thay đổi gì cả. Tuy nhiên,
nếu có một sai lệch giữa hai giá trị này vượt quá giá trị sai số mong muốn thì đi
ngược mạng từ đầu ra về đầu vào để thay đổi một số kết nối.
Đây là quá trình lặp lại liên tục và có thể không dừng khi không tìm được
giá trị W sao cho đầu ra tạo bởi mạng nơ-ron bằng đúng đầu ra mong muốn. Do
đó trong thực tế người ta phải thiết lập một số tiêu chuẩn dựa trên một giá trị sai
số nào đó của hai giá trị này, hay dựa trên một số lần lặp nhất định.
Để tiện cho việc trình bày, ta kí hiệu y là giá trị kết xuất của mạng nơ-ron,
t là giá trị ra mong muốn, e là sai lệch giữa hai giá trị này.:
e=t-y
Mạng nơ-ron có một số ưu điểm so với máy tính truyền thống. Cấu trúc
song song của mạng nơ-ron rất thích hợp cho những ứng dụng đòi hỏi tốc độ
nhanh theo thời gian thực. Khả năng huấn luyện của mạng nơ-ron có thể khai
thác để phát triển hệ thống thích nghi. Mặt khác, với khả năng tổng quát hóa của
mạng nơ-ron, nó có thể áp dụng để điều khiển nhiều tham số phức tạp đồng thời
từ đó giải quyết dễ dàng một số bài toán thuộc lớp bài toán NP- đầy đủ (NPComplete ).
Các luật học đóng vai trò quan trọng trong việc xác định một mạng nơron nhân tạo. Một cách đơn giản về khái niệm học của mạng nơ-ron là cập nhật
trọng số trên cơ sở các mẫu. Theo nghĩa rộng thì học có thể được chia ra làm hai
loại: Học tham số và học cấu trúc.
- Học tham số: Các thủ tục học này nhằm tìm kiếm ma trận trọng số sao
cho mạng có khả năng đưa ra dự báo sát với thực tế. Dạng chung của luật học
tham số có thể được mô tả như sau:


18

∆Wij = ηrx j , i = 1, N , j = 1, M

(1.12)

trong đó:
∆Wij : là sự thay đổi trọng số liên kết từ nơron j đến nơron i.
x j : là tín hiệu vào từ nơron j.
η : là tốc độ học, nằm trong khoảng (0,1).
r : là hằng số học.

Vấn đề đặt ra ở đây là tín hiệu học r được sinh ra như thế nào để hiệu
chỉnh trọng số của mạng.
Có thể chia thủ tục học tham số ra thành ba lớp học nhỏ hơn: Học có chỉ
đạo, học tăng cường và học không chỉ đạo. Việc xác định r tùy thuộc vào từng
kiểu học.
+ Học có tín hiệu chỉ đạo: Là quá trình mạng học dựa vào sai số giữa đầu
ra thực và đầu ra mong muốn để làm cơ sở cho việc hiệu chỉnh trọng số. Sai số
này chính là hằng số học r. Luật học điển hình của nhóm này là luật học Delta
của Widrow (1962) nêu ra đầu tiên dùng để xấp xỉ trọng của Adaline dựa trên
nguyên tắc giảm gradient.
Trong nhóm luật học này cũng cần phải kể đến luật học Perceptron của
Rosenblatt (1958). Về cơ bản luật học này thay đổi các giá trị trọng trong thời
gian học, còn luật Perceptron thì thêm hoặc bỏ trọng tùy theo giá trị sai số dương
hay âm.
Một loạt các luật học khác cũng được dựa trên tư tưởng này. Luật Oja là
cải tiến và nâng cấp của luật Delta. Luật truyền ngược là luật mở rộng của luật
Delta cho mạng nhiều lớp. Đối với mạng truyền thẳng thường sử dụng luật
truyền ngược để chỉnh trọng với tín hiệu chỉ đạo từ bên ngoài và người ta gọi
mạng này là mạng lan truyền ngược.


19

+ Học không có tín hiệu chỉ đạo: Luật học này sử dụng đầu ra của mạng
làm cơ sở để hiệu chỉnh các trọng số liên kết. Hay trong luật này chính là tín hiệu
ra của mạng. Điển hình là luật Hebb (1949) thường dùng cho các mạng tự liên
kết, luật LVQ (Learning Vector Quantization) dùng cho mạng tự tổ chức một lớp
thuộc lớp mạng ánh xạ đặc trưng của Kohonen.
Luật học Hebb là luật sinh học xuất phát từ tiên đề của Hebb cho rằng:
Giữa hai nơ-ron có quan hệ và có thay đổi thế năng thì giữa chúng có sự thay đổi
trọng số liên kết. Nói cách khác, trọng số được điều chỉnh theo mối tương quan
trước và sau, nghĩa là:

∆Wij = ηy i x j , i = 1, N , j = 1, M

(1.13)

trong đó:
∆Wij là sự thay đổi trọng số liên kết từ nơ-ron j đến nơ-ron i.
x j: là tín hiệu vào nơ-ron j.

y i là tín hiệu ra của nơ-ron i.

η là tốc độ học, nằm trong khoảng (0,1).

Luật Hebb giải thích việc chỉnh trọng trong phạm vi cục bộ của mạng mà
không cần tín hiệu chỉ đạo từ bên ngoài. Hopfield cũng cải tiến luật Hebb cho
các mạng tự liên kết thành 16 dạng khác nhau theo kiểu luật Hebb, luật đối
Hebb, luật Hopfield...
Như vậy, ứng với mỗi nhóm mạng thường áp dụng một luật học nhất định.
Nếu tồn tại hàng chục loại mạng khác nhau thì các luật học dùng trong mạng nơron có thể tăng lên rất nhiều lần.


20

Đối với mạng phản hồi thường sử dụng luật Hebb và các luật cải tiến của
nó để chỉnh trọng mà không cần tín hiệu chỉ đạo từ bên ngoài.
+ Học tăng cường: Trong một số trường hợp, thông tin phản hồi chỉ là tín
hiệu bao gồm hai trạng thái cho biết tín hiệu đầu ra của mạng là đúng hay sai.
Quá trình học dựa trên các thông tin hướng dẫn như vậy được gọi là học có củng
cố (học tăng cường) và tín hiệu mang thông tin phản hồi được gọi là tín hiệu
củng cố cho quá trình học. Ta có thể thấy rằng quá trình học này là một dạng của
quá trình học có tín hiệu chỉ đạo bởi vì mạng nhận được một số thông tin phản
hồi từ bên ngoài.
- Học cấu trúc: Tìm kiếm các tham số của cấu trúc mạng để tìm ra một cấu
trúc mạng hoạt động tốt nhất. Trong thực tế, việc học cấu trúc là tìm ra số lớp ẩn
và tìm ra số nơ-ron trên mỗi lớp đó. Giải thuật di truyền thường được sử dụng
trong các cấu trúc nhưng thường chạy rất lâu, thậm chí ngay cả đối với mạng có
kích thước trung bình. Ngoài ra kỹ thuật gọt tỉa mạng hay mạng tăng dần cũng
được áp dụng trong việc học cấu trúc của mạng có kích thước tương đối nhỏ.
1.2. Phạm vị ứng dụng của mang nơron nhân tạo
1.2.1. Những bài toán thích hợp
Mạng nơron được coi như là hộp đen biến đổi véc-tơ đầu vào m biến
thành véctơ đầu ra n biến. Tín hiệu ra có thể là các tham số thực, (tốt nhất nằm
trong khoảng [0, 1], hoặc [-1, 1]), số nhị phân 0, 1, hay số lưỡng cực -1;+1. Số
biến của véc-tơ vào ra không bị hạn chế xong sẽ ảnh hưởng tới thời gian tính và
tải dữ liệu của máy tính. Nói chung, các lớp bài toán áp dụng cho nơ-ron có thể
được phân chia thành bốn loại:
1. Phân lớp (classification).


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×