ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

MAI QUỐC AN

MỘT SỐ KỸ THUẬT TRÍCH CHỌN ĐẶC TRƯNG CHỮ VIẾT TAY TRONG NHẬP ĐIỂM RÈN LUYỆN TỰ ĐỘNG

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Thái Nguyên - 2016

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

MAI QUỐC AN

MỘT SỐ KỸ THUẬT TRÍCH CHỌN ĐẶC TRƯNG CHỮ VIẾT TAY TRONG NHẬP ĐIỂM RÈN LUYỆN TỰ ĐỘNG

Chuyên ngành: Khoa học máy tính

Mã số: 60.48.01.01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC

TS. Vũ Duy Linh

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Thái Nguyên - 2016

i

LỜI CAM ĐOAN

Tôi xin cam đoan toàn bộ nội dung bản luận văn này là do tôi tự sưu tầm, tra

cứu và sắp xếp cho phù hợp với nội dung yêu cầu của đề tài.

Nội dung luận văn này chưa từng được công bố hay xuất bản dưới bất kỳ hình

thức nào và cũng không được sao chép từ bất kỳ một công trình nghiên cứu nào.

Tất cả phần mã nguồn của chương trình đều do tôi tự thiết kế và xây dựng,

trong đó có sử dụng một số thư viện chuẩn và các thuật toán được các tác giả xuất

bản công khai và miễn phí trên mạng Internet.

Nếu sai tôi xin hoàn toàn chịu trách nhiệm.

Thái Nguyên, ngày tháng 07 năm 2016

i

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Người cam đoan

ii

LỜI CẢM ƠN

Trong quá trình học tập và nghiên cứu tại lớp Cao học khóa 12 chuyên ngành

Khoa học máy tính tại trường ĐH Công nghệ thông tin và truyền thông - Đại học

Thái Nguyên, tôi đã nhận được rất nhiều sự chỉ bảo, dìu dắt, giảng dậy nhiệt tình của

các thầy, cô giáo trong Viện công nghệ thông tin. Các thầy cô giáo quản lý trong

trường ĐH Công nghệ thông tin và truyền thông - Đại học Thái Nguyên đã luôn

giúp đỡ, tạo điều kiện tốt nhất cho tôi trong quá trình công tác cũng như học tập.

Nhân dịp này tôi xin bày tỏ lời cảm ơn chân thành tới tập thể các thầy, cô giáo trong

Viện công nghệ thông tin, các thầy cô giáo trong trường ĐH Công nghệ thông tin

và truyền thông - Đại học Thái Nguyên.

Tôi xin chân thành cảm ơn sâu sắc tới thầy giáo TS. Vũ Duy Linh đã cho tôi

nhiều ý kiến đóng góp quý báu, đã tận tình hướng dẫn và tạo điều kiện cho tôi hoàn

thành tốt luận văn tốt nghiệp này.

Tôi xin cảm ơn các đồng nghiệp và người thân đã động viên, giúp đỡ tôi trong

quá trình nghiên cứu và thực hiện luận văn này.

Quá trình thực hiện đề tài không tránh khỏi các thiếu sót, rất mong tiếp tục nhận

được sự đóng góp ý kiến của các thầy, các cô giáo, các bạn đồng nghiệp đối với đề

tài nghiên cứu của tôi để đề tài được hoàn thiện hơn.

Tôi xin trân trọng cảm ơn!

ii

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Thái Nguyên, ngày tháng 07 năm 2016

iii

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

MỤC LỤC PHẦN MỞ ĐẦU ................................................................................................... 1 Chương 1: KHÁI QUÁT VỀ NHẬP ĐIỂM RÈN LUYỆN TỰ ĐỘNG VÀ TRÍCH CHỌN ĐẶC TRƯNG CHỮ VIẾT TAY ...................................................... 2 1.1. Khái quát về nhập điểm rèn luyện tự động ............................................ 2 1.1.1. Quản lý và nhập điểm rèn luyện tự động ............................................ 2 1.1.2. Kiến trúc một hệ thống nhận dạng điểm rèn luyện sử dụng mạng nơron nhân tạo ........................................................................................................ 5 1.2. Khái quát trích chọn đặc trưng chữ viết tay ........................................ 13 1.2.1. Đặc trưng màu sắc .............................................................................. 15 1.2.2. Đặc trưng hình dạng .......................................................................... 16 1.2.3. Đặc trung kết cấu ................................................................................ 17 1.2.4. Đặc trung cục bộ bất biến .................................................................. 17 Chương 2: NHẬN DẠNG PHIẾU ĐIỂM SỬ DỤNG MẠNG NƠ RON ...... 19 2.1. Thiết kế mạng nơron nhân tạo ............................................................... 19 2.1.1. Các bước thiết kế ................................................................................ 19 2.1.2. Chi tiết các bước thiết kế một mạng nơron ....................................... 19 2.2. Các kỹ thuật trích chọn đặc trưng ......................................................... 24 2.2.1. Kỹ thuật trích chọn đặc trưng kết hợp biến đổi DCT và thuật toán phân tích thành phần chính PCA ........................................................................ 24 2.2.2 Kỹ thuật trích đặc trưng sử dụng Momen Legendre ......................... 27 2.2.3. Kỹ thuật sử dụng mạng Neural nhân chập (Convolution neural network) ................................................................................................................. 32 2.3. Huấn luyện mạng..................................................................................... 35 2.3.1. Các phương pháp học ......................................................................... 35 2.3.2. Học có giám sát trong các mạng nơron ............................................. 36 2.3.3. Thuật toán lan truyền ngược Back-Propagation .............................. 37 2.4. Nhận dạng sử dụng mạng nơron ........................................................... 49 2.4.1. Khả năng sử dụng mạng nơron trong nhận dạng ............................ 49 2.4.2. Mô hình nhận dạng hệ thống sử dụng mạng nơron ........................ 49 2.4.3. Nhận dạng hệ thống sử dụng mạng nơron ....................................... 51 Chương 3: CHƯƠNG TRÌNH THỬ NGHIỆM .............................................. 52 3.1. Đặc trưng của phiếu điểm ...................................................................... 52 3.2. Bài toán ..................................................................................................... 53 3.3. Tiền xử lý .................................................................................................. 54 3.4. Phân đoạn và trích chọn đặc trưng ....................................................... 57 3.5. Huấn luyện và nhận dạng ....................................................................... 57 3.6. Hậu xử lý .................................................................................................. 58 iii

iv

PHẦN KẾT LUẬN ............................................................................................. 58 TÀI LIỆU THAM KHẢO ................................................................................. 60

CÁC CHỮ VIẾT TẮT

Từ viết tắt Ý nghĩa

CSDL Cơ sở dữ liệu

MCP Mô hình McCulloch và Pitts

MSE Mean-Square Error

BP Back-Propagation

PCA Principal Component Analysis

iv

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

OMR Optical Mark Recognition)

v

MỤC LỤC HÌNH ẢNH

v

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Hình 1: Nơron đơn giản ........................................................................................ 7 Hình 2: Nơron phức tạp hơn ................................................................................. 7 Hình 3: mạng truyền thẳng .................................................................................... 9 Hình 4: mạng hồi quy đơn giản........................................................................... 10 Hình 5: Perceptron .............................................................................................. 11 Hình 6: Sự khác nhau giữa hồi quy tuyến tính và mạng nơron .......................... 12 Hình 7: Các bước cơ bản trong hệ thống nhận dạng văn bản ............................. 14 Hình 8: Ví dụ về xác định các đặc trưng của ảnh ............................................... 15 Hình 9: Ảnh hưởng của vector riêng, giá trị riênglên tập dữ liệu ....................... 24 Hình 10: Các bước trích chọn đặc trưng bằng biến DCT kết hợp PCA ............. 26 Hình 11: Biến đổi DCT và cách lấy dữ liệu theo đường zigzag ......................... 27 Hình 12: Họ đa thức Legendre ............................................................................ 29 Hình 13: Thao tác nhân chập .............................................................................. 33 Hình 14: Quá trình trích chọn đặc trưng sử dụng mạng Neural nhân chập ........ 34 Hình 15: Minh họa quá trình lấy đặc trưng bằng mạng Neuron nhân chập ....... 34 Hình 16: Mô hình học có giám sát. ..................................................................... 36 Hình 17: Mạng lan truyền với một lớp ẩn. .......................................................... 38 Hình 18: xấp xỉ của mạng trong các trường hợp i = 1, 2, 4, 8 ............................ 42 Hình 19: Xác định tần số. .................................................................................... 47 Hình 20: Mô hình nhận dạng cơ bản. .................................................................. 50 Hình 21: Mẫu phiếu điểm đánh giá rèn luyện ..................................................... 52 Hình 22: Mẫu phiếu điểm tổng kết ..................................................................... 53 Hình 23: Nhị phân hóa ảnh. ................................................................................ 54 Hình 24: Lọc nhiễu.............................................................................................. 55 Hình 25: Chuẩn hóa kích thước ảnh các số “4” và “6”. ..................................... 55 Hình 26: Làm tròn biên chữ. ............................................................................... 56 Hình 27: Làm mảnh chữ. .................................................................................... 56

vi

Hình 28: Tách thông tin phiếu điểm. .................................................................. 57

vi

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

1

PHẦN MỞ ĐẦU

Công nghệ thông tin đang là một trong những ngành then chố t trong quá trình công nghiê ̣p hó a hiê ̣n đại hóa đất nước. Viê ̣c triển khai nghiên cứ u các công trình khoa học và đưa vào thực tế ứng du ̣ng góp phần giải phó ng sứ c lao đô ̣ng con ngườ i, tiết kiê ̣m thờ i gian, nâng cao hiê ̣u suất công viê ̣c là mô ̣t viê ̣c làm hết sứ c có ý nghĩa trong giai đoa ̣n này.

Bài toán nhâ ̣n dạng chữ viết tay xuất hiện cách đây khá lâu và đã được ứng dụng rất hiệu quả trong nhiều lĩnh vực khác nhau như y tế, giáo dục, quốc phòng, nghiên cứu vũ trụ.

Trong quá trình công tác, tôi nhận thấy rằng: Việc xử lý kết quả đánh giá rèn luyện của sinh viên hiện nay hầu hết ở các trường được thực hiện một cách thủ công. Quy trình đánh giá rèn luyện của học sinh - sinh viên được tiến hành từ cấp lớp đến cấp khoa và cấp trường. Kết quả đánh giá rèn luyện được giảng viên nhập vào bảng tổng hợp dựa trên phiếu đánh giá rèn luyện. Việc nhập điểm thủ công như vậy tốn khá nhiều công sức và khả năng nhầm lẫn cao.

Để giải quyết vấn đề trên đòi hỏi chúng ta phải xây dựng được các công cụ hữu hiệu trong việc nhận dạng chữ viết tay và sẽ đem la ̣i các lơ ̣i ích sau khi đưa vào ứ ng du ̣ng thực tế:

- Giảm lượng nhân công nhập điểm.

- Độ chính xác cao.

- Tiết kiệm thời gian, công sức.

- Dễ dàng giám sát tiến trình nhập điểm, giúp đưa ra cách giải quyết phù hợp khi

có sai sót xảy ra.

Trong phạm vi một đề tài luận văn thạc sỹ, tôi sẽ đi sâu vào tìm hiểu kỹ thuật trích chọ đặc trưng nhận dạng chữ viết tay trên phiếu đánh giá kết quả rèn luyện. Do đó tôi chọn đề tài: “Một số kỹ thuật trích chọn đặc trưng chữ viết tay trong nhập điểm rèn luyện tự động”.

2

Chương 1: KHÁI QUÁT VỀ NHẬP ĐIỂM RÈN LUYỆN TỰ ĐỘNG VÀ

TRÍCH CHỌN ĐẶC TRƯNG CHỮ VIẾT TAY

1.1. Khái quát về nhập điểm rèn luyện tự động

1.1.1. Quản lý và nhập điểm rèn luyện tự động

Hiện nay, đánh giá kết quả rèn luyện của học sinh, sinh viên các trường đại học,

cao đẳng và trung học chuyên nghiệp nhằm góp phần thực hiện mục tiêu giáo dục là

đào tạo con người Việt Nam phát triển toàn diện, có đạo đức, tri thức, sức khỏe, thẫm

mỹ và nghề nghiệp, trung thành với lý tưởng độc lập dân tộc và chủ nghĩa xã hội;

hình thành và bồi dưỡng nhân cách, phẩm chất và năng lực của công dân, đáp ứng yêu

cầu xây dựng và bảo vệ Tổ quốc.

Việc đánh giá kết quả rèn luyện của học sinh, sinh viên là việc làm thường xuyên

ở các trường. Quá trình đánh giá phải đảm bảo chính xác, công bằng, công khai và

dân chủ.

Có nhiều bài toán hiệu quả và tin cậy để giải quyết khâu nhập điểm như các bài

toán điều tra xã hội học, thi tuyển sinh qua trắc nghiệm, nhập chứng từ ngân hàng,

nhập các tờ khai thuế...Khó khăn ở chỗ khối lượng nhập rất nhiều và việc kiểm soát

độ chính xác trong quá trình nhập.

Để tăng tốc độ nhập dữ liệu, một số phương pháp được nghiên cứu là:

- Phân tải để có thể nhập từ nhiều nguồn, nhiều đầu mối;

- Nhập qua các giá mang tính trung gian để tận dụng được nhiều phương pháp,

nhiều đầu mối, sau đó dùng các công cụ để chuyển về định dạng cần thiết;

- Nhập qua giao diện âm thanh hoặc hình ảnh, trong đó hình ảnh là phương pháp

được quan tâm nhiều hơn. Đã có nhiều thành công trong các hệ thống nhận dạng chữ

viết, nhận dạng các form tài liệu, nhận dạng các phiếu đánh dấu.

3

Để tăng độ tin cậy, người ta thường phải áp dụng các biện pháp tìm sai sót và

chỉnh sửa như:

- Kiểm lỗi trực tiếp;

- Nhập hai lần từ hai người khác nhau để phát hiện sai lệch;

- Tăng cường độ tin cậy của các hệ nhập liệu tự động;

- Phát hiện những ràng buộc toàn vẹn để đặt ra các cơ chế kiểm soát tự động theo

các ràng buộc và trong nhiều truờng hợp có thể tự sửa lỗi.

Trong hệ thống quản lý rèn luyện hiện nay có một vài giải pháp nhập điểm đã

được đưa vào để thực hiện như nhập liệu thủ công trực tiếp, nhập điểm trực tuyến,

nhập điểm theo lô từ file, và nhập điểm bằng nhận dạng ảnh phiếu điểm.

Việc nhập điểm bằng nhận dạng ảnh phiếu điểm: Một trong các giải pháp nhập

điểm khác được áp dụng là dùng các phiếu ghi điểm được viết theo những định dạng

đặc biệt. Sau đó bảng điểm được quét vào thành một ảnh và dùng một phần mềm

nhận dạng để biết cột nào được đánh dấu để suy ra điểm và ghi vào CSLD. Giải pháp

này có ưu điểm là giảm tải cho phòng Công tác học sinh - sinh viên, thay vì việc phải

nhập điểm chỉ cần quét ảnh, sau đó chạy phần mềm nhận dạng. Tuy nhiên vẫn phải in

bảng điểm và mời giáo viên lên ký.

* Quy trình chung một hệ thống nhập điểm tự động.

Quy trình chung của một hệ thống nhập điểm tự động thường bao gồm:

- Quét ảnh: quét ảnh phiếu điều tra và lưu dưới dạng ảnh raster: Quét trực tiếp

các loại phiếu điều tra thông qua máy quét. Đọc và xử lý hơn 30 dạng tệp tin ảnh phổ

dụng nhất như PCX, BMP, TIF, GIF, JPG, ... Có thể nhận dạng trực tiếp phiếu điều

tra thông qua máy quét, không cần lưu trữ dưới dạng tệp ảnh trung gian. Các phiếu

điều tra có thể được quét và lưu trữ dưới dạng tệp tin cơ sở dữ liệu.

4

- Tiền xử lý: nối các đường đứt nét, quay ảnh, xoá nhiễu,... lấp lỗ hổng. co dãn,

vuốt trơn đường, phát hiện góc nghiêng, độ dịch chuyển và hiệu chỉnh 1 cách tự

động...

- Lựa chọn vùng: Markread hiển thị phiếu mẫu sạch đẹp chưa điền thông tin và

chọn các vùng và điền thông tin liên quan đến chúng.

- Học form: vùng được lựa chọn có thể chứa nhiều ô hình chữ nhật trên ảnh mẫu

và tách ra các ô chữ nhật, elip và chúng được sử dụng cho trường OMR

* Dữ liệu đầu vào:

Phiếu điểm: là các ảnh đen trắng hoặc đa cấp xám từ đĩa hoặc từ Scanner. Khi đó

yêu cầu chung về dữ liệu là các tệp ảnh có thể có nhiễu, nghiêng và dịch chuyển

nhưng hạn chế, các bản in và photocopy tương đối rõ ràng. Hầu hết các khuôn dạng

thông thường như TIFF, GIF, PCX, BMP, JPG,... Các ảnh này gồm các ô hình vuông,

chữ nhật, tròn, e-lip có thể đánh dấu, chữ và chữ số có hạn chế.

- Nhận dạng phiếu điểm: Tự động nhặt ra các đối tượng theo mẫu đã chỉ ra trong

các phiếu mẫu. Ở giai đoạn này đối với mỗi đối tượng cần nhận dạng sẽ được tiến

hành theo các bước cơ bản: Xử lý sơ bộ, trích chọn các đặc trưng liên quan đến mẫu,

đối sánh các đặc trưng của đối cần nhận dạng với mẫu.

- Hiệu chỉnh: Hiệu chỉnh bằng tay hoặc tự động các vị trí trong phiếu mẫu.

- Trích chọn đặc trưng mẫu: Tự động phân tích và tách các vùng này các đối

tượng riêng lẻ (cô lập đối tượng) và tính đặc trưng cho các hình này rồi lưu vào tệp

mẫu học.

* Dữ liệu ra:

- Tệp kết quả của nhận dạng được đưa ra theo các qui cách DBF, MDB, XLS.

- Mỗi phiếu là một bản ghi gồm các trường tương ứng với các đối tượng cần

nhận dạng (hình vuông, chữ nhật, hình tròn, e-lip) đã được điền.

5

- Tên các trường được sinh ra một cách tự động hoặc được người dùng đưa vào.

Tiếp cận phương pháp nhận dạng nhãn quang học hiện đại:

- Tự động xử lý các bản kiểm tra, phiếu thăm dò, câu hỏi và các phiếu mẫu.

1.1.2. Kiến trúc một hệ thống nhận dạng điểm rèn luyện sử dụng mạng nơron

nhân tạo

1.1.2.1. Khái niệm mạng nơron nhân tạo

Mạng nơron nhân tạo hay thường gọi ngắn gọn là mạng nơron, trong tiếng anh là

Artificial Neural Network. Nó gồm có một nhóm các nơron nhân tạo 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. Trong

nhiều trường hợp, mạng nơron nhân tạo là một hệ thống thích ứng, 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.

Một mạng nơron nhân tạo được cấu hình cho một ứng dụng cụ thể (nhận dạng

mẫu, phân loại dữ liệu, ...) thông qua một quá trình học từ tập các mẫu huấn luyện. Về

bản chất, học chính là quá trình hiệu chỉnh trọng số liên kết giữa các nơron.

1.1.2.2. Lịch sử phát triển của mạng nơron

Một trong những mô hình điển hình của mạng noron chính là não bộ của con

người. Bộ não người là một mạng noron có cấu tạo vô cùng phức tạp. Con người đã

nghiên cứu nó 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, con người đã bắt đầu nghiên cứu

các nơron và sự kiện đầu tiên đánh dấu sự ra đời của mạng nơron nhân tạo 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. Năm 1949 cuốn sách Organization of Behavior

của Donald Hebb được xuất bản đã 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.

6

Những tiến bộ của máy tính đầu những năm 1950, dự án Dartmouth nghiên cứu

về trí tuệ nhân tạo năm 1956 đã 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. 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 - một thuật ngữ trong học máy, đó là một thuật

toán phân loại. 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.

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

Ngày nay, đi xa hơn mức nghiên cứu lý thuyết, các nhà khoa học đã nghiên cứu

mạng nơron để cho ra các ứng dụng có khả năng 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 hoàn thiện hơn.

1.1.2.3. Mô hình nơron

a. Nơron nhân tạo đơn giản

Một nơron nhân tạo đơn giản là một thiết bị với nhiều đầu vào và có một đầu ra.

Nơron có hai chế độ hoạt động: chế độ huấn luyện và chế độ sử dụng. Trong chế độ

huấn luyện, nơron có thể được huấn luyện với một số các mẫu đầu vào tới khi không

được sử dụng nữa. Trong chế độ sử dụng thì khi phát hiện một mẫu đã học tại đầu

vào, đầu ra của nó sẽ trở thành đầu ra hiện tại. Nếu mẫu đầu vào không thuộc vào

danh sách mẫu đã học thì luật loại bỏ được sử dụng để tiếp tục dùng hay loại bỏ

nơron. Hình 1 mô tả một nơron đơn giản đó.

7

Hình 1: Nơron đơn giản

b. Nơron phức tạp hơn (Mô hình McCulloch và Pitts: MCP)

Sự khác biệt với mô hình đơn giản ở trên là đầu vào của mô hình này có trọng

số, hiệu quả của nó là mỗi đầu vào có một sự đưa ra quyết định phụ thuộc vào trọng

số của từng đầu vào. Trọng số của một đầu vào là một số mà khi nhân với

đầu vào thì ta có được trọng số đầu vào. Những đầu vào trọng số này được nhóm

lại với nhau và nếu chúng vượt quá giá trị ngưỡng thì nơron sẽ bị loại bỏ. Với các

trường hợp khác thì nơron không bị loại bỏ.

Hình 2:Nơron phức tạp hơn

Ví dụ ta có giá trị ngưỡng là T thì về mặt toán học, nơron này sẽ bị loại bỏ khi và

chỉ khi bất đẳng thức sau xảy ra:

X1.W1 + X2.W2 + X3.W3 + … > T

Sự thêm vào trọng số đầu vào và giá trị ngưỡng của nơron làm cho nó

8

linh hoạt và mạnh hơn. Nơron MCP có khả năng thích nghi với hoàn cảnh cụ thể

như là thay đổi trọng số hay giá trị ngưỡng.

1.1.2.4. 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 câu 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 rõ ràng. Những câu

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. Nếu các bước cụ thể mà máy tính cần

tuân theo được chỉ ra không 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 mạng nơron học theo mô 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.

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

9

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.2.5. Một số kiến trúc mạng nơron dùng nhận dạng mẫu

a. Mạng truyền thẳng

Mạng truyền thẳng (hình 3) cho phép tín hiệu truyền chỉ theo một đường từ đầu

vào tới đầu ra, không có sự phản hồi hay lặp lại. Mạng này có xu hướng truyền thẳng

giữa đầu vào với đầu ra. Chúng được dùng rộng rãi trong nhận dạng mẫu. Cách tổ

chức trong mạng truyền thẳng là tham chiếu tới phương pháp từ dưới lên hoặc là từ

trên xuống.

Hình 3:mạng truyền thẳng

b. Mạng hồi quy

Mạng hồi quy có kiến trúc tương tự mạng truyền thẳng (hình 2.3) nhưng có điểm

khác nhau đó là nó cho phép tín hiệu truyền theo cả hai hướng. Mạng hồi quy truyền

tín hiệu rất tốt và có thể trở lên rất phức tạp. Nó có tính động; trạng thái của nó thay

đổi liên tục tới khi đạt tới điểm trạng thái cân bằng. Chúng duy trì điểm cân bằng tới

khi đầu vào thay đổi và cần tìm một một trạng thái cân bằng mới. Kiến trúc hồi quy

có thể tham chiếu tới việc tương tác.

c. Các lớp mạng

10

Các loại phổ biến nhất của mạng nơron nhân tạo bao gồm ba nhóm hoặc lớp của

các đơn vị: một lớp của các đơn vị "đầu vào" được kết nối với một lớp của các đơn vị

"ẩn", và lớp đơn vị “ẩn” này được kết nối với một lớp của đơn vị"đầu ra". (xem hình 4)

•Hoạt động của các đơn vị đầu vào mô tả các thông tin thô được đưa vào mạng.

•Hoạt động của từng đơn vị ẩn được xác định bởi các hoạt động của các đơn vị

đầu vào và trọng số trên các kết nối giữa đầu vào và các đơn vị ẩn.

•Hành vi của các đơn vị đầu ra phụ thuộc vào hoạt động của các đơn vị ẩn và

trọng số giữa các đơn vị ẩn và đầu ra.

Hình 4:mạng hồi quy đơn giản

Loại mạng hồi quy đơn giản này khá thú vị bởi vì các đơn vị ẩn được tự do xây

dựng đại diện đầu vào riêng của chúng. Trọng số giữa đầu vào và các đơn vị ẩn xác

định khi mỗi đơn vị ẩn đang hoạt động. Do đó bằng cách thay đổi các trọng số, một

đơn vị ẩn có thể chọn cái nó đại diện.

Chúng ta cũng phân biệt kiến trúc lớp đơn và kiến trúc nhiều lớp. Tổ chức lớp

đơn, trong đó tất cả các đơn vị được kết nối với nhau, tạo thành trường hợp tổng quát

nhất và là sức mạnh tính toán tiềm năng hơn tổ chức nhiều lớp cấu trúc phân cấp.

Trong các mạng đa lớp, các đơn vị thường được đánh số theo lớp, thay vì đánh số

theo toàn bộ hệ thống mạng.

11

d. Perceptrons

Nghiên cứu có ảnh hưởng nhất trên mạng nơron trong những năm 60 được tiến

hành dưới tiêu đề của “perceptron” một thuật ngữ được đặt ra bởi Frank Rosenblatt.

Perceptron (hình 5) trở thành một mô hình MCP (nơron với đầu vào trọng số) với một

số bổ sung, sửa chữa, tiền xử lý. Các đơn vị có nhãn A1, A2, Aj, Ap được gọi là đơn

vị kết nối và nhiệm vụ của chúng là trích xuất các đặc điểm riêng biệt từ những hình

ảnh đầu vào. Perceptron bắt chước các ý tưởng cơ bản đằng sau hệ thống thị giác

động vật có vú. Chúng chủ yếu được sử dụng trong mô hình nhận dạng mẫu mặc dù

khả năng của chúng được mở rộng hơn rất nhiều.

Hình 5: Perceptron

1.1.2.6.Ứng dụng của mạng nơron nhân tạo

Khả năng học và xử lý song song là hai đặc trưng của mạng nơron nhân tạo. Nó

có thể mô tả gần đúng mối quan hệ tương quan phức tạp giữa các yếu tố đầu vào và

đầu ra của các quá trình cần nghiên cứu. Thêm vào đó thì khi đã học được thì việc

kiểm tra độc lập thường cho kết quả tốt. Sau khi đã học xong, mạng nơron nhân tạo có

thể tính toán kết quả đầu ra tương ứng với bộ số liệu đầu vào mới.

12

Về mặt cấu trúc, mạng nơron nhân tạo là một hệ thống gồm nhiều phần tử xử lý

đơn giản cùng hoạt động song song. Tính năng này của mạng nơron nhân tạo cho

phép nó có thể được áp dụng để giải các bài toán lớn.

Về khía cạnh toán học, theo định lý Kolmogorov, một hàm liên tục bất kỳ f(x1,

(1.1)

x2,.. , xn ) xác định trên khoảng In ( với I =[0,1]) có thể được biểu diễn dưới dạng:

trong đó : χj , Ψij là các hàm liên tục một biến. Ψij là hàm đơn điệu, không phụ

thuộc vào hàm f. Mặt khác, mô hình mạng nơron nhân tạo cho phép liên kết có trọng

số các phần tử phi tuyến (các nơron đơn lẻ) tạo nên dạng hàm tổng hợp từ các hàm

thành phần. Do vậy, sau một quá trình điều chỉnh sự liên kết cho phù hợp (quá trình

học), các phần tử phi tuyến đó sẽ tạo nên một hàm phi tuyến phức tạp có khả năng

xấp xỉ hàm biểu diễn quá trình cần nghiên cứu. Kết quả là đầu ra của nó sẽ tương tự

với kết quả đầu ra của tập dữ liệu dùng để luyện mạng. Khi đó ta nói mạng nơron

nhân tạo đã học được mối quan hệ tương quan đầu vào - đầu ra của quá trình và lưu

lại mối quan hệ tương quan này thông qua bộ trọng số liên kết giữa các nơron. Do đó,

mạng nơron nhân tạo có thể tính toán trên bộ số liệu đầu vào mới để đưa ra kết quả

đầu ra tương ứng.

Hình 6: Sự khác nhau giữa hồi quy tuyến tính và mạng nơron

13

Với những đặc điểm đó, mạng nơron nhân tạo đã được sử dụng để giải quyết

nhiều bài toán thuộc nhiều lĩnh vực của các ngành khác nhau. Các nhóm ứng dụng mà

mạng nơron nhân tạo đã được áp dụng rất có hiệu quả là:

•Bài toán phân lớp: Loại bài toán này đòi hỏi giải quyết vấn đề phân loại các đối

tượng quan sát được thành các nhóm dựa trên các đặc điểm của các nhóm đối tượng

đó. Đây là dạng bài toán cơ sở của rất nhiều bài toán trong thực tế: nhận dạng chữ

viết, tiếng nói, phân loại gen, phân loại chất lượng sản phẩm,…

•Bài toán dự báo: Mạng nơron nhân tạo đã được ứng dụng thành công trong việc

xây dựng các mô hình dự báo sử dụng tập dữ liệu trong quá khứ để dự đoán số liệu

trong tương lai. Đây là nhóm bài toán khó và rất quan trọng trong nhiều ngành khoa

học.

•Bài toán điều khiển và tối ưu hoá: Nhờ khả năng học và xấp xỉ hàm mà mạng

nơron nhân tạo đã được sử dụng trong nhiều hệ thống điều khiển tự động cũng như

góp phần giải quyết những bài toán tối ưu trong thực tế.

Tóm lại, mạng nơron nhân tạo được xem như là một cách tiếp cận đầy tiềm năng

để giải quyết các bài toán có tính phi tuyến, phức tạp và đặc biệt là trong tình huống

mối quan hệ bản chất vật lý của quá trình cần nghiên cứu không dễthiết lập tường minh.

1.2. Khái quát trích chọn đặc trưng chữ viết tay

Nhận dạng chữ là lĩnh vực được nhiều nhà nghiên cứu quan tâm và cho đến nay

lĩnh vực này cũng đã đạt được nhiều thành tựu lớn và cả mặt lý thuyết lẫn thực tế.

Lĩnh vự nhận dạng chữ được chia làm hai loại: Nhận dạng chữ in và nhận dạng chữ

viết tay.

Nhận dạng chữ in đã được giải quyết gần như trọn vẹn (sản phẩm FineReader

9.0 của hãng ABBYY cỏ thế nhận dạng chữ in theo 192 ngôn ngữ khác nhau, phần

mềm nhận dạng chữ Viết in VnDOCR 4.0 của Viện Công nghệ Thông tin Hà Nội có

14

thể nhận dạng được các tài liệu chứa hình ảnh, bảng và các văn bản với độ chính xác

trên 98%).

Nhận dạng chữ viết tay vẫn còn là vấn đề thách thức lớn đối với các nhà nghiên

cứu. Khó khăn lớn nhất khi nghiên cứu bài toán nhận dạng chữ viết tay là sự biến thên

quá đa dạng trong các viết của từng người. Điều này gây ra nhiều trở ngại trong việc

trích chọn đặc trưng cũng như lựa chọn mô hình nhận dạng.

Hình 7: Các bước cơ bản trong hệ thống nhận dạng văn bản

Trích chọn đặc trưng đòng vai trò cực kỳ quan trọng trong một hệ thống nhận

dạng. Mục đích của việc trích chọn đặc trưng là làm giảm kích thước của ảnh và đồng

thời vẫn bảo toàn thông tin cần thiết vầ bức ảnh. Việc trích chọn hiệu quả các đặc

trưng giúp cho việc nhận dạng các đối tượng ảnh chính xác, với tốc độ tính toán cao

và dung lượng ưu trữ giảm xuống.

15

Dựa trên các thông tin thu nhận được qua quá trình phân vùng, kết hợp với các

kỹ thuật xử lý để đưa ra các đặc trưng về đối tượng ảnh cũng như cá thông tin cần

thiết trong quá trình xử lý. Trích chọn đặc trung phụ thuộc vào bản chất của bài toán

cần xử lý.

Hình 8: Ví dụ về xác định các đặc trưng của ảnh

1.2.1. Đặc trưng màu sắc

1.2.1.1 Lược đồ màu (Histogram)

Là đại lượng đặc trưng cho phân bố màu cục bộ của ảnh .

Độ đo tính tương tự về màu sắc được tính bằng phần giao của 2 lược đồ màu ảnh

truy vấn H(IQ) và ảnh trong cơ sở dữ liệu ảnh H(ID). Kết quả sẽ là một lược đồ màu

thể hiện độ giống nhau giữa 2 ảnh trên.

16

Tuy nhiên lược đồ màu chỉ thể hiện tính phân bố màu toàn cục của ảnh mà

không xét đến tính phân bố cục bộ của điểm ảnh nên có thể có 2 ảnh trông rất khác

nhau nhưng lại có cùng lược đồ màu.

1.2.1.2. Vector liên kết màu (Color Coherence Vector)

Là lược đồ tinh chế lược đồ màu, chia mỗi ô màu (bin) thành 2 nhóm điểm ảnh:

nhóm liên kết màu (coherence pixels) và nhóm không liên kết màu (non-coherence

pixels) Vector liên kết màu c ̣n giúp giải quyết khuyết điểm về tính không duy nhất của

lược đồ màu đối với ảnh. Hai ảnh có thể có chung lược đồ màu nhưng khác nhau hoàn

toàn, đây là khuyết điểm của lược đồ màu. Nhưng với tìm kiếm theo đặc trưng vector

liên kết màu th́ nó sẽ giải quyết được khuyết điểm không duy nhất này.

1.2.2. Đặc trưng hình dạng

Là đặc trưng dựa trên các yếu tố nguyên thủy (đoạn thẳng, cung) tạo ra các ký

tự. Các ký tự có thể phân biệt bằng độ đo của các đại lượng hình học nhử tỉ số giữa

chiều rộng và chiều cao của khung chứa ký tự, quan hệ khoảng cách giữa hai điểm, độ

dài một nét, đồ dài tương quan giữa hai nét, tỉ lệ giữa chữ hoa và chữ thường trong

một kí tự, độ dài từ...Vì thế các ký tự được tổ chức thành các tập họp của các yếu tố

nguyên thủy, sau đó đưa các yếu tố nguyên thủy vào các đồ thị liên quan.

Đặc trưng hình dạng đòi hỏi sự phân biệt giữa các vùng để tiến hành xử lý về độ

đo của hình dạng. Các hệ thống nhận dạng chữ viết tay thường khai thác hai nhóm

biểu diễn hình dạng sau:

- Biểu diễn hình dạng theo đường biên (cotour-based descriptor): Biểu diễn các

đường biên bao ngoài

- Biểu diễn theo vùng (region-based descriptor) Biểu diễn vùng toàn vẹn

17

1.2.3. Đặc trung kết cấu

Hiện tại vẫn chưa có một định nghĩa chính thức cụ thể về kết cấu. Kết cấu là một

đối tượng dùng để phân hoạch ảnh ra thành những vùng quan tâm để phân lớp những

vùng đó

Kết cấu cung cấp thông tin về sự sắp xếp về không gian của màu sắc và cường

độ một ảnh. Kết cấu được đặc trưng bởi sự phân bố không gian của những mức cường

độ trong một khu vực láng giềng với nhau. Kết cấu gòm các kết cấu gốc hay nhiều kết

cấu gộp lại đôi khi gọi là texel.

Một số phương pháp dùng để trích chọn các đặc trưng kết cấu như:

- Kim tự tháp “có thể lái được” ;

- Biến đổi đường viền;

- Biến đổi sóng Gabor;

- Biểu diễn mà trận đồng hiện;

- Hệ thống bộ lọc định hướng phức tạp.

1.2.4. Đặc trung cục bộ bất biến

Người ta thường chia đặc trưng cục bộ thành 2 loại là những điểm trích xuất

được từ điểm “nhô ra” của ảnh là đặc trưng SIFT được trích chọn từ các điểm hấp dẫn

Haris.

Các đặc trưng bất biến với việc tahy đổi tỉ lệ ảnh, quay ảnh, đôi khi là thay đổi

điểm nhìn và thêm nhiễu ảnh hay thay đổi cường độ sáng của ảnh. Phương pháp được

lựa chọn có tên là Scale-Invariant Feature Transform (SIFT) và đặc trưng trích rút

được gọi là đặc trưng SIFT. Các đặc trưng SIFT này được trích rút ra từ các điểm hấp

dẫn cục bộ (Local Interest Point).

18

Điểm hấp dẫn (Interest Point (Keypoint)): Là vị trí (điểm ảnh) "hấp dẫn" trên

ảnh. "Hấp dẫn" ở đây có nghĩa là điểm đó có thể có các đặc trưng bất biến với việc

quay ảnh, co giãn ảnh hay thay đổi cường độ chiếu sáng của ảnh.

Phương pháp trích rút các đặc trưng bất biến SIFT được tiếp cận theo phương

pháp thác lọc, theo đó phương pháp được thực hiện lần lượt theo các bước sau:

Phát hiện các điểm cực trị Scale-Space (Scale-Space extrema detection): Bước

đầu tiên này tiến hành tìm kiếm các điểm hấp dẫn trên tất cả các tỉ lệ và vị trí của ảnh.

Nó sử dụng hàm different-of-Gaussian để xác định tất cả các điểm hấp dẫn tiềm năng

mà bất biến với quy mô và hướng của ảnh.

- Định vị các điểm hấp dẫn (keypoint localization): Một hàm kiểm tra sẽ được đưa

ra để quyết định xem các điểm hấp dẫn tiềm năng có được lựa chọn hay không ?

- Xác định hướng cho các điểm hấp dẫn (Orientation assignment): Xác định

hướng cho các điểm hấp dẫn được chọn

- Mô tả các điểm hấp dẫn (Keypoint descriptor): Các điểm hấp dẫn sau khi được

xác định hướng sẽ được mô tả dưới dạng các vector đặc trưng nhiều chiều.

19

Chương 2: NHẬN DẠNG PHIẾU ĐIỂM SỬ DỤNG MẠNG NƠ RON

2.1. Thiết kế mạng nơron nhân tạo

2.1.1. Các bước thiết kế

Các bước trong thiết kế một mô hình mạng nơron nhân tạo, gồm 7 bước:

 Bước 1: Lựa chọn biến

 Bước 2: Thu thập dữ liệu

 Bước 3: Tiền xử lý dữ liệu

 Bước 4: Các tập dữ liệu huấn luyện, kiểm thử, và chứng thực.

 Bước 5: Sơ đồ mạng nơron:

 Số lượng lớp ẩn,

 Số lượng nơron ẩn,

 Số lượng nơron đầu ra,

 Hàm chuyển đổi.

 Bước 6: Huấn luyện mạng nơron: Số lần lặp lại huấn luyện.

 Bước 7: Triển khai

2.1.2. Chi tiết các bước thiết kế một mạng nơron

2.1.2.1. Lựa chọn biến

Để thiết kế tốt được mạng nơron thì chúng ta cần phải hiểu rõ vấn đề chúng ta cần

giải quyết. Lựa chọn biến đầu vào cho phù hợp là một quá trình không dễ dàng. Với

những giá trị đầu vào không quan trọng sẽ tăng độ phức tạp cho quá trình học của mạng

nơron. Ta cần chọn biến đầu vào nào cho tối ưu nhất với yêu cầu đầu ra mà chúng ta

cần. Một số vấn đề xảy ra nếu chúng ta chọnđầu vào chưa tốt:

-Tăng số lượng đầu vào sẽ làm tính toán phức tạp và cần nhiều bộ nhớ hơn.

-Quá trình học sẽ khó khăn với các đầu vào không cần thiết.

-Khó khăn hơn để hiểu mô hình mạng nơron này.

20

Phương pháp lựa chọn biến đầu vào được phát triển dựa trên quá trình kiểm thử

thống kê giữa các giá trị đầu vào và đầu ra mong muốn. Một số trường hợp có sự phụ

thuộc giữa biến đầu vào dẫn đến việc đánh giá quá cao số lượng đầu vào. Một cách để

giải quyết vấn đề này là khi tiền xử lý dữ liệu, chúng ta dùng phương pháp phân tích

thành phần phụ thuộc.

2.1.2.2. Thu thập dữ liệu

Sau khi đã chọn biến thì các nhà nghiên cứu cần phải thu thập dữ liệu cho các

biến đã chọn. Việc thu thập dữ liệu phải tách biệt với tiền xử lý, tập huấn hay đánh giá

hiệu năng mạng. Mọi dữ liệu cần được kiểm tra lỗi nếu có sự biến đổi hàng ngày của

dữ liệu, biến đổi về phạm vi, và sự thống nhất về logic.

2.1.2.3. Tiền xử lý dữ liệu

Việc xử lý trước dữ liệu chính là phân tích và chuyển đổi biến đầu vào và đầu ra

sao cho giảm bớt nhiễu, nhấn mạnh các liên hệ quan trọng, tìm ra xu hướng và phân

đồng đều các biến, giúp mạng nơron học các mẫu liên quan hiệu quả hơn. Vì mạng

nơron là các khớp mẫu, việc miêu tả dữ liệu cực kỳ quan trọng trong việc thiết kế

thành công mạng nơron. Dữ liệu được thu thập để đưa vào mạng hiếm khi để nguyên

dạng thô ban đầu. Ít nhất thì dữ liệu đó cũng được cân bằng với cận trên và cận dưới

của hàm chuyển đổi ( thường là nằm giữa 0 và 1 hoặc -1 và 1).

Có hai phương pháp chuyển đổi dữ liệu phổ biến đó là đạo hàm bậc nhất và

logarit tự nhiên của một biến. Một cách khác nữa đó là dùng tỉ lệ của các biến đầu

vào. Làm mịn dữ liệu đầu vào và đầu ra bằng cách tính trung bình đơn giảnhoặc dùng

số mũ.

Lấy mẫu và lọc dữ liệu giúp cho việc hủy các observation từ tập huấn luyện và

kiểm thử để tạo ra một sự phân phối đồng đều hơn. Cách lọc được sử dụng nên thống

nhất với mục đích của nhà nghiên cứu. Nhà nghiên cứu phải xác định chính xác mạng

nơron của mình cần học gì. Một lợi ích của việc lọc là tăng về số lượng thực tế tập

21

huấn mà cho phép kiểm thử trên nhiều biến đầu vào, nhiều trọng số ban đầu ngẫu

nhiên hoặc nhiều nơron ẩn hơn các tập dữ liệu huấn luyện lớn.

Trên thực tế thì quá trình tiền xử lý dữ liệu gồm nhiều thử nghiệm và có lỗi nhiều.

Để lựa chọn thích hợp biến đầu vào cần kiểm thử kết hợp đa dạng các biến đầu vào.

2.1.2.4. Các tập dữ liệu huấn luyện, kiểm thử, và chứng thực.

- Trên thực tế, tập dữ liệu được chia thành ba tập khác nhau đó là tập huấn luyện,

tập kiểm thử và tập hợp lệ.

- Tập dữ liệu huấn luyện là tập lớn nhất và mạng nơron học từ dữ liệu này.

- Tập kiểm thử là tập dữ liệu dùng để kiểm thử. Lấy dữ liệu đó để kiểm tra xem

độ chính xác của mạng nơron là bao nhiêu phần trăm. Tập này có kích thước tương

đương 10% - 30% kích thước của tập huấn luyện.

- Việc kiểm tra cuối cùng trong hiệu năng của mạng huấn luyện là sử dụng tập

hợp lệ. Kích thước của tập này dựa vào sự cân bằng giữa việc đủ đểđánh giá mạng và

có đủ dữ liệu còn lại cho cả huấn luyện và kiểm thử.

2.1.2.5. Sơ đồ mạng nơron

Thực tế thì có nhiều phương pháp để xây dựng mạng nơron. Các công việc cần

làm để xây dựng một mạng nơron là xác định hàm chuyển đổi, các đầu vào được kết

hợp với nhau như thế nào, và xây dựng kiến trúc mạng nơron bằng việc định nghĩa cấu

trúc bên trong bao gồm số lượng nơron nằm trên một lớp, số lượng và các loại kết nối.

Như đã đề cập ở phần một thì chúng ta lần lượt đi xác định các thông số sau: số

lượng lớp ẩn, số lượng nơron ẩn, số lượng nơron đầu ra, hàm chuyển đổi.

a. Số lượng lớp ẩn

Lớp ẩn cung cấp cho mạng khả năng phân loại dữ liệu. Về lý thuyết, một mạng

nơron có một lớp ẩn với số lượng đầy đủ các nơron ẩn có khả năng tính toán xấp xỉ

của hàm liên tục. Trong thực tế, các mạng nơron có một hoặc đôi khi là hai lớp ẩn là

22

đủ. Nếu tăng số lượng lớp ẩn thì thời gian tính toán cũng tăng. Vì thế, khuyến cáo

rằng chỉ nên có một hoặc nhiều nhất hai lớp ẩn.

b. Số lượng nơron ẩn

Thực tế thì không có công thức chung để lựa chọn số lượng tối ưu các nơron ẩn.

Vì vậy các nhà nghiên cứu dựa trên thực nghiệm nghiệm để lựa chọn. Tuy nhiên, có

một số quy tắc để lựa chọn cho hợp lý. Ta có thể dụng phương pháp kim tự tháp hình

học để tính gần đúng. Với một mạng ba lớp có n nơron đầu vào và m nơron đầu ra thì

lớp ẩn cần có căn bậc hai của (n x m) số lượng nơron. Số lượng thực tế của nơron ẩn

có thể vẫn rơi vào một nửa tới gấp hai lần giá trị có được từ quy tắc kim tự tháp, nó

phụ thuộc vào độ phức tạp của vấn đề.

Ba phương pháp lựa chọn số lượng nơron ẩn thường được dùng đó là sửa chữa,

xây dựng và tiêu hủy.

Phương pháp sửa chữa: một nhóm các mạng nơron với số lượng nơron ẩn khác

nhau được huấn luyện. Sự tăng lên về số lượng nơron ẩn có thể là một, hai hoặc nhiều

hơn phụ thuộc vào tài nguyên tính toán. Phác họa tiêu chí đánh giá trên kiểm thử với

mỗi mạng sẽ cung cấp một đồ thị lỗi hình cái bát. Mạng với ít lỗi nhất tìm thấy ở đáy

bát được lựa chọn. Phương pháp này tốn thời gian nhưng rất hiệu quả.

Phương pháp xây dựng và tiêu hủy: thay đổi số lượng nơron ẩn trong quá

trình huấn luyện chứ không tạo các mạng nơron biệt lập nhau với số lượng nơron

ẩn khác nhau. Phương pháp xây dựng là thêm các nơron ẩn tới khi hiệu năng của

mạng giảm. Ngược lại với phương pháp tiêu hủy là loại bớt các nơron ẩn trong quá

trình huấn luyện.

Bỏ qua việc sử dụng phương pháp nào để lượng chọn số lượng nơron ẩn, quy tắc

là lựa chọn mạng sao cho thực hiện tốt nhất trên tập kiểm thử với ít nơron ẩn nhất.

Khi kiểm thử số lượng nơron ẩn thì cần phải giữ nguyên các thông số khác.

23

c. Số lượng nơron đầu ra

Quyết định số lượng nơron đầu ra đôi khi không đơn giản vì có nhiều lý do bắt

buộc luôn sử dụng một nơron đầu ra. Các mạng nơron có nhiều đầu ra sẽ cho kết quả

kém hơn so với mạng có một đầu ra đơn. Một mạng nơron huấn luyện bởi quá trình

chọn trọng số sao cho lỗi trung bình trên toàn bộ nơron đầu ra là nhỏ nhất.

d. Các hàm chuyển đổi

Các hàm chuyển đổi là các công thức toán dùng để quyết định đầu ra của một

nơron xử lý. Phần lớn các mô hình mạng nơron hiện tại sử dụng hàm sigmoid (hình S)

nhưng số khác thì dùng hyperbolic và tuyến tính. Mục đích của hàm chuyển đổi là

ngăn chặn các đầu ra đạt tới giá trị quá lớn khiến cho mạng nơron tê liệt và không

huấn luyện được nữa. Các hàm chuyển đổi tuyến tính không hữu ích cho ánh xạ

không tuyến tính và phân loại không tuyến tính.

2.1.2.6. Quá trình huấn luyện mạng nơron

Ta cần xác định số lần lặp lại quá trình huấn luyện. Trong mỗi lần lặp, trọng số

thay đổi để mạng hoạt động hiệu quả hơn. Quá trình lặp lại tới khi không có sự cải

thiện gì thêm. Các mạng nơron thông thường sẽ lặp từ mười tới mười nghìn lần nhưng

số lượng vài trăm là phổ biến nhất.

2.1.2.7. Triển khai

Bước triển khai được thực hiện sau khi có đầy đủ các yếu tố cần thiết như là dữ

liệu, số lần huấn luyện, tiêu chuẩn đánh giá cho mạng nơron. Ta có thể sử dụng một

số phần mềm để triển khai mạng nơron đã được xây dựng sẵn hoặc dùng bảng tính

với việc biết kiến trúc của nó, các hàm chuyển đổi và các trọng số. Khi được triển

khai thì hiệu năng của mạng sẽ giảm dần tới khi mà mạng được huấn luyện lại. Một

mô hình tốt tương ứng với tần suất tái huấn luyện của nó.

24

2.2. Các kỹ thuật trích chọn đặc trưng

Trích chọn đặc trưng đóng vai trò hết sức quan trọng để giải quyết bài toán nhận

dạng chữ viết tay. Thực chất quá trình trích chọn đặc trưng của chữ viết tay tức là ta

đi tìm các đại lượng để biểu diễn cho các ký tự viết tay, mà các đại lượng này ít bị

thay đổi khi ký tự có sự biến đổi về hình dạng. Một Kỹ thuật trích đặc trưng chữ viết

tốt cho ra được các đặc trưng ít bị biến đổi khi ký tự bị biến dạng nhiều. Dưới đây xin

dưới thiệu 3 kỹ thuật trích chọn đặc trưng hay được sử dụng cho bài toán nhận dạng

chữ viết tay.

2.2.1. Kỹ thuật trích chọn đặc trưng kết hợp biến đổi DCT và thuật toán phân

tích thành phần chính PCA

Khái niệm giá trị riêng và vector riêng được các nhà toán học tìm ra vào cuối thể

kỷ 19 đầu thế kỷ 20.Có hàng loạt tính chất quan trọng liên quan đến giá trị riêng và

vector riêng, các tính chất này được ứng dụng rất nhiều trong các lĩnh vực kỹ

thuật.Dưới đây là một trong các tính chất đó: cho tập dữ liệuX, A là ma trận hiệp

phương sai của tập dữ liệu X (A là ma trận vuông). Khi đó tập vector riêng của A là

tập các vector trực giao, khi chiếu tập dữ liệu X lên tập các vector riêng này, thì dữ

liệu sẽ dao đông nhiều quanh các vector riêng tương ứng với giá trị riêng lớn, dữ liệu

ít dao động xung quanh các vector riêng tương ứng với các giá trị riêng nhỏ.

Hình 9: Ảnh hưởng của vector riêng, giá trị riênglên tập dữ liệu

25

Thuật toán phân tích thành phần chính (PCA) là hệ quả trực tiếp của tính chất đã

nêu trên. Trong kỹ thuật thuật toán PCA là một thuật toán phổ biến được sử dụng để

giảm số chiều của dữ liệu nhưng vẫn giữ được nhiều thông tin khi phân biệtvới các dữ

liệu khác.Thuật toán PCA được đề xuất đầu tiên bởi H. Hotelling (ban đầu được biết

với tên là biến đổi Hotelling-Hotelling’s transform). Dưới đây là nội dung thuật toán

PCA, sau đó xin giới thiệu kỹ thuật trích chọn đặc trưng bằng cách sử dụng biến đổi

cosin rời rạc (DCT) kết hợp với thuật toán PCA để thu gọn số chiều của dữ liệu.

2.2.1.1. Thuật toán PCA

Giả sử ta có tập dữ liệu trong đó các đước sắp xếp thành các

hang để được ma trận có kích thước . Ta mong muốn làm giảm số chiều dữ

liệu tập có D chiều thành tập dữ liệu Y có L chiều, L< D. Có thể tóm tắt thuật toán

PCA như sau:

Bước 1: Tính giá trị trung bình trên tường chiều dữ liệu 1…D của tập dưc liệu X

ta được vector giá trị trung bình u có kích thước trong đó

Bước 2: Thực hiện giảm giá trị của dữ liệu trên từng chiều với giá trị trung bình

tương ứng:

Ta lưu giá trị tính được vào ma trận B

trong đó h là ma trận có kích thước

Bước 3: Tính ma trận hiệp phương sai của ma trận B

Bước 4: Tìm giá trị riêng và vector riêng của ma trận hiệp phương sai C

26

Đầu tiên ta tính tập giá trị riêng

của ma trận C bằng cách giải phương

trình sau đó ta tìm tập vector riêng cách giải phương trình

trong đó

Bước 5: Sắp xếp tập giá trị riêng và tập vector riêng tương ứng theo chiều

giảm dần của giá trị riêng.

Bước 6: Chọn lấy L vector đầu tiên từ tập vector riêng sau khi đã sắp xếp

Bước 7: Tính giá trị của Y

Y=X*WT

Nhìn chung việc tính giá trị riêng và vector riêng là một bài toán khó trong toán

học. Trong phần thực nghiệm của mình, tôi sử dụng thư viện MATLAB để thực hiện

tìm giá trị riêng và vector riêng của ma trận.

2.2.1.2. Kỹ thuật trích chọn đặc trưng kết hợp phép biến đổi DCT và thuật toán PCA

Ta xét dữ liệu đầu vào là ma trận điểm ảnh, hình vec dưới đây mô tả các bước

của thuật toán:

Hình 10: Các bước trích chọn đặc trưng bằng biến DCT kết hợp PCA

Từ ảnh dữ liệu ban đầu kích thước MxN dùng phép biến đổi Cosin rời rạc ta

được ma trận MxN các hệ số thực. Sau đó ta lấy dữ liệu theo đường zigzag như hình

vẽ bên dưới ta được vector với MxN đặc trưng.Tiếp đó ta dùng thuật toán PCA để

27

thu gọn số chiều của vector đặc trưng, khi đó kết quả đầu ra sau bước nàyxem như là

vector đặc trưng của bước ảnh đầu vào.

Hình 11: Biến đổi DCT và cách lấy dữ liệu theo đường zigzag

Ta thấy rằng bức ảnh gốc qua phép biến đổi DCT thì ta không bị mất thông tin vì

ta có thể sử dụng phép biến đổi DCT nghịch đảo để thu được hình ảnh gốc. Ở ma trận

hệ số của phép biến đổi DCT, các điểm ở gần gốc (1,1) thể hiện mức sáng nền của

bức ảnh gốc, còn các điểm điểm càng xa điểm gốc thể hiện mức độ chi tiết của bước

ảnh (trong thuật toán nén ảnh JPEG sau khi biến đổi DCT người ta thường lược bỏ

các hệ số xa điểm gốc, mà mắt người vẫn không nhận thấy sự thay đổi), như vậy sau

khi lấy dữ liệu cho vector đặc trưng theo đường zigzag thì các điểm gần nhau trên

đường zigzag (cũng như trong vector đặc trưng) luôn có quan hệ về mặt giá trị cũng

như ảnh hưởng đối với ảnh gốc. Điều này giúp cho vector đặc trưng mạng nhiều

thông tin cho việc nhận dạng. Cuối cùng vector đặc trưng được xử lý qua thuật toán

PCA để thu gọn số chiều dữ liệu giúp cho việc nhận dạng được hiệu quả hơn.

2.2.2 Kỹ thuật trích đặc trưng sử dụng Momen Legendre

2.2.2.1 Momen và Momen Legendre

a) Khái niệm Momen (toán học)

Trong toán học khái niệm momen xuất phát từ khái niệm momen trong vật lý,

giá trị momen bậc n của hàm số thực f(x) tại c được định nghĩa như sau:

28

(2.1)

Trong trường hợp f là hàm hai biến số thì momen bậc (n+m) của hàm số f(x,y) tại

điểm (c1, c2) được định nghĩa như sau:

(2.1)

b) Khái niệm Momen trong xử lý ảnh:

Momen ảnh (image moments) là trọng số trung bình cụ thể nào đó của độ sáng

các điểm ảnh, nếu ảnh là ảnh liên tục thì định nghĩa momen ảnh giống công thức

(2.1), nếu ảnh đã rời rạc hóa thì momen bậc (m+n) tại điểm (c1,c2) của ảnh được định

nghĩa như sau:

(2.3)

Trong đó là kích thước của ảnh, I(x,y) là độ sáng của ảnh tại điểm

(x,y).Giá trị momen ảnh được có thể dùng để mô tả các đối tượng ảnh sau khi đã được

phân đoạn. Một số thuộc tính cơ bản của đối tượng ảnh có thể được phát hiện thông

qua momen ảnh: diện tích, tâm, hướng của vật thể...

Các momen bất biến (invarians moments) trong phép biến đổi ảnh được nghiên

cứu vào thập niên 60 của thế kỷ 20. Momen bất biến là những giá trị momen không

thay đổi trong các phép biến đổi ảnh như dời hình, xoay, đồng dạng... Trong giai đoạn

nghiên cứu này rất nhiều loại momen được giới thiệu: Momen Legendre, momen

Zernike...Kèm theo đó là rất nhiều thuật toán nhanh và hiệu quả để tính giá trị các

momen này.

c) Định nghĩa momen Legendre:

Momen Legendre bậc (m+n) của ảnh liên tục f(x,y) được định nghĩa như sau:

29

(2.4)

Trong đó m,n=0,1,2…,∞, Pm,Pn là đa thức Legendre. Họ đa thức Legendre là tập

các đa thức trực giao trên đoạn [-1,1]. Để tồn tại momen Legendre được xác định thì

hàm f(x,y) phải xác định trên đoạn [-1,1]. Đa thức Legendre bậc n được định nghĩa như:

(2.5)

Hình 12: Họ đa thức Legendre

Ta có thể xây dựng lại ảnh f(x,y) từ momen Legendre bằng công thức sau:

(2.6)

Với ảnh đã được rời rạc hóa Pxy ta có công thức sau để tính momen legendre:

30

(2.7)

Người ta đã chứng minh được rằng giá trị momen Legendre là đại lượng bất biến

trong các phép dời hình, và đồng dạng. Vì thếmomen Legendre thường được sử dụng

để nhận dạng các đối tượng hình học khi nó bị biến đổi bằng phép dời hình hay phép

đồng dạng.Tuy nhiên nhược điểm của momen Legendre đó là nó không phải là

momen bất biến trong phép xoay hình vì vậy tầm ứng dụng của nó vẫn còn hạn chế.

2.2.2.2. Kỹ thuật trích chọn đặc trưng chữ viết tay bằng Momen Legendre

Tư tưởng chính của kỹ thuật như sau: Giả sử ta có ảnh đầu vào X, ta đặt

MAX_ORDER là một giá trị cho trước nào đấy, sau đó ta tính tất cả các giá trị

Momen Legendre bậc (m+n) sao cho m < n < MAX_ORDER. Các giá trị Momen này

được lưu và ma trận L: . Ta gọi ma trận L

là ma trận momen Legendre. Sau khi tính xong ma trận L ta viết các giá trị của ma

trận L thành một hàng và xem đó như là giá trị đặc trưng của ảnh đầu vào X. Do tính

chất của Momen Legendre đó là bất biến với các phép biến đổi ảnh: dời hình và xoay

hình nên nếu dữ liệu kiểm tra đồng dạng hay bị dời hình so với dữ liệu huấn luyện thì

sẽ cho kết quả nhận dạng rất tốt. Sau đây là từng bước cụ thể của kỹ thuật trích chọn

đặc trưng chữ viết tay bằng Momen Legendre:

Bước 1: chuyển đổi tọa độ:

Chú ý rằng momen Legendre chỉ được xác định trên đoạn [-1,1] nên để áp dụng

được với một bức ảnh kích thước bất kỳ thì ta phải thực hiện bước đổi tọa độ

như sau: ta gọi i,j là tọa độ trên ảnh gốc , x,y là tọa độ sau khi đổi

khi đó công thức chuyển và

đổi tọa độ là .

31

Bước 2: Tính toán giá trị của ma trân Momen Legendre:

Dưới đây là thủ tục viết bằng giả mã để tính giá trị của ma trận Momen Legendre

For k:=0 to MAX_ORDER do

For l:=0 to k do

For i:= 0 to N do

For j:=0 to M do

End

End

End

Để tính nhanh được Pn(x) ta có thể sử dụng công thức truy hổi sau:

Bước 3: Chuyển ma trận Legendre thành vector đặc trưng

Thực chất ở bước này ta thực hiện viết giá trị các điểm trong ma trận Legendre

thành một hàng (hay vector) và ta xem đó là vector đặc trưng của ảnh đầu vào.

32

2.2.3. Kỹ thuật sử dụng mạng Neural nhân chập (Convolution neural network)

Kỹ thuật trích chọn đặc trưng sử dụng mạng neural nhân chập được đề xuất đầu

tiên bới LeCun và Bengio vào năm 1995. Đây là kỹ thuật trích chọn đặc trưng cho độ

chính xác nhận dạng cao nhất hiện nay (đạt độ chính xác đến 99.6% với bộ dữ liệu

MNIST).Trước khi đi sâu vào chi tiết thuật toán xin giới thiệu khái niệm cơ sở đó là:

thao tác nhân chập trong xử lý ảnh (convolutionoperator).

2.2.3.1 Khái niệm cơ sở

Thao tác nhân chập

Nhân chập là một khái niệm quen thuộc trong xử lý số tín hiệu, trong lĩnh vực

xử lý ảnh thao tác nhân chập được dùng để biến đổi ảnh thành một dạng mong muốn

nào đấy: như làm nổi cạnh (detect edge), là mượt ảnh (smoothing), làm sắc nét

(sharpening)... Trong thao tác nhân chập người ta sử dụng mặt nạ nhân chập

(convolution mask)-là ma trận vuông 2 chiều có kích thước là số lẻ (thông thường là

3x3 và 5x5) và tác động nhân chập vào tất cả các điểm của ảnh gốc. Thao tác nhân

chập lên một điểm của ảnh gốc được thực hiện như sau:

+Bước 1: Đầu tiên tâm của mặt nạ nhân chập được đặt trùng vào điểm cần tính

nhân chập.

+Bước 2: Thực hiện nhân từng giá trị của mặt nạ nhân chập với giá trị độ sáng

của điểm ảnh tương ứng

+Bước 3: Cộng tổng của từng giá trị đã tính ở bước 2 kết quả lưu vào vị trí

nhân chập của ảnh gốc.

33

Hình 13: Thao tác nhân chập

2.2.3.2 Kỹ thuật trích đặc trưng sử dụng mạng Neural nhân chập

Tư tưởng chính của kỹ thuật này là biến một bức ảnh từ độ phân giải cao về ảnh

có độ phân giải thấp hơn nhưng lại mang nhiều thông tin hơn cho quá trình nhận dạng

hơn (bằng phép nhân chập và thu nhỏ ảnh). Kỹ thuật này đạt hiệu quả cao cho việc

trích đặc trưng chữ viết tay là bởi vìnhờ thao tác nhân chập nó làm nổi bật lên được

các đường nét, hình dạng, các giao điểm... của ký tự viết tay. Hơn nữa các đặc trưng

của nó ít bị thay đổi bởi các phép dịch ảnh và phép biến dạng bóp méo ảnh

(distortion).

1) Kiến trúc mạng

Ta giả thiết ảnh đầu vào có kích thước 29x29, dưới đây là kiến trúc mạng để lấy

đặc trưng:

+Bước 1: Đầu tiên ta sử dụng 5 mặt nạ nhân chập khác nhau kích thước 5x5 thực

hiện thao tác nhân chập lên ảnh gốc, sau khi nhân chập ta thực hiện phép thu nhỏ ảnh đi

2 lần.Vì quá trình nhân chập không tác động lên những điểm biên nên sau một phép nhân

chập và thu nhỏ thì kích thước mới của ảnhsẽ là (n-3)/2 (n là kích thước ảnh ban đầu).

34

+Bước 2: Với mỗi ảnh ở lớp thứ 2 ta dùng 10 mặt nạ nhân chập khác nhau kích

thước 5x5 thực hiện nhân chập và thu nhỏ ảnh đi 2 lần, ta được 50 ảnh ở lớp thứ 3.

+Bước 3: với mỗi ảnh ở lớp thứ 3 ta lại dùng 2 mặt nạ nhân chập khác nhau

kích thước 5x5 thực hiện nhân chập ta thu được 100 ảnh kích thước 1x1.Ta xem đây

chính là 100 đặc trưng của ảnh gốc ban đầu.

Hình 14: Quá trình trích chọn đặc trưng sử dụng mạng Neural nhân chập

Hình 15: Minh họa quá trình lấy đặc trưng bằng mạng Neuron nhân chập

2) Huấn luyện mạng

Quá trình huấn luyện mạng Neural nhân chập là quá trình xác định các hệ số của

các mặt nạ nhân chập. Để làm được điều nàyngười ta xem kiến trúc ở hình 14 như là

35

một mạng Neural tuyến tính truyền thẳng nhiều tầng sau đó thêm bộ phân lớp tuyến

tính vào sau, rồi người ta huấn luyện mạng bằng phương pháp lan truyền ngược

2.3. Huấn luyện mạng

2.3.1. Các phương pháp học

Hình trạng mạng và trọng số của các liên kết bên trong mạng quyết định chức

năng của một mạng nơron. Hình trạng của mạng bao gồm số lớp, số đơn vị trên mỗi

tầng, và cách mà các lớp được liên kết với nhau của mạng và thường là cố định. Một

thuật toán huấn luyện được lưa chọn sẽ quyết định các trọng số. Tiến trình điều chỉnh

các trọng số để mạng “nhận biết” được quan hệ giữa đầu vào và đích mong muốn

được gọi là học hay huấn luyện. Rất nhiều thuật toán học đã được phát minh để tìm ra

tập trọng số tối ưu làm giải pháp cho các bài toán. Có hai nhóm thuật toán chính: Học

có giám sát (Supervised learning) và học không có giám sát (Unsupervised Learning).

a. Học có giám sát

Học có giám sát là cách học mà mạng được huấn luyện bằng cách cung cấp cho

nó các cặp mẫu đầu vào và các đầu ra mong muốn. Sự khác biệt giữa các đầu ra thực

tế so với các đầu ra mong muốn được thuật toán sử dụng để thích ứng các trọng số

trong mạng. Điều này thường được đưa ra như một bài toán xấp xỉ hàm số - cho dữ

liệu huấn luyện bao gồm các cặp mẫu đầu vào x, và một đích tương ứng t, mục đích là

tìm ra hàm f(x) thoả mãn tất cả các mẫu học đầu vào.

36

Hình 16: Mô hình học có giám sát.

b. Học không có giám sát

Với cách học không có giám sát, không xác định được đầu ra của mạng có đúng

hay chưa bởi vì không có phản hồi từ môi trường. Mạng sẽ phải tự động khám phá

các đặc trưng, các điều chỉnh, các mối tương quan, hay các lớp trong dữ liệu vào một

cách. Trong thực tế, đối với phần lớn các biến thể của học không có giám sát, các đích

trùng với đầu vào. Nói một cách khác, học không có giám sát luôn thực hiện một công

việc tương tự như một mạng tự liên hợp, cô đọng thông tin từ dữ liệu vào.

2.3.2. Học có giám sát trong các mạng nơron

Học có giám sát có thể được xem như việc xấp xỉ một ánh xạ: X→ Y, trong đó X

là tập các vấn đề và Y là tập các lời giải tương ứng cho vấn đề đó. Các mẫu (x, y) với

x = (x1, x2,..., xn) ∈ X, y = (yl, y2,…,ym) ∈ Y được cho trước. Học có giám sát trong

các mạng nơron thường được thực hiện theo các bước sau:

Bước 1: mạng nơron cần được xây dựng cấu trúc thích hợp, ví dụ có (n + 1)

nơron vào (n nơron cho biến vào và 1 nơron cho ngưỡng x0), m nơron đầu ra, và khởi

tạo các trọng số liên kết của mạng.

Bước 2: Đưa một vector x trong tập mẫu huấn luyện X vào mạng

37

Bước 3: Tính vector đầu ra o của mạng

Bước 4: So sánh vector đầu ra mong muốn y (là kết quả được cho trong tập huấn

luyện) với vector đầu ra o do mạng tạo ra; nếu có thể thì đánh giá lỗi.

Bước 5:Hiệu chỉnh các trọng số liên kết theo một cách nào đó sao cho ở lần tiếp

theo khi đưa vector x vào mạng, vector đầu ra o sẽ giống với y hơn.

Bước 6: Nếu cần, lặp lại các bước từ 2 đến 5 cho tới khi mạng đạt tới trạng thái

hội tụ. Việc đánh giá lỗi có thể thực hiện theo nhiều cách, cách dùng nhiều nhất là sử

dụng lỗi tức thời: Err = (o - y), hoặc Err = |o - y|; lỗi trung bình bình phương (MSE:

mean-square error): Err = (o- y)2/2;

Có hai loại lỗi trong đánh giá một mạng nơron:

- Thứ nhất, gọi là lỗi rõ ràng, đánh giá khả năng xấp xỉ các mẫu huấn luyện của

một mạng đã được huấn luyện.

- Thứ hai, gọi là lỗi kiểm tra, đánh giá khả năng tổng quá hóa của một mạng đã

được huấn luyện, tức khả năng phản ứng với các vector đầu vào mới. Để đánh giá lỗi

kiểm tra chúng ta phải biết đầu ra mong muốn cho các mẫu kiểm tra.

Thuật toán tổng quát ở trên cho học có giám sát trong các mạng nơron có nhiều

cài đặt khác nhau, sự khác nhau chủ yếu là cách các trọng số liên kết được thay đổi

trong suốt thời gian học. Trong đó tiêu biểu nhất là thuật toán lan truyền ngược.

2.3.3. Thuật toán lan truyền ngược Back-Propagation

Sau đây là mô tả của thuật toán “học”, sử dụng để điều chỉnh hiệu năng của

mạng sao cho mạng có khả năng sinh ra được các kết quả mong muốn.

Như đã nêu, về cơ bản có hai dạng thuật toán để luyện mạng: học có giám sát và

học không có giám sát. Các mạng nơron truyền thẳng nhiều lớp được luyện bằng

phương pháp học có giám sát. Phương pháp này căn bản dựa trên việc yêu cầu mạng

thực hiện chức năng của nó và sau đó trả lại kết quả, kết hợp kết quả này với các đầu

38

ra mong muốn để điều chỉnh các tham số của mạng, nghĩa là mạng sẽ học thông qua

những sai sót của nó.

Thuật toán lan truyền ngược là dạng tổng quát của thuật toán trung bình bình

phương tối thiểu. Thuật toán này thuộc dạng thuật toán xấp xỉ để tìm các điểm mà tại

đó hiệu năng của mạng là tối ưu. Chỉ số tối ưu thường được xác định bởi một hàm số

của ma trận trọng số và các đầu vào nào đó mà trong quá trình tìm hiểu bài toán đặt ra.

2.3.3.1. Mô tả thuật toán

Mạng lan truyền ngược là một hàm phi tuyến có thể xấp xỉ gần đúng nhất một

hàm đích được cho qua một số mẫu trong tập mẫu. Một mạng lan truyền tổng quát là

một mạng có n (n>2) lớp: lớp thứ nhất gọi là lớp nhập, lớp thứ n là lớp xuất và n-2 lớp

ẩn. Phần lớn các mạng chỉ có một biến phụ thuộc nhưng với mô hình tả trên mạng

nơron cho phép số nút trong lớp nhập, lớp xuất, và lớp ẩn là tùy ý. Sốnút trong lớp

nhập và lớp xuất phụ thuộc vào yêu cầu bài toán, số nút ẩn do người xây dựng mô

hình quyết định.

Trong mạng lan truyền mỗi nút trong lớp thứ i (0

lớp thứ (i+1), và các nút trong cùng lớp không liên kết với nhau. Ngoài ra còn có một

số cung liên kết trực tiếp từ các nút trong lớp nhập đến các nút trong lớp xuất, ta gọi

mạng này là mạng lan truyền có nối trực tiếp. Mỗi cung trong mạng được gắn với một

trọng số w Є R. Hình 12 minh họa một mạng lan truyền với một lớp ẩn:

Hình 17: Mạng lan truyền với một lớp ẩn.

39

Trong hình 17, mạng gồm ba lớp: lớp nhập (input), lớp ẩn (hidden), và lớp xuất

(output). Mỗi nút trong nút 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 hóa

và chuyển kết quả cho các nút trong lớp ẩn. Tương tự các nút trong lớp xuất cũng

nhận các tín hiệu tổng trọng hóa từ các nút ẩn. Mỗi nút trong lớp xuất tương ứng với

một biến phụ thuộc.

Mạng lan truyền chỉ có thể ở một trong hai trạng thái: trạng thái ánh xạ và trạng

thái học. Trong trạng thái ánh xạ, thông tin lan truyền từ lớp nhập đến lớp xuất và

mạng thực hiện ánh xạ để tính giá trị các biến phụ thuộc dựa vào giá trị các biến độc

lập được cho. Trong trạng thái học, thông tin lan truyền theo hai chiều nhiều lần để

học các trọng số.

Trong trạng thái ánh xạ, mạng xử lý mỗi lần một mẫu để tính giá trị Y=NN(X).

Trước tiên giá trị của biến độc lập được cho lớp nhập của mạng. Các nút nhập không

tính toán gì cả. Mỗi nút nhập chuyển giá trị của nó cho tất cả các nút ẩn. Mỗi nút ẩn

tính tổng trọng hóa của tất cả các dữ liệu nhập bằng cách cộng dồn tất cả các tích giữa

giá trị nút ẩn với trọng số của cung liên kết giữa nút nhập và nút ẩn. Kế tiếp, một hàm

kích hoạt được áp dụng trên tổng trọng hóa này cùng với một ngưỡng của nút ẩn đó

để cho ra giá trị thực của nút ẩn. Hàm kích hoạt đơn giản chỉ nén giá trị vào một miền

giới hạn nào đó. Sau khi nén tổng trọng hóa của nó, đến lượt mình, mỗi nút ẩn sẽ gửi

kết quả đến tất cả các nút xuất. Mỗi nút xuất thực hiện các thao tác tương tự như đã

thực hiên trong nút ẩn để cho giá trị kết xuất của nút xuất. Giá trị của các nút xuất

chính là giá trị của các biến phụ thuộc cần xác định.

Bản chất ánh xạ do mạng thực hiện tùy thuộc vào giá trị các trọng số trong

mạng. Lan truyền ngược là một phương pháp cho phép xác định tập trọng số tốt nhất

của mạng giải một bài toán được cho. Việc áp dụng phương pháp lan truyền ngược là

một quá trình lặp đi lặp lại hai tiến trình chính, ánh xạ và lan truyền ngược sai số. Hai

40

tiến trình này được áp dụng trên một tập mẫu xác định. Ta gọi chung tiến trình này là

luyện mạng hay còn gọi là học.

Quá trình luyện mạng đựợc bắt đầu với các giá trị trọng số tùy ý – có thể là ngẫu

nhiên – và tiến hành lặp đi lặp lại. Mỗi lần lặp gọi là một thế hệ. Trong mỗi thế hệ,

mạng hiệu chỉnh các trọng số sao cho sai số giảm dần. Sai số là độ lệch giữa kết quả

thực và kết quả đích. Tiến trình điều chỉnh nhiều lần giúp cho trọng số dần đạt các giá

trị tối ưu.

Để cập nhật trọng số trong mỗi thế hệ, mạng phải xử lý tất cả các mẫu trong tập

mẫu. Đối với từng mẫu, mạng sẽ thực hiên các thao tác sau đây:

- Trước tiên mạng thực hiên quá trình lan truyền tiến, nghĩa là mạng ánh xạ các

biến nhập của mẫu hiện hành thành các giá trị xuất.

- Kế tiếp sai số được tính dựa trên giá trị của kết xuất và giá trị đích. Trên cơ sở

sai số tính toán được, mạng sẽ cập nhật lại các trọng số theo nguyên tắc lan truyền

ngược sai số – gọi là lan truyền ngược.

Như vậy để học mỗi mẫu, mạng thực hiện hai bước: lan truyền tiến – thực hiện

ánh xạ và lan truyền ngược – cập nhật trọng số. Vì thế phương pháp này gọi tắt là lan

truyền ngược.

2.3.3.2. Sử dụng thuật toán Back – Propagation

Trên đây là thuật toán lan truyền ngược cơ bản, sau đây ta sẽ bàn về các khía

cạnh ứng dụng của thuật toán lan truyền ngược như chọn lựa cấu trúc mạng, sự hội tụ

và khả năng tổng quát hóa.

a. Lựa chọn cấu trúc mạng

Như ta đã biết, thuật toán lan truyền ngược có thể được sử dụng để xấp xỉ bất kỳ

một hàm số học nào nếu như ta có đủ số nơron trong các lớp ẩn. Mặc dù vậy, phát

biểu trên chưa cho ta được một số cụ thể các lớp và số nơron trong mỗi lớp cần sử

41

dụng. Ta sẽ dùng một ví dụ để có được cái nhìn chi tiết hơn về vấn đề này. Ví dụ, ta

muốn xấp xỉ hàm số sau:

trong đó i nhận các giá trị 1, 2, 4 và 8. Khi i tăng thì hàm số cần xét sẽ trở nên phức

tạp hơn do ta sẽ nhận được nhiều chu kỳ của hình sin trong phạm vi [-2, 2]. Khi đó,

mạng nơron với một số nơron cố định sẽ khó có thể xấp xỉ được hàm nếu i tăng.

Trong phần sau, ta sẽ sử dụng ví dụ Function Approximation trong thư viện của bộ

Matlab 5.3 (file nnd11fa.m). Ở đây, mạng sử dụng có 1 lớp ẩn, 1 lớp ra; đương nhiên,

mạng có 1 đầu vào và một đầu ra. Lớp ẩn sử dụng hàm sigmoid, lớp ra dùng hàm

đồng nhất:

Số nơron trong lớp ẩn là 4, kết quả xấp xỉ của mạng trong các trường hợp i = 1,

2, 4, 8 như trong các hình: Hình 13(a), hình 13(b), hình 13(c), hình 13(d) . Các đường

màu đen là trả lời của mạng, còn các đường mờ hơn là hàm cần xấp xỉ.

trường hợp i = 4 (c) trường hợp i = 1 (a)

42

trường hợp i = 8 (đ) trường hợp i = 2 (b)

Hình 18: xấp xỉ của mạng trong các trường hợp i = 1, 2, 4, 8

Khi ta tăng số nơron trong lớp ẩn lên thì khả năng xấp xỉ hàm số của mạng sẽ tốt

hơn. Chẳng hạn, xét trường hợp sử dụng 9 nơron trong lớp ẩn và i = 8 ta có được kết

quả như hình 13 (e) :

trường hợp i = 8 và số nơron lớp ẩn = 9 (e)

Điều đó có nghĩa là nếu ta muốn xấp xỉ một hàm số mà có số điểm cần xấp xỉ là

lớn thì ta sẽ cần số nơron lớn hơn trong lớp ẩn.

b. Sự hội tụ

Trong phần trên ta đã thấy các trường hợp mạng nơron không trả lại kết quả

chính xác mặc dù thuật toán lan truyền ngược đã thực hiện tối thiểu hóa trung bình

bình phương lỗi. Điều đó là do khả năng của mạng bị giới hạn bởi số nơron trong lớp

ẩn. Tuy nhiên, cũng có trường hợp mà thuật toán lan truyền ngược không cho ta các

43

tham số có thể dẫn đến kết quả chính xác nhưng mạng vẫn có thể xấp xỉ được hàm số.

Điều này xảy ra là do trạng thái khởi đầu của mạng, sau khi luyện, mạng có thể rơi

vào điểm cực tiểu toàn cục hoặc rơi vào điểm cực tiểu địa phương.

Cần chú ý rằng trong thuật toán trung bình bình phương tối thiểu, điểm cực trị

toàn cục là luôn tồn tại bởi lẽ hàm trung bình bình phương lỗi của thuật toán trung

bình bình phương tối thiểu là một hàm bậc hai, hơn nữa, do là hàm bậc hai nên đạo

hàm bậc hai của hàm lỗi sẽ là hằng số, do vậy mà độ cong của hàm theo một hướng

cho trước là không thay đổi.

Trong khi đó, thuật toán lan truyền ngược áp dụng cho các mạng nhiều lớp sử

dụng các hàm chuyển phi tuyến sẽ có nhiều điểm cực trị địa phương và độ cong của

hàm lỗi có thể không cố định theo một hướng cho trước.

c. tổng quát hóa

•Một số biến thể của thuật toán BP

Ta đã xem xét một số đặc điểm của thuật toán lan truyền ngược sử dụng kỹ thuật

giảm theo hướng. Mạng sử dụng thuật toán này tồn tại nhược điểm: rơi vào điểm cực

tiểu địa phương đối với mạng nơron truyền thẳng nhiều lớp sử dụng các hàm chuyển

phi tuyến. Hơn nữa, khi thực hiện luyện mạng bằng cách đưa từng mẫu vào, sau đó

thực hiện cập nhật tham số, sẽ làm ảnh hưởng đến quá trình học các mẫu khác. Do đó,

một phương pháp để tăng tốc độ hội tụ là sử dụng phương pháp học cả gói (batch

training), nghĩa là tất cả các mẫu được đưa vào mạng, sau đó mới thực hiện cập nhật

các tham số. Bây giờ ta sẽ xem xét một số biến thể của thuật toán lan truyền ngược sử

dụng phương pháp học cả gói nhằm vượt qua các nhược điểm này.

•Sử dụng tham số bước đà

Đây là một phương pháp heuristic dựa trên quan sát kết quả luyện mạng nhằm

làm tăng tốc độ hội tụ của thuật toán lan truyền ngược dựa trên kỹ thuật giảm nhanh

44

nhất. Thuật toán lan truyền ngược cập nhật các tham số của mạng bằng cách cộng

(2.8)

thêm vào một lượng thay đổi là:

Khi áp dụng thuật toán lan truyền ngược có sử dụng bước đà, phương trình trên

(2.9)

thay đổi như sau:

Người ta đã chứng tỏ rằng khi sử dụng tham số bước đà thì hệ số học có thể lớn

hơn rất nhiều so với thuật toán lan truyền ngược chuẩn không sử dụng tham số bước

đà trong khi vẫn giữ được độ tin cậy của thuật toán. Một điểm khác nữa là khi sử

dụng tham số bước đà thì sự hội tụ của thuật toán sẽ được tăng tốc nếu như thuật toán

đang đi theo một hướng bền vững (chỉ đi xuống trong một khoảng dài).

•Sử dụng hệ số học biến đổi:

Trong thực tế, các hàm hiệu năng có dạng biểu diễn hình học là không đồng đều,

có lúc có dạng phẳng (hàm không thay đổi giá trị hoặc thay đổi rất ít) hoặc có dạng

phễu (giá trị của hàm thay đổi rất nhanh khi thay đổi tham số đầu vào). Nếu ta chỉ sử

dụng hệ số học cố định thì có thể sẽ tốn thời gian tại các vùng phẳng. Vì vậy, tư tưởng

của thuật toán lan truyền ngược sử dụng hệ số học biến đổi là khi gặp vùng phẳng thì

tăng hệ số học lên và ngược lại khi gặp vùng dạng phễu thì giảm hệ số học đi. Người

ta đã đưa ra rất nhiều phương pháp để thực hiện điều trên, ở đây chỉ nêu ra một cách

biến đổi hệ số học dựa trên hiệu năng của mạng.

- Bước 1: Nếu bình phương lỗi trên toàn bộ tập huấn luyện tăng một số phần

trăm cho trước ξ (thông thường là từ 1% cho đến 5%) sau một lần cập nhật trọng số,

45

thì bỏ qua việc cập nhật này, hệ số học được nhân với một số hạng ρ nào đó (với 0 < ρ

< 1) và tham số bước đà (nếu có sử dụng) được đặt bằng 0.

-Bước 2: Nếu bình phương lỗi giảm sau một lần cập nhật trọng số, thì cập nhật

đó là chấp nhận được và hệ số học được nhân với một số hạng nào đó > 1, nếu tham

số bước đà đã bị đặt bằng 0 thì đặt lại giá trị lúc đầu.

-Bước 3: Nếu bình phương lỗi tăng một lượng < ξ, thì cập nhật trọng số là chấp

nhận được, nhưng hệ số học không thay đổi và nếu tham số bước đà đã bị đặt bằng 0

thì đặt lại giá trị lúc đầu.

Các thuật toán heuristic luôn cho ta sự hội tụ nhanh hơn trong một số bài toán,

tuy nhiên chúng có hai nhược điểm chính sau đây:

-Thứ nhất, việc sửa đổi thuật toán lan truyền ngược cần có thêm một số tham số,

trong khi trong thuật toán lan truyền ngược chuẩn chỉ yêu cầu có một tham số đó là hệ

số học. Một số thuật toán sửa đổi cần đến năm hoặc sáu tham số, trong khi hiệu năng

của thuật toán khá nhạy cảm đối với những thay đổi của các tham số này. Hơn nữa

việc chọn lựa các tham số lại độc lập với bài toán đặt ra.

-Thứ hai, các thuật toán sửa đổi có thể không hội tụ trong một số bài toán mà

thuật toán lan truyền ngược chuẩn có thể hội tụ được.

Người ta đã thấy rằng cả hai nhược điểm nêu trên thường xảy ra khi sử dụng các

thuật toán sửa đổi phức tạp hơn (yêu cầu nhiều tham số hơn).

•Sử dụng phương pháp Gradient kết hợp:

Nhắc lại phương pháp gradient kết hợp bao gồm các bước sau:

Bước 1: Chọn hướng bắt đầu ngược với gradient (p0 = -g0).

Bước 2: Thực hiện một bước (∆xk = (xk+1 - xk) = αkpk). Chọn αk để tối thiểu

hàm theo hướng tìm kiếm đã chọn. Có thể chọn như sau:

46

(2.10)

(phương trình trên được suy ra bằng cách chọn αk để tối thiểu hóa hàm F(xk +

αkpk). Để thực hiện, ta lấy đạo hàm của F theo αk, đặt bằng 0 ta sẽ thu được phương

trình trên.)

(2.11)

Bước 3: Nếu thuật toán chưa hội tụ thì quay lại bước 2.

Phương pháp này không thể áp dụng trực tiếp trong việc luyện mạng nơron, bởi

lẽ hàm chỉ số hiệu năng trong nhiều trường hợp không ở dạng bậc hai. Điều này ảnh

hưởng đến thuật toán này như sau:

(2.12)

-Thứ nhất, ta không thể sử dụng phương trình:

để tối thiểu hóa hàm theo đường thẳng (xk + αkpk) như trong bước thứ 2.

-Thứ hai, điểm cực tiểu chính xác sẽ không thể đạt tới được một cách bình

thường sau một số hữu hạn bước và do vậy thuật toán sẽ phải được thiết lập lại sau

một số hữu hạn bước.

d. Vấn đề tìm kiếm điểm cực tiểu

Ta cần có một thuật toán tổng quát để tìm điểm cực tiểu của một hàm số theo

một hướng cụ thể nào đó. Việc này liên quan đến hai thao tác: một là xác định tần số

(interval location) và giảm tần số. Mục đích của bước xác định tần số là tìm kiếm tần

47

số khởi đầu có chứa điểm cực tiểu. Bước giảm tần số sau đó giảm kích thước của tần

số cho đến khi tìm ra điểm cực tiểu với một độ chính xác nào đó.

Ta sẽ sử dụng phương pháp so sánh hàm để thực hiện bước xác định tần số. Thủ

tục này được mô tả trong hình 14 . Ta bắt đầu bằng cách tính chỉ số hiệu năng tại một

điểm khởi đầu nào đó (điểm a1 trong hình vẽ), điểm này chính là giá trị của chỉ số

hiệu năng với các tham số hiện tại của mạng.

Bước tiếp theo là tính giá trị hàm chỉ số hiệu năng tại điểm thứ 2, thể hiện bởi

điểm b1 trong hình vẽ cách điểm khởi đầu một đoạn là ε theo hướng tìm kiếm p0.

Hình 19: Xác định tần số.

Sau đó, ta tiếp tục tính giá trị của hàm hiệu năng tại các điểm bi có khoảng cách

đến điểm khởi đầu gấp đôi điểm trước. Quá trình này sẽ dừng lại nếu như giá trị của

hàm tăng lên so với điểm trước đó (trong hình vẽ là điểm b3 và b4). Đến đây, ta biết

rằng điểm cực tiểu sẽ rơi vào khoảng giữa [a5, b5]. Ta không thể thu hẹp thêm tần số

nữa bởi lẽ điểm cực tiểu có thể rơi vào vùng [a3, b3] hoặc [a4, b4].

Bây giờ ta tiếp tục bước thực hiện giảm tần số, ta sẽ lấy ít nhất là hai điểm c, d

trong khoảng [a5, b5] để có thể thực hiện việc này (nếu chỉ lấy 1 điểm thì ta khó có

48

thể xác định được liệu điểm cực tiểu sẽ nằm trong vùng nào). Có nhiều cách để chọn

các điểm trên, ở đây ta sẽ sử dụng phương pháp gọi là: Golden Section search.

Phương pháp này cố gắng thực hiện tìm kiếm sao cho số lần phải tính giá trị của hàm

là ít nhất (tại mỗi một bước ta đều cần phải tính giá trị của hàm).

2.3.3.3. Đánh giá thuật toán

Đưa các mẫu học từ miền của bài toán vào mạng là việc huấn luyện mạng theo

phương pháp học có giám sát liên quan đến cách thức. Các mẫu này sẽ được phân chia

thành các tập huấn luyện và tập kiểm thử. Mạng được khởi tạo các trọng số là các số

ngẫu nhiên, sau đó, các trọng số này sẽ được điều chỉnh cho phù hợp với tập huấn

luyện. Tập kiểm thử sẽ được dùng để xác định xem tỉ lệ thành công trong việc xác định

đầu ra từ đầu vào mà nó chưa được luyện. Mạng sẽ được đưa vào một tập con các mẫu,

mỗi mẫu một lần, sau khi nó biết tất cả các mẫu, nó sẽ phải thực hiện điều chỉnh các

trọng số bằng cách tính toán các lỗi xảy ra. Quá trình này được lặp lại cho đến khi

mạng được luyện đủ. Kích thước của tập con được giới hạn bởi số lần lặp, có thể là

trùng với kích thước của tập mẫu học, nếu không như vậy thì cần phải xác định thứ tự

đưa các mẫu vào cho mạng học một cách ngẫu nhiên.

•Ưu điểm của thuật toán:

-Dễ dàng triển khai;

-Phương pháp chuẩn và hoạt động tốt;

-Thời gian tính toán giảm nếu các trọng số được chọn ban đầu nhỏ;

-Không yêu cầu đặc tính đặc biệt của hàm được học.

•Nhược điểm thuật toán:

-Có thể bị vướng vào tối thiểu địa phương trong nghiệm tối ưu;

-Số lượng lớn đầu vào/đầu ra nhưng không chắc chắn về sự liên hệ giữa chúng

với đầu ra;

49

-Nghiệm của phương trình có thể thay đổi theo thời gian;

-Đầu ra có thể mờ và không phải là số.

2.4. Nhận dạng sử dụng mạng nơron

2.4.1. Khả năng sử dụng mạng nơron trong nhận dạng

Xét trường hợp đối tượng phi tuyến tính có độ phức tạp cao, nếu sử dụng

phương pháp giải tích thông thường để nhận dạng sẽ rất khó khăn, thậm chí không

thực hiện được do sự hiểu biết nghèo nàn về đối tượng. Vì vậy các nhà khoa học đã

đưa ra ý tưởng là sử dụng công cụ tính toán mềm như hệ mờ, mạng nơron, đại số gia

tử để xấp xỉ. Mạng nơron là một trong những công cụ hữu hiệu để nhận dạng mô

hình đối tượng. Bằng phương pháp này ta không biết được mô hình toán thực sự của

đối tượng nhưng hoàn toàn có thể dùng kết quả xấp xỉ để thay thế đối tượng.

Vì tính phi tuyến của các mạng nơron (hàm kích hoạt phi tuyến), chúng được

dùng để mô tả các hệ thống phi tuyến phức tạp. Mạng nơron là một trong những

công cụ nhận dạng tốt nhất vì các đặc trưng sau: khả năng học từ kinh nghiệm hay

được huấn luyện, khả năng khái quát hoá cho các đầu vào không được huấn luyện.

Mạng nơron có khả năng xấp xỉ các hàm phi tuyến một cách đầy đủ và chính

xác, nó được sử dụng tốt cho các mô hình động học phi tuyến. Điều quan trọng được

sử dụng là thuật truyền ngược tĩnh và động của mạng nơron, nó được sử dụng để

hiệu chỉnh các tham số trong quá trình nhận dạng.

Nền tảng cho tính xấp xỉ hàm của mạng nơron nhiều lớp là định lý Kolmgorov

và định lý Stone - Weierstrass. Các mạng Nơron nhân tạo đưa ra những lợi thế qua

việc học sử dụng phân loại và xử lý song song, điều này rất phù hợp với việc dùng

trong nhận dạng.

2.4.2. Mô hình nhận dạng hệ thống sử dụng mạng nơron

Khi xét một bài toán điều khiển, trước tiên ta cần phải có những hiểu biết về đối

tượng: số đầu vào, số đầu ra, các đại lượng vật lý vào ra, dải giá trị của chúng, quy

50

luật thay đổi của các đại lượng trong hệ hay mô hình toán học cơ bản của nó,...Tuy

nhiên không phải đối tượng nào hay hệ nào cũng cung cấp được đầy đủ các thông tin

như trên cũng như xây dựng được mô hình thực từ những thông tin ấy.

Việc nhận dạng là việc đầu tiên và quan trọng. Khi thông số của đối tượng là cần

thiết để việc điều khiển đạt chất lượng mong muốn. Khi thông số của đối tượng tự

thay đổi trong tiến trình làm việc (đối tượng phi tuyến) và có tính động học thì việc

nhận dạng theo chúng sẽ phức tạp hơn nhiều so với đối tượng có thông số bất biến.

Nhận dạng thường chia ra làm: nhận dạng mô hình và nhận dạng tham số. Nhận

dạng mô hình là quá trình xác định mô hình của đối tượng và thông số trên cơ sở đầu

vào và đầu ra của đối tượng. Mô hình thu được sau khi nhận dạng gọi là tốt nếu nó thể

hiện được đúng đối tượng. Như vậy có thể sử dụng mô hình thay cho đối tượng để dự

báo, kiểm tra và điều khiển. Mạng nơron được luyện để mô hình hóa quan hệ vào ra

của đối tượng. Như vậy quy trình nhận dạng mô hình có bản chất là thuật toán luyện

mạng Cấu trúc mạng nơron giải bài toán nhận dạng mô hình rất đa dạng, tùy thuộc

vào từng bài toán cụ thể.

Nhận dạng tham số chính là huấn luyện mạng. Mô hình cơ bản của mạng nơron

được luyện để mô phỏng hành vi của đối tượng giống như mô hình truyền thống được

biểu diễn trên Hình 15.

Hình 20: Mô hình nhận dạng cơ bản.

Tín hiệu sai là cơ sở cho quá trình luyện mạng. Mạng nơron ở đây có thể là mạng

nhiều lớp hoặc các dạng khác và có thể sử dụng nhiều thuật luyện mạng khác nhau.

51

2.4.3. Nhận dạng hệ thống sử dụng mạng nơron

Như vậy hai giai đoạn cần cho nhận dạng đó là lựa chọn mô hình và tối ưu tham số.

Đối với mạng nơron dựa vào nhận dạng lựa chọn số nút ẩn, số lớp ẩn (cấu trúc của

mạng) tương đương với mô hình lựa chọn. Mạng có thể được huấn luyện theo kiểu giám

sát với kỹ thuật lan truyền ngược, dựa vào luật học sai số hiệu chỉnh. Tín hiệu sai số được

lan truyền ngược qua mạng. Kỹ thuật lan truyền ngược sử dụng phương pháp giảm

gradient để xác định các trọng của mạng vì vậy tương đương với tối ưu tham số. Mạng

nơron được huấn luyện để xấp xỉ mối quan hệ giữa các biến.Mạng nơron được huấn

luyện để tối thiểu hàm sai số. Mạng được huấn luyện để tối thiểu sai số bình phương giữa

đầu ra của mạng và đầu vào hệ thống, xác định một hàm truyền ngược. Trong kiểu nhận

dạng này đầu ra của mạng hội tụ về đầu vào hệ sau khi huấn luyện, vì vậy mạng đặc

trưng cho hàm truyền ngược của hệ. Phương pháp nhận dạng khác cần phải hướng đầu ra

hệ thống tới đầu ra của mạng. Trong kiểu này mạng đặc trưng cho hàm truyền thẳng của

hệ thống. Giả sử các hàm phi tuyến để mô tả hệ thuộc lớp hàm đã biết trong phạm vi

quan tâm thì cấu trúc của mô hình nhận dạng phải phù hợp với hệ thống. Với giả thiết

các ma trận trọng của mạng nơron trong mô hình nhận dạng tồn tại, cùng các điều kiện

ban đầu thì cả hệ thống và mô hình có cùng lượng ra với bất kỳ lượng vào xác định. Do

đó quá trình nhận dạng thực chất là điều chỉnh tham số của mạng nơron dựa vào sai lệch

giữa các giá trị đầu ra của hệ thống và của mô hình.

52

Chương 3: CHƯƠNG TRÌNH THỬ NGHIỆM

3.1. Đặc trưng của phiếu điểm

Trước tiên, một vài điều kiện cần phải được áp đặt lên việc ghi phiếu để quá

trình phân đoạn cũng như nhận dạng diễn ra thuận lợi đó là:

-Viết rõ ràng, không đứt đoạn, không chồng chéo.

-Điểm được viết đúng vị trí, đúng ô, không đè lên các đường bao quanh ô, không

dập xóa lên phiếu.

Đặc trưng chung của các mẫu phiếu điểm rèn luyện là phần trên cùng gồm tên

phiếu điểm, các thông tin mô tả của phiếu điểm (tên sinh viên, tên lớp, khoa…). Phần

tiếp theo là điểm của sinh viên được ghi trong một bảng gồm nhiều hàng, mỗi hàng là

số điểm của sinh viên theo một tiêu chí. Các cột số điểm do sinh viên tự đánh giá, lớp

đánh giá và khoa đánh giá.

Mẫu phiếu điểm đánh giá rèn luyện: Phiếu điểm gồm các cột thông tin: Nội

dung đánh giá, điểm số, điểm do sinh viên tự đánh giá, điểm do lớp đánh giá, điểm do

hội đồng khoa đánh giá. Giáo viên sau khi chấm bài thi sẽ ghi điểm vào các phiếu này.

Hình 21: Mẫu phiếu điểm đánh giá rèn luyện

53

Mẫu phiếu điểm tổng kết: Phiếu điểm tổng kết gồm các cột thông tin: số thứ tự,

mã sinh viên, họ tên, điểm rèn luyện, ghi chú.

Hình 22: Mẫu phiếu điểm tổng kết

3.2. Bài toán

Hiện nay, đa phần các trường học đều sử dụng phần mềm tin học để quản lý

điểm rèn luyện. Việc này, giúp việc quản lý được chính xác, tra cứu nhanh chóng.

Tuy nhiên, theo tìm hiểu của tác giả thì các phần mềm này đều cho chỉ cho phép in

phiếu điểm để các giáo viên chấm thi nhập điểm rồi người phụ trách điểm phải có

trách nhiệm nhập điểm bằng tay. Mặc dù các phần mềm hiện nay đều có chức năng in

kiểm dò, nhưng công việc này vẫn hoàn toàn thủ công dẫn tới có nhiều sai sót.

Bài toán nhập điểm tự động nếu được giải quyết sẽ khắc phục được các vấn đề

mà tác giả đã nêu ở trên. Việc nhập điểm tự động sẽ là quá trình thu thập ảnh biên bản

chấm thi (thông thường qua máy Scanner) sau đó sẽ xử lý để đưa ra được bảng điểm

chính xác dưới dạng số trên máy tính. Trong bài toán này, có hai bài toán nhỏ cần giải

quyết đó là: Xác định vùng chứa dữ liệu điểm và nhận dạng chữ số viết tay. Trong

phạm vi nghiên cứu của luận văn, tác giả sẽ đi tập trung nghiên cứu vào việc nhận

dạng chữ số viết tay.

54

3.3. Tiền xử lý

Giai đoạn này góp phần làm tăng độ chính xác phân lớp của hệ thống nhận dạng,

tuy nhiên nó cũng làm cho tốc độ nhận dạng của hệ thống chậm lại. Vì vậy, tùy thuộc

vào chất lượng ảnh quét vào của từng phiếu điểm cụ thể để chọn một hoặc một vài

chức năng trong khối này. Nếu cần ưu tiên tốc độ xử lý và chất lượng của máy quét

tốt thì có thể bỏ qua giai đoạn này. Khối tiền xử lý bao gồm một số chức năng: Nhị

phân hóa ảnh, lọc nhiễu, chuẩn hóa kích thước ảnh, làm trơn biên chữ, làm đầy chữ,

làm mảnh chữ và xoay văn bản.

Nhị phân hóa ảnh

Nhị phân hóa ảnh là một kỹ thuật chuyển ảnh đa cấp xám sang ảnh nhị phân.

Trong bất kỳ bài toán phân tích hoặc nâng cao chất lượng ảnh nào, nó cũng cần thiết

để xác định các đối tượng quan trọng. Nhị phân hóa ảnh phân chia ảnh thành 2 phần:

phần nền và phần chữ. Hầu hết các phương pháp nhị phân hóa ảnh hiện nay đều lựa

chọn một ngưỡng thích hợp theo cường độ sáng của ảnh và sau đó chuyển tất cả các

giá trị độ sáng lớn hơn ngưỡng đó thành một giá trị độ sáng (ví dụ “trắng”) và tất cả

các giá trị bé hơn ngưỡng thành một giá trị độ sáng khác (“đen”).

Hình 23: Nhị phân hóa ảnh.

Lọc nhiễu

Nhiễu là một tập các điểm sáng thừa trên ảnh. Khử nhiễu là một vấn đề thường

gặp trong nhận dạng, nhiễu có nhiều loại (nhiễu đốm, nhiễu vệt, nhiễu đứt nét...).

55

Hình 24: Lọc nhiễu.

Để khử các nhiễu đốm (các nhiễu với kích thước nhỏ), có thể sử dụng các

phương pháp lọc (lọc trung bình, lọc trung vị...). Tuy nhiên, với các nhiễu vệt (hoặc các

nhiễu có kích thước lớn) thì các phương pháp lọc tỏ ra kém hiệu quả, trong trường hợp

này sử dụng phương pháp khử các vùng liên thông nhỏ tỏ ra có hiệu quả hơn.

Chuẩn hóa kích thước ảnh

Hình 25: Chuẩn hóa kích thước ảnh các số “4” và “6”.

Việc chuẩn hóa kích thước ảnh dựa trên việc xác định trọng tâm ảnh, sau đó xác

định khoảng cách lớn nhất từ tâm ảnh đến các cạnh trên, dưới, trái, phải của hình chữ

nhật bao quanh ảnh. Thông qua khoảng cách lớn nhất đó, có thể xác định được một tỷ

lệ co, giãn của ảnh gốc so với kích thước đã xác định, từ đó hiệu chỉnh kích thước ảnh

theo tỷ lệ co, giãn này. Như vậy, thuật toán chuẩn hóa kích thước ảnh luôn luôn đảm

bảo được tính cân bằng khi co giãn ảnh, ảnh sẽ không bị biến dạng hoặc bị lệch.

56

Làm trơn biên chữ

Đôi khi do chất lượng quét ảnh quá xấu, các đường biên của chữ không còn giữ

được dáng điệu trơn tru ban đầu mà hình thành các đường răng cưa giả tạo. Trong các

trường hợp này, phải dùng các thuật toán làm trơn biên để khắc phục.

(a) Ảnh gốc, (b) Ảnh sau khi được làm trơn biên.

Hình 26: Làm tròn biên chữ.

Chức năng này được áp dụng với các ký tự bị đứt nét một cách ngẫu nhiên. Ảnh

đứt nét gây khó khăn cho việc tách chữ, dễ bị nhầm hai phần liên thông của ký tự

thành hai ký tự riêng biệt, tạo nên sai lầm trong quá trình nhận dạng.

Làm mảnh chữ

Đây là một bước quan trọng nhằm phát hiện khung xương của ký tự bằng cách

loại bỏ dần các điểm biên ngoài của các nét. Tuy nhiên, quá trình làm mảnh chữ rất

nhạy cảm với việc khử nhiễu.

Hình 27: Làm mảnh chữ.

Điều chỉnh độ nghiêng của văn bản

57

Do trang tài liệu quét vào không cẩn thận hoặc do sự cố in ấn, các hàng chữ bị

lệch so với lề chuẩn một góc α, điều này gây khó khăn cho công đoạn tách chữ, đôi

khi không thể tách được. Trong những trường hợp như vậy, phải tính lại tọa độ điểm

ảnh của các chữ bị sai lệch. Có nhiều kỹ thuật để điều chỉnh độ nghiêng, kỹ thuật phổ

biến nhất dựa trên cơ sở biểu đồ chiếu (projection profile) của ảnh tài liệu; một số kỹ

thuật dựa trên cơ sở các phép biến đổi Hough và Fourier.

3.4. Phân đoạn và trích chọn đặc trưng

Khối này có nhiệm vụ tách từng ký tự ra khỏi phiếu điểm. Chỉ khi nào phiếu điểm

được tách và cô lập từng dòng (ứng với thông tin điểm của từng sinh viên) và cô lập

đúng từng ký tự đơn ra khỏi tổng thể hệ thống mới có thể nhận dạng đúng ký tự đó.

Trích chọn đặc trưng đóng vai trò cực kỳ quan trọng trong một hệ thống nhận

dạng. Trong trường hợp đơn giản nhất, ảnh đa cấp xám hoặc ảnh nhị phân được sử

dụng cho việc nhận dạng. Tuy nhiên, trong hầu hết các hệ nhận dạng, để giảm độ

phức tạp và tăng độ chính xác của các thuật toán phân lớp thì đòi hỏi các đặc trưng

được trích chọn phải rút gọn lại càng nhỏ càng tốt nhưng vẫn phải đảm bảo được

thông tin của ký tự. Với mục tiêu này, một tập các đặc trưng được trích chọn cho mỗi

lớp sao cho có thể phân biệt được với các lớp khác.

Hình 28: Tách thông tin phiếu điểm.

58

3.5. Huấn luyện và nhận dạng

Tập dữ liệu huấn luyện sau khi qua các khâu tiền xử lý và trích chọn đặc trưng sẽ

được đưa vào máy huấn luyện mô hình mạng nơron. Sau khi kết thúc quá trình huấn

luyện, hệ thống sẽ lưu lại giá trị các tham số của hàm quyết định phân lớp để phục vụ

cho việc nhận dạng sau này

3.6. Hậu xử lý

Đây là công đoạn cuối của quá trình nhận dạng phiếu điểm. Có thể hiểu hậu xử

lý là bước ghép nối các kí tự, điểm đã nhận dạng và chuyển vào cơ sở dữ liệu lưu trữ

điểm của sinh viên, đồng thời phát hiện ra các lỗi nhận dạng sai bằng cách kiểm tra

giá trị số báo danh, số phách, điểm số dựa trên các miền giá trị của chúng. Việc phát

hiện ra các lỗi, các sai sót trong nhận dạng ở bước này góp phần đáng kể vào việc

nâng cao chất lượng nhận dạng phiếu điểm.

PHẦN KẾT LUẬN

Trong các giai đoạn của một hệ thống nhập điểm tự động, giai đoạn phân đoạn

và trích chọn đặc trừng là khó khăn và đòi hỏi nhiều thời gian do ảnh thu được từ các

thiết bị thường bị sai lệch do các yếu tố như góc quay, khoảng cách, ánh sáng, ... Phần

lớn kết quả nhận dạng sai là do không trích chọn được những đặc trưng của ảnh. Đề

tài đã nghiên cứu một số kỹ thuật trích chọn đặc trưng và nhận dạng ảnh bằng phương

pháp mạng nơron.

Trong thời gian nghiên cứu và thực hiện luận văn, tác giả đã đạt được một số kết

quả sau:

- Nghiên cứu một số kỹ thuật tiền xử lý ảnh nhằm nâng cao chất lượng ảnh đầu vào;

- Nghiên cứu một số kỹ thuật trích chọn đặc trưng trong ảnh: Kỹ thuật trích chọn

đặc trưng kết hợp biến đổi DCT và thuật toán phân tích thành phần chính PCA, kỹ

59

thuật trích đặc trưng sử dụng Momen Legendre, Kỹ thuật sử dụng mạng Neural nhân

chập (Convolution neural network).

- Thiết kế chương trình trích nhận dạng ảnh dựa vào mạng nơron. Chương trình

cho phép nhận ảnh bảng điểm từ file.

60

TÀI LIỆU THAM KHẢO

Tiếng việt

[1] Lương Ma ̣nh Bá, Nguyễn Thanh Thủy (1999), Nhập môn xử lý ảnh số ,

NXB Khoa ho ̣c kỹ thuâ ̣t.

[2] Đỗ Năng Toàn (2010), Giáo trình xử lý ảnh, Ho ̣c viện Công nghê ̣ Bưu

chính Viễn thông. Tiếng anh

[3] D. Heckenberg, B. C. Lovell (2000), “A Gesture Driven Computer

Interface”, Proceeding of Visual Communications and Image Processing, SPIE, 4067,

261-268.

[4] Journal on Graphics (2006), Vision and Image Processing, 6.

[5] J. Mathews (2002), “An Introduction to Edge Detection: The Sobel Edge

Detector”.

[6] Peter l. Rockett (2005), “An Improved Rotation-Invarient Thinning

Algorithm”, IEEE transaction on Pattern, Analysis and Machine Intelligence,

27, 10.

[7] Te-Hsiu Sun, Fang-Chih Tien (2008), Using Backpropagation Neural

Network for Face Recognition with 2D+ 3D Hybrid Information, Elsevier: Expert

System with Applications, 35,361-372.

[8] N. Sakai, S. Yonekawa and A. Matsuzaki, Two-dimensional image

analysis of the shape of rice and its applications to separating varieties”, Journal of

Food Engineering, vol 27, 1996, pp. 397-407.

[9] A. J. M. Timmermans, and A. A. Hulzebosch, Computer vison system for

on-line sorting of pot plants using an artificial neural network classifier, Computers

and Electronics in Agriculture, vol. 15, 1996, pp. 41-55.

61

[10]

S. Abbasi, F. Mokhtarian, and J. Kittler, Reliable classification of

chrysanthemum leaves through curvature scale space, Lecture Notes in Computer

Science, vol. 1252, 1997, pp. 284-295.

[11] J. Camarero, S. Siso, and E.G-Pelegrin, Fractal dimension does not

adequately describe the complexity of leaf margin in seedlings of Quercus species,

Anales del Jardín Botánico de Madrid, vol. 60, no. 1, 2003, pp. 63-71.

Các trang website tham khảo

[12] http://andrewback.com/ivs.php