1. Trang chủ
  2. » Luận Văn - Báo Cáo

Sử dụng mạng noron cho nhận dạng ký tự Tiếng Việt

58 569 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 58
Dung lượng 1,02 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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ế.. Tuy nhiên, do hạn chế về mặt th

Trang 1

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 Đại học sư phạm Hà Nội 2 đã 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 15 – Khoa học máy tính, cảm ơn các cán bộ công chức, giảng viên Trường Đại học sư phạm

Hà Nội 2 đã 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, gia đình đã tạo mọi điều kiện thuận lợi 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 để tôi có được kết quả như ngày hôm nay

Hà Nội, tháng 11/2013

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

Nguyễn Đức Thịnh

Trang 2

LỜI CAM ĐOAN

Tôi xin cam đoan đề tài luận văn “Sử dụng mạng noron cho nhận

dạng ký tự tiếng Việt” 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

Hà Nội, tháng 11/2013

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

Nguyễn Đức Thịnh

Trang 3

MỤC LỤC

Trang

LỜI CẢM ƠN 1

LỜI CAM ĐOAN 2

MỤC LỤC 3

DANH MỤC CÁC TỪ TIẾNG ANH VIẾT TẮT 6

DANH MỤC CÁC HÌNH 7

LỜI NÓI ĐẦU 8

CHƯƠNG 1 MỘT SỐ VẤN ĐỀ VỀ MẠNG NƠRON 10

1.1 Mạng Nơron sinh học 10

1.2 Mạng Nơ-ron nhân tạo 11

1.2.1 Nơ-ron nhân tạo 11

1.2.2 Mạng nơ-ron nhân tạo 17

1.2.2.1 Mạng truyền thẳng 18

1.2.2.2 Mạng hồi quy (Recurrent Neutral Network) 20

1.3 Đặc trưng của mạng nơron 21

1.4 Mạng KOHONEN 24

1.4.1 Giới thiệu về mạng Nơron Kohonen 24

1.4.2 Cấu trúc của mạng nơron Kohonen 25

1.4.3 Thực hiện mạng nơron Kohonen 27

1.4.3.1 Chuẩn hóa đầu vào 27

1.4.3.2 Tính toán đầu ra cho mỗi nơron 28

1.4.3.3 Chọn nơron chiến thắng 28

1.4.3.4 Quá trình học của mạng nơron Kohonen 29

1.4.4 Kết luận 33

CHƯƠNG 2 MỘT SỐ VẤN ĐỀ NHẬN DẠNG KÝ TỰ SỬ DỤNG MẠNG NƠRON 35

Trang 4

2.1 Nhận dạng ký tự 35

2.1.1 Giới thiệu về nhận dạng ký tự 35

2.1.2 Mô hình tổng quát của một hệ nhận dạng ký tự 38

2.2 Một số phương pháp nhận dạng ký tự 38

2.2.1 Đối sánh mẫu 38

2.2.2 Phương pháp tiếp cận cấu trúc 39

2.2.3 Mô hình Markov ẩn (HMM - Hidden Markov Model) 40

2.2.4 Máy véc tơ tựa (SVM) 40

2.2.5 Mạng nơron 41

2.2.5.1 Những bài toán thích hợp 41

2.2.5.2 Các lĩnh vực ứng dụng mạng nơron 41

CHƯƠNG 3 ỨNG DỤNG MẠNG KOHONEN CHO NHẬN DẠNG KÝ TỰ 43

3.1 Bài toán 43

3.1.1 Phát biểu bài toán 43

3.1.2 Ý tưởng bài toán 43

3.2 Xác định các tham số của mạng cho nhận dạng ký tự 43

3.2.1 Các bước giải quyết bài toán sử dụng mạng nơron Kohonen 43

3.2.1.1 Xây dựng giao diện vẽ 44

3.2.1.2 Xây dựng mạng nơron Kohonen 44

3.2.1.3 Xử lý dữ liệu (phân tích ảnh) 45

3.2.1.4 Huấn luyện mạng nơron Kohonen 46

3.2.1.5 Nhận dạng mạng nơron Kohonen 48

3.2.1.6 Kết luận 48

3.2.2 Giao diện chương trình 49

3.2.3 Quá trình nhận dạng 50

Trang 5

3.3 Tính toán và huấn luyện mạng Nơron 50

3.3.1 Tính toán đầu ra của mạng KOHONEN 50

3.3.2 Huấn luyện mạng nơron Kohonen 52

3.4 Kết quả chương trình 54

3.5 Kết quả đạt được, hướng phát triển 56

3.5.1 Kết quả 56

3.5.2 Hướng phát triển tiếp theo 56

KẾT LUẬN 57

TÀI LIỆU THAM KHẢO 58

Trang 6

DANH MỤC CÁC TỪ TIẾNG ANH VIẾT TẮT

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

Trang 7

Hình 1.6 Mạng nhiều lớp có nối ngược

Hình 1.7 Cấu trúc của mạng Kohonen

Hình 1.8 Mạng Kohonen điển hình

Hình 1.9 Huấn luyện mạng Kohonen

Hình 2.1 Mô hình tổng quát của một hệ nhận dạng ký tự

Hình 3.1 Quá trình tìm giới hạn ký tự

Hình 3.2 Quá trình lấy mẫu xuống

Hình 3.3 Quá trình ánh xạ từ ma trận điểm sang ma trận giá trị Hình 3.4 Quá trình huấn luyện mạng nơron kohonen

Hình 3.5 Giao diện chương trình mô phỏng

Hình 3.6 Nhận dạng ký tự N

Hình 3.7 Nhận dạng ký tự Ô

Hình 3.8 Nhận dạng ký tự Á

Trang 8

PHẦN MỞ ĐẦU

Công nghệ thông tin ngày nay càng ngày càng trở lên quan trọng trong cuộc sống hàng ngày của chúng ta Trong công nghệ thông tin, trí tuệ nhân tạo hiện nay đang được quan tâm rất nhiều của xã hội Nó như là một giải pháp mang đến hy vọng mới mô phỏng được 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 Bộ não con người có khả năng giải quyết rất nhiều vấn đề như: nghe, nhìn, nói, hồi ức thông tin, phân biệt, phân tích các mẫu dựa trên một số thông tin đã có Neural thần kinh chính là yếu tố chính giúp chúng ta có thể làm những công việc như vậy Bộ não phân công công 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 vực như y học, dự báo thời tiết, dự báo cháy rừng, …, các

Trang 9

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

Trang 10

CHƯƠNG 1 MỘT SỐ VẤN ĐỀ VỀ MẠNG NƠRON

1.1 Mạng Nơron sinh học

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

Trang 11

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

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 [3]

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.2 Mạng Nơ-ron nhân tạo

1.2.1 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à

Trang 12

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

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.[1]

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 được gán một trọng số j W tương ứng Ta ước lượng tổng tín ij

hiệu đi vào nơ-ron net itheo một số dạng sau:

Trang 13

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)

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)

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ị:

Trang 14

neáu x

g x

neáu x

1, ( )

ở đâ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:

1( )

g x

Ở đó 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ì 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)

Trang 15

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

Trang 16

Mô hình của một nút xử lý (nút thứ i):

Hình 1.2 Mô hình nơ-ron

Trang 17

1.2.2 Mạng nơ-ron nhân tạo

Mạng nơ-ron nhân tạo (Artificial Neural Network – ANN) 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 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 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

nơ-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

Ví dụ: Hình 1.2 là một 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ị:

Trang 18

neáu x

g x

neáu x

1, ( )

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

Với mỗi giá trị đầu vào: x= ë éx x ,x1, 2, nù û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à:

Trang 19

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 wij x j i

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

- 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

Trang 20

Hình (1.4) mô tả cấu trúc của mạng nơ-ron truyền thẳng nhiều lớp

1.2.2.2 Mạng hồi quy (Recurrent Neutral Network)

Mạng hồi quy một lớp có nối ngược

Mạng hồi quy nhiều lớp có nối ngược

X1

X2

XN

Hình 1.6 Mạng nhiều lớp có nối ngƣợc

Trang 21

1.3 Đặc trƣng của mạng nơron

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

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:

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

Trang 22

đồ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

đủ (NP-Complete )

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:

+ 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

Trang 23

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

+ 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à:

D : Là sự thay đổi trọng số liên kết từ nơ-ron j đến nơ-ron i

Trang 24

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

Đố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.4 Mạng KOHONEN

1.4.1 Giới thiệu về mạng Nơron Kohonen.[1]

Trong phần trước chúng ta đã nghiên cứu mạng nơron dẫn tiến sử dụng phương pháp lan truyền ngược Trong khi mạng nơron dẫn tiến rất phổ biến thì một cấu trúc mạng khác cũng rất phổ biến là mạng Kohonen

Trang 25

Mạng Nơron Kohonen (hay còn gọi là SOM (Self-Organizing Maps) - Bản đồ tự tổ chức) là một trong nhiều loại mạng thông minh nhân tạo (AI) do

cố giáo sư, tiến sĩ Teuvo Kohonen đề xướng vào những năm 70 của thế kỷ

Thông thường, mạng nơron Kohonen gồm một lớp đầu vào và lớp đầu ra Mạng này được đặt tên bởi tên người lập ra nó, cố giáo sư, tiến sĩ T Kohonen Mạng Kohonen khác biệt so với mạng nơron lan truyền ngược dẫn tiến ở cách huấn luyện và cách nó nhớ lại một mô hình Mạng Kohonen không sử dụng một loại hàm kích hoạt nào Xa hơn là nó không sử dụng loại trọng số bias nào

Đầu ra của mạng Kohonen không bao gồm đầu ra của một số nơron Khi có một mẫu được đưa vào mạng thì chỉ có một nơron đầu ra được lựa chọn gọi là nơron chiến thắng Nơron chiến thắng này chính là đầu ra của mạng Kohonen Thông thường thì các nơron chiến thắng này đại diện cho các nhóm dữ liệu đưa vào mạng Kohonen

Điểm khác biệt quan trọng nhất giữa mạng Kohonen va mạng nơron truyền thẳng lan truyền ngược là mạng nơron Kohonen học theo phương pháp học không giám sát, có nghĩa là mạng nơron Kohonen thao tác với dữ liệu nhưng đầu ra chính xác tương ứng với dữ liệu vào không được chỉ định trước

Sử dụng mạng nơron Kohonen, dữ liệu có thể được phân thành các nhóm

Mạng nơron Kohonen được sử dụng bởi vì nó là một mạng tương đối đơn giản về cấu trúc, và có thể huấn luyện rất nhanh

1.4.2 Cấu trúc của mạng nơron Kohonen

Thông thường, mạng nơron Kohonen gồm một lớp đầu vào và một lớp đầu ra Đầu tiên chúng ta xét về đầu vào và đầu ra của mạng

Trang 26

Các nơron đầu vào chỉ đơn giản cung cấp dữ liệu vào cho mạng chứ không có chức năng xử lý gì trên đấy Đối với mạng nơron Kohonen yêu cầu đầu vào được chuẩn hóa có giá trị trong phạm vi từ -1 đến +1

Đầu ra của mạng Kohonen không bao gồm đầu ra của một số nơron Đối với mạng nơron truyền thẳng, nếu có năm nơron đầu vào thì một đầu ra bao gồm năm giá trị Còn mạng nơron Kohonen khi có một mẫu được đưa vào mạng thì chỉ có một nơron đầu ra được lựa chọn gọi là nơron chiến thắng Nơron chiến thắng này chính là đầu ra của mạng nơron Kohonen Đầu ra của mạng nơron Kohonen thường là chỉ số của nơron chiến thắng, ví dụ Nơron

#5 Thông thường thì các nơron chiến thắng này đại diện cho các nhóm dữ liệu đưa vào mạng Kohonen Cấu trúc của một mạng nơron Kohonen được cho như hình 1.7:

Hình 1.7: Cấu trúc của mạng Kohonen

Trang 27

Hình 1.8 dưới đây là một mạng Kohonen điển hình

Hình 1.8: Mạng nơron Kohonen điển hình

1.4.3 Thực hiện mạng nơron Kohonen

1.4.3.1 Chuẩn hóa đầu vào

Mạng Kohonen yêu cầu đầu vào được chuẩn hóa Dữ liệu đầu vào nên

có giá trị nằm trong khoảng -1 đến 1 Nếu một hoặc nhiều hơn nơron đầu vào

sử dụng các giá trị chỉ nằm trong khoảng từ 0 đến 1 thì mạng nơron hoạt động không đảm bảo chất lượng, để chuẩn hóa đầu vào, việc đầu tiên chúng ta phải tính chiều dài véctơ của dữ liệu đầu vào

Chúng ta sẽ xém xét một mạng nơron Kohonen đơn giản Mạng này sẽ chỉ có 2 nơron đầu vào, và 2 nơron đầu ra Dữ liệu đầu vào được cho là 2 nơron được chỉ ra trong hình 1.9 và các trọng số kết nối giữa các nơron trong hình 1.10

Hình 1.9 Dữ liệu đầu vào nơron Hình 1.10 Trọng số kết nối giữa các nơron

Trang 28

Để chuẩn hóa dữ liệu đầu vào, chúng ta sẽ tính toán độ dài vector (vector length) của các dữ liệu đầu vào, hoặc vector đầu vào Trong trường hợp này độ dài vector sẽ là: (0.5 * 0.5) + (0.75 * 0.75) = 0.8125

Vậy trường hợp trên sẽ có độ dài vector là 0.8125 Sử dụng độ dài này, chúng ta có thể xác định được hệ số chuẩn hóa Hệ số chuẩn hóa là số nghịch đảo của căn bậc hai độ dài vector đầu vào Trong trường hợp trên thì hệ số chuẩn hóa là:

1.4.3.2 Tính toán đầu ra cho mỗi nơron

Để tính toán đầu ra cho mỗi véctơ đầu vào thì phải cùng xem xét véctơ đầu vào và trọng số Đầu tiên phải tính tích vô hướng của các nơron đầu vào

và các trọng số kết nối Tích vô hướng được tính bằng cách nhân mỗi phần tử trong hai véctơ với nhau Ta tính tổng của tích các phần tử của véctơ trọng số

và véctơ đầu vào Giả sử đầu vào là: X= {x1, x2, ,xN}, trọng số là W={wjl,

wj2, , wjN} thì tích vô hướng của X và W là:

N i i

x2 1

i i

Giá trị vừa được tính toán phải được ánh xạ thành số lưỡng cực Để ánh

xạ, chúng ta thêm 1 va chia cho 2, ta được:

Trang 29

1.4.3.3 Chọn nơron chiến thắng

Khi tính toán được đầu ra với từng nơron, tiến hành so sánh chúng để tìm xem nơron nào có đầu ra lớn nhất (khoảng cách nhỏ nhất) thì nơron đó được quyết định là nơron chiến thắng Như vậy ta đã tìm ra đầu ra của mạng nơron Kohonen Ta thấy giá trị này được quyết định bởi giá trị trọng số giữa đầu vào và đầu ra Như vậy ta điều chỉnh trọng số này để điều chỉnh giá trị đầu ra theo như nhiệm vụ yêu cầu

1.4.3.4 Quá trình học của mạng nơron Kohonen

Quá trình học là quá trình hiệu chỉnh trọng số Toàn bộ quá trình huấn luyện cho mạng nơron Kohonen bao gồm các chu kỳ lặp lại cho đến khi mức 1ỗi của mạng dưới một mức chấp nhận được Quá trình huấn luyện cho mạng

là cạnh tranh Với mỗi tập đầu vào sẽ tìm được một nơron chiến thắng Trọng

số của nơron chiến thắng sẽ được hiệu chỉnh, nó sẽ tác động trở lại mạnh mẽ hơn đối với đầu vào ở lần tiếp theo Các nơron chiến thắng là khác nhau đối với các mẫu khác nhau Khả năng nhận dạng các mẫu riêng biệt của chúng sẽ được tăng lên Đầu tiên chúng ta xét tổng quan quá trình huấn luyện cho mạng nơron Kohonen

Ngày đăng: 23/11/2016, 21:04

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Lê Bá Dũng, Bài giảng lớp cao học “Mạng nơ ron và ứng dụng”, ĐHCNTT& TT Thái nguyên, năm 2012 Sách, tạp chí
Tiêu đề: Mạng nơ ron và ứng dụng
[2] Trịnh Thị Phương Thảo, Nhận dạng chữ viết tay Tiếng Việt sử dụng mạng Nơron, LV thạc sỹ, Trường Đại học Công nghệ thông tin và Truyền thông, ĐHTN, năm 2011 Sách, tạp chí
Tiêu đề: Nhận dạng chữ viết tay Tiếng Việt sử dụng mạng Nơron
[3] Lê Tiến Công, Nhận dạng ký tự số bằng mạng Neuron, LV thạc sỹ, HV Kỹ thuật quân sự, năm 2009 Sách, tạp chí
Tiêu đề: Nhận dạng ký tự số bằng mạng Neuron
[4] Lương Mạnh Bá, Nguyễn Thanh Thuỷ Nhập môn xử lý ảnh số, Nhà xuất bản Khoa học và kỹ thuật, Hà Nội, năm 1999.Tiếng Anh Sách, tạp chí
Tiêu đề: Nhập môn xử lý ảnh số
Nhà XB: Nhà xuất bản Khoa học và kỹ thuật
[5] Amritha Sampath, Tripti C and Govindaru V. Freeman code based online handwritten character recognition for malayalam using backpropagation neural networks. Rajagiri School of Engineering and Technology, Kochi, India, 2012 Sách, tạp chí
Tiêu đề: Freeman code based online handwritten character recognition for malayalam using backpropagation neural networks
[6] Dr. Pankaj Agarwal. Hand-Written Character Recognition Using Kohonen Network. Dept. of Computer Sc, IMS Engineering College, Ghaziabad, U.P, India, 2011 Sách, tạp chí
Tiêu đề: Hand-Written Character Recognition Using Kohonen Network
[7] L. Behera and I. Kar . Intelligent systems and control: Principles and applications. Oxford University Press , India , 2009 Sách, tạp chí
Tiêu đề: Intelligent systems and control: Principles and applications
[8] C .M. Bishop. Neural networks for pattern recognition. Oxford University Press , USA, 1995 Sách, tạp chí
Tiêu đề: Neural networks for pattern recognition
[9] J . Mantas . An over view of character recognition methodologies . Pattern recognition, 1 9 (6 ):4 2 5 – 4 3 0 , 1986 Sách, tạp chí
Tiêu đề: An over view of character recognition methodologies . Pattern recognition

HÌNH ẢNH LIÊN QUAN

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. [3] - Sử dụng mạng noron cho nhận dạng ký tự Tiếng Việt
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. [3] (Trang 11)
Đồ thị hàm bước nhị phân (Binary step function) - Sử dụng mạng noron cho nhận dạng ký tự Tiếng Việt
th ị hàm bước nhị phân (Binary step function) (Trang 14)
Đồ thị hàm sigmoid - Sử dụng mạng noron cho nhận dạng ký tự Tiếng Việt
th ị hàm sigmoid (Trang 15)
Hình 1.2. Mô hình nơ-ron - Sử dụng mạng noron cho nhận dạng ký tự Tiếng Việt
Hình 1.2. Mô hình nơ-ron (Trang 16)
Hình 1.5. Mạng một lớp có nối ngƣợc - Sử dụng mạng noron cho nhận dạng ký tự Tiếng Việt
Hình 1.5. Mạng một lớp có nối ngƣợc (Trang 20)
Hình 1.7: Cấu trúc của mạng Kohonen - Sử dụng mạng noron cho nhận dạng ký tự Tiếng Việt
Hình 1.7 Cấu trúc của mạng Kohonen (Trang 26)
Hình 1.8 dưới đây là một mạng Kohonen điển hình. - Sử dụng mạng noron cho nhận dạng ký tự Tiếng Việt
Hình 1.8 dưới đây là một mạng Kohonen điển hình (Trang 27)
Hình 1.9:  Huấn luyện mạng Kohonen (SOM) - Sử dụng mạng noron cho nhận dạng ký tự Tiếng Việt
Hình 1.9 Huấn luyện mạng Kohonen (SOM) (Trang 30)
Hình 2.1: Mô hình tổng quát của một hệ nhận dạng ký tự - Sử dụng mạng noron cho nhận dạng ký tự Tiếng Việt
Hình 2.1 Mô hình tổng quát của một hệ nhận dạng ký tự (Trang 38)
Hình 3.1: Quá trình tìm giới hạn ký tự - Sử dụng mạng noron cho nhận dạng ký tự Tiếng Việt
Hình 3.1 Quá trình tìm giới hạn ký tự (Trang 44)
Hình 3.4: Quá trình huấn luyện mạng nơron Kohonen - Sử dụng mạng noron cho nhận dạng ký tự Tiếng Việt
Hình 3.4 Quá trình huấn luyện mạng nơron Kohonen (Trang 47)
Hình 3.5: Giao diện chương trình mô phỏng - Sử dụng mạng noron cho nhận dạng ký tự Tiếng Việt
Hình 3.5 Giao diện chương trình mô phỏng (Trang 49)
Hình 3.6: Nhận dạng ký tự N - Sử dụng mạng noron cho nhận dạng ký tự Tiếng Việt
Hình 3.6 Nhận dạng ký tự N (Trang 54)
Hình 3.7: Nhận dạng ký tự Ô - Sử dụng mạng noron cho nhận dạng ký tự Tiếng Việt
Hình 3.7 Nhận dạng ký tự Ô (Trang 54)
Hình 3.8: Nhận dạng ký tự Á - Sử dụng mạng noron cho nhận dạng ký tự Tiếng Việt
Hình 3.8 Nhận dạng ký tự Á (Trang 55)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w