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

73 668 1
Nghiên cứu mạng nơron và ứng dụng trong nhận dạng chữ viết tay trực tuyến

Đ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

i BẢN CAM KẾT Tên là: Chu Hoàng Hà Lớp: Cao học Công nghệ thông tin K10A Khoá học: 2011 - 2013 Chuyên ngành:Khoa học máy tính Mã số chuyên ngành: 60 48 01 Cơ sở đào tạo: Trường Đại học Công nghệ thông tin Truyền thông Thái Nguyên Giáo viên hướng dẫn: PGS-TS Ngô Quốc Tạo Cơ quan công tác: Trường Đại học Sư phạm Kỹ Thuật Nam Định Tôi xin cam đoan toàn nội dung trình bày luận văn kết tìm hiểu nghiên cứu riêng tôi, trình nghiên cứu luận văn “Nghiên cứu mạng nơron ứng dụng nhận dạng chữ viết tay trực tuyến” kết liệu nêu hoàn toàn trung thực Mọi thông tin trích dẫn tuân theo luật sở hữu trí tuệ, có liệt kê rõ ràng tài liệu tham khảo Tôi xin chịu hoàn toàn trách nhiệm với nội dung viết luận văn Thái Nguyên, ngày 08 tháng 06 năm 2013 HỌC VIÊN CHU HOÀNG HÀ ii LỜI CẢM ƠN Luận văn thực Trường Đại học Công nghệ Thông tin Truyền Thông - Đại học Thái Nguyên hướng dẫn thầy PGS-TS Ngô Quốc Tạo Trước hết em xin bày tỏ lòng biết ơn sâu sắc tới thầy PGS-TS Ngô Quốc Tạo - Viện Công nghệ thông tin, người tận tình hướng dẫn giúp đỡ để em hoàn thành tốt luận văn Em xin gửi lời cảm ơn chân thành đến thầy cô giáo Trường Đại học Công nghệ Thông tin Truyền Thông - Đại học Thái Nguyên, thầy cô giáo nhiệt tình giảng dạy, truyền đạt kiến thức cho em suốt trình học tập trường trình làm luận văn Cuối em xin gửi lời cảm ơn đến gia đình, bạn bè, đồng nghiệp người động viên, giúp đỡ tạo điều kiện cho em trình học tập hoàn thành luận văn Thái Nguyên, ngày 08 tháng 06 năm 2013 HỌC VIÊN CHU HOÀNG HÀ iii MỤC LỤC LỜI MỞ ĐẦU Chương KHÁI QUAN VỀ MẠNG NƠRON 1.1 Khái niệm mạng nơron .4 1.1.1 Giới thiệu 1.1.1.1 Nơron 1.1.1.2 Chức năng, tổ chức hoạt động não người 10 1.1.1.3 So sánh mạng nơron với máy tính truyền thống .10 1.1.2 Nơron nhân tạo 11 1.1.3 Mạng nơron nhân tạo .14 1.2 Đặc trưng mạng nơron[5] 15 1.2.1 Tính phi tuyến .15 1.2.2 Tính chất tương ứng đầu vào, đầu 16 1.2.3 Tính chất thích nghi .16 1.2.4 Tính chất đưa lời giải có chứng 16 1.2.5 Tính chất chấp nhận sai sót 16 1.2.6 Khả tích hợp VLSI (Very-Large-Scale-Intergrated) 17 1.2.7 Tính chất tương tự phân tích thiết kế 17 1.3 Phân loại mạng nơron nhân tạo 17 1.3.1 Phân loại theo kiểu liên kết nơron 17 1.3.2 Một số loại mạng nơron điển hình[20] 18 1.3.2.1 Mạng dẫn tiến (feedforward) 18 1.3.2.1 Mạng quy hồi (recurrent network) 20 1.4 Xây dựng mạng nơron[8] 21 1.5 Huấn luyện mạng nơron 22 1.5.1 Phương pháp học 22 iv 1.5.1.1 Học có giám sát 22 1.5.1.2 Học không giám sát 23 1.5.1.3 Học tăng cường 23 1.5.2 Thuật toán học .23 1.6 Thu thập liệu cho mạng nơron 24 1.7 Biểu diễn tri thức cho mạng nơron 26 1.8 Ứng dụng mạng nơron .28 Chương 30 ỨNG DỤNG MẠNG NƠRON TRONG NHẬN DẠNG CHỮ VIẾT TAY TRỰC TUYẾN .30 2.1 Giới thiệu toán nhận dạng kí tự 30 2.1.1 Giới thiệu sơ lược nhận dạng 30 2.1.2 Giới thiệu nhận dạng chữ viết tay 31 2.1.3 Nhận dạng chữ viết tay mạng nơron[5] 35 2.1.4 Phát biểu toán 36 2.1.5 Các bước giải toán sử dụng mạng nơron nhận dạng ký tự36 2.2 Mạng Perceptron nhận dạng ký tự 36 2.2.1 Giới thiệu mạng nơron Perceptron 36 2.2.2 Cấu trúc mạng nơron Perceptron .37 2.2.3 Thực thi mạng nơron Perceptron .38 2.2.3.1 Thuật toán học mạng nơron lớp 38 2.2.3.2 Thuật toán học mạng nơron nhiều lớp 40 2.2.4 Nhận xét 44 2.3 Mạng Kohonen nhận dạng ký tự 45 2.3.1 Giới thiệu mạng nơron Kohonen .45 2.3.2 Cấu trúc mạng nơron Kohonen[16] 46 2.3.3 Thực thi mạng nơron Kohonen[15] 46 2.3.2.1 Chuẩn hóa đầu vào 46 v 2.3.2.2 Tính toán đầu cho nơron 47 2.3.2.3 Chọn nơron chiến thắng 47 2.3.2.4 Quá trình học mạng nơron Kohonen 48 2.3.3 Nhận xét 51 Chương 52 XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG CHỮ VIẾT TAY .52 TRỰC TUYẾN 52 3.1 Giới thiệu 52 3.2 Xây dựng giao diện vẽ .53 3.3 Xử lý liệu (phân tích ảnh) 54 3.4 Xây dựng mạng nơron .54 3.4 Xây dựng mạng nơron Perceptron 54 3.4.2 Xây dựng mạng nơron Kohonen 56 3.5 Chương trình minh họa 59 3.5.1 Các chức chương trình 59 3.5.2 Kết nhận dạng 60 3.6 Đánh giá, nhận xét 62 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .64 Những kết mà luận văn đạt .64 Hướng phát triển 64 TÀI LIỆU THAM KHẢO 65 vi DANH MỤC CÁC HÌNH Hình 1.1 Sơ đồ nơron sinh học Hình 1.2 Mạng nơron sinh học 10 Hình 1.3 Mô hình nơron nhân tạo 11 Hình 1.4 Sự tương đương nơron sinh học nơron nhân tạo[16] 12 Hình 1.5 Mô hình phi tuyến thứ hai mạng nơron .14 Hình 1.6 Sơ đồ đơn giản mạng nơron nhân tạo[8] .15 18 Hình 1.7 Mạng truyền thẳng 18 Hình 1.8 Mạng quy hồi 18 Hình 1.9 Mạng tiến với mức nơron 19 Hình 1.10 Mạng tiến kết nối đầy đủ với mức ẩn mức đầu .20 Hình 1.11 Mạng hồi quy nơron ẩn vòng lặp tự phản hồi 20 Hình 1.12 Mạng hồi quy có nơron ẩn 21 Hình 1.13 Sơ đồ đồ thị có hướng đơn giản 21 Hình 2.1 Mô hình chung nhận dạng chữ viết .34 Hình 2.2 Mô hình tổng quát mạng nơron Perceptron 37 Hình 2.3 Bài toán XOR 39 Hình 2.4 Cấu trúc mạng Kohonen 46 Hình 2.5 Quá trình huấn luyện mạng nơron Kohonen 48 Hình 3.1 Quá trình tìm giới hạn ký tự 53 Hình 3.2 Quá trình lấy mẫu xuống 53 Hình 3.3 Quá trình ánh xạ từ ma trận điểm sang ma trận giá trị 54 Hình 3.4 Quá trình huấn luyện mạng .58 Hình 3.5 Giao diện chương trình minh họa 59 Hình 3.6 Tải mẫu 60 Hình 3.7 Nhận dạng ký tự e mạng Kohonen 61 vii Hình 3.8 Nhận dạng ký tự e mạng Perceptron 61 Hình 3.9 Thêm mẫu 62 LỜI MỞ ĐẦU Mạng nơron nhân tạo ANN (Artificial Neural Networks) mô xử lý thông tin, nghiên cứu từ hệ thống thần kinh sinh vật, giống não để xử lý thông tin Nó bao gồm số lượng lớn mối gắn kết cấp cao để xử lý yếu tố làm việc mối liên hệ giải vấn đề rõ ràng ANN giống người, học kinh nghiệm, lưu kinh nghiệm hiểu biết sử dụng tình phù hợp quan trọng hết, người có khả sáng tạo Đầu tiên ANN giới thiệu năm 1943 nhà thần kinh học Warren McCulloch nhà logic học Walter Pits Nhưng với kỹ thuật thời gian chưa cho phép họ nghiên cứu nhiều Những năm gần mô ANN xuất phát triển Các nghiên cứu ứng dụng thực ngành: điện, điện tử, kỹ thuật chế tạo, y học, quân sự, kinh tế Một ứng dụng kinh điển mạng nơron toán nhận dạng mẫu, mẫu tập hợp (hay vector) tham số biểu thị thuộc tính trình vật lý Ngoài sức mạnh vốn có, mạng nơron thể ưu điểm việc nhận dạng thông qua khả mềm dẻo, dễ thích nghi với môi trường Chính vậy, coi mạng nơron trước tiên công cụ để nhận dạng Các toán nhận dạng nghiên cứu nhiều bao gồm 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 nhận dạng ký tự viết Nhận dạng ký tự viết bao gồm hai kiểu nhận dạng ký tự in nhận dạng ký tự viết tay Cho đến toán nhận dạng ký tự in giải trọn vẹn với đời nhiều hệ thống nhận dạng đạt tới độ xác gần tuyệt đối Nhận dạng ký tự viết tay vấn đề thách thức lớn nhà nghiên cứu, toàn chưa thể giải trọn vẹn phụ thuộc nhiều vào người viết biến đổi đa dạng cách viết trạng thái tinh thần người viết Đặc biệt việc nhận dạng ký tự viết tay tiếng Việt lại gặp nhiều khó khăn ký tự tiếng Việt có nhiều ký tự có hình dáng giống nhau, khác chút phần dấu Chính lý nêu với gợi ý thầy giáo nhận thấy nghiên cứu mạng nơron hướng nghiên cứu quan trọng, mẻ có nhiều triển vọng Đồng thời áp dụng mạng nơron để giải toán nhận dạng chữ viết tay tiếng Việt hướng tiếp cận khoa học có hiệu quả, góp phần giải toán nhận dạng chữ viết tay tiếng Việt chưa giải trọn vẹn Do chọn đề tài: “Nghiên cứu mạng nơron ứng dụng nhận dạng chữ viết tay trực tuyến” Tuy nhiên hạn chế mặt thời gian độ phức tạp toán, sâu nghiên cứu mô nhận dạng ký tự viết tay tiếng Việt rời rạc trực tuyến Nội dung luận văn gồm: Chương 1: Khái quát mạng nơron Trình bày lý thuyết mô hình mạng nơron như: lịch sử đời phát triển mạng nơron, khái niệm mạng nơron, loại mô hình mạng nơron, đặc trưng mạng, phương pháp huấn luyện mạng nơron, phương pháp học có giám sát Các vấn đề ứng dụng mạng nơron Chương 2: Ứng dụng mạng nơron nhận dạng chữ viết tay trực tuyến Giới thiệu nhận dạng, toán nhận dạng, nhận dạng chữ viết tay tiếng Việt Phương pháp nhận dạng chữ viết tay mạng nơron, phát biểu toán, bước giải toán Trình bày lý thuyết mạng nơron Perceptron, Kohonen như: giới thiệu mạng, cấu trúc mạng, bước thực thi mạng: chuẩn hóa đầu vào, tính toán đầu ra, trình huấn luyện mạng,… Chương 3: Xây dựng chương trình nhận dạng chữ viết tay trực tuyến Trình bày phạm vi chương trình minh họa, bước thực chương trình minh họa: Thực chương trình nhận dạng ký tự, xác định tham số cho mạng, vẽ hình ảnh, lấy mẫu xuống hình ảnh, tập huấn luyện, lớp mạng bản, … Chương trình minh họa: Các chức chương trình, kết nhận dạng, đánh giá, nhận xét Kết luận hướng phát triển Trình bày kết đạt được, hướng phát triển số suy nghĩ nghiên cứu Do thời gian trình độ hạn chế nên luận văn khó tránh khỏi thiếu sót, kính mong nhận đóng góp, bảo thầy giáo, cô giáo bạn đồng nghiệp Cuối cùng, tác giả xin chân thành bày tỏ lòng biết ơn sâu sắc đến thầy giáo PGS-TS Ngô Quốc Tạo - Viện Công nghệ thông tin, Viện Khoa học Công nghệ Việt Nam tận tình hướng dẫn, bảo, giúp đỡ, khích lệ tác giả suốt trình làm luận văn Đồng thời, tác giả xin chân thành cảm ơn thầy cô trường ĐH CNTT & TT Thái Nguyên tạo điều kiện thuận lợi, giúp đỡ tác giả hoàn thành luận văn Học viên Chu Hoàng Hà 52 Chương XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG CHỮ VIẾT TAY TRỰC TUYẾN 3.1 Giới thiệu Trong luận văn hạn chế mặt thời gian độ phức tạp nhận dạng chữ viết tay tiếng Việt hạn chế mô nhận dạng ký tự viết tay tiếng Việt rời rạc trực tuyến Các ký tự tiếng Việt gồm ký tự không dấu {A, B, C, D, Đ, E, G, H, I, K, L, M, N, O, P, Q, R, S, T, U, V, X, Y} ký tự có dấu {Ă, Â, À, Ả, Ã, Á, Ạ, Ằ, Ẳ, Ẵ, Ắ, Ặ, Ầ, Ẩ, Ẫ, Ấ, Ậ, Ê, È, Ẻ, Ẽ, É, Ẹ, Ề, Ể, Ễ, Ế, Ệ, Ì, Ỉ, Ĩ, Í, Ị, Ô, Ơ, Ò, Ỏ, Õ, Ó, Ọ, Ồ, Ổ, Ỗ, Ố, Ộ, Ờ, Ở, Ỡ, Ớ, Ợ, Ư, Ù, Ủ, Ũ, Ú, Ụ, Ừ, Ử, Ữ, Ứ, Ự, Ỳ, Ỷ, Ỹ, Ý, Ỵ} Chương trình huấn luyện để nhận dạng ký tự viết tay người sử dụng vẽ chúng, chức tương tự nhận dạng ký tự viết tay sử dụng thiết bị cầm tay PDA (Personal Digital Assistant ) Chương trình gồm giao diện đơn giản cho phép người sử dụng dùng chuột vẽ ký tự cần nhận dạng tiến hành nhận dạng Khi vẽ ký tự có hình chữ nhật xung quanh ký tự Mục đích hình chữ nhật để cắt khoảng trắng không liên quan đến ký tự làm cho chương trình có khả không cần quan tâm đến vị trí ký tự viết Ta vẽ ký tự giữa, trên, hay vị trí khác chương trình có khả nhận dạng Sau vẽ ký tự, ký tự cắt bỏ khoảng trắng xung quanh mà không liên quan đến ký tự, sau lấy mẫu xuống ký tự vẽ có độ phân giải cao mà mạng nơron không hiểu Giảm mẫu hình ảnh, hình ảnh ánh xạ vào lưới nhỏ có kích thước 10*10 Nhìn vào ta thấy hình ảnh ký tự Nhờ lấy mẫu xuống nên số đầu vào ký tự đầy đủ kích thước Đồng thời ký tự quy kích thước cố định, quan tâm ký tự vẽ lớn, hay nhỏ huấn luyện hay nhận dạng Các bước giải toán sử dụng mạng nơron nhận dạng ký tự: 53 - Xây dựng giao diện vẽ - Xử lý liệu (phân tích ảnh) - Xây dựng mạng nơron - Huấn luyện mạng nơron - Nhận dạng mạng nơron 3.2 Xây dựng giao diện vẽ - Xây dựng giao diện đồ họa, cho phép người sử dụng dùng chuột vẽ ký tự cần nhận dạng - Tìm giới hạn trên, giới hạn dưới, trái, phải ký tự sau vẽ - Cắt bỏ tất khoảng trắng xung quanh ký tự vẽ thu ảnh có hoàn toàn ký tự Như quy xử lý ảnh có ký tự, không quan tâm ký tự vẽ vị trí nào: bên hay dưới, bên trái hay bên phải Hình 3.1 Quá trình tìm giới hạn ký tự - Thực lấy mẫu xuống ảnh ký tự cách ánh xạ ký tự vào lưới có kích thước 10*10 Bằng cách ta quy ký tự kích thước cố định, không cần quan tâm đến kích thước ký tự vẽ vào to hay nhỏ Hình 3.2 Quá trình lấy mẫu xuống 54 3.3 Xử lý liệu (phân tích ảnh) Quá trình phân tích ảnh trình tìm đặc tính ký tự Các điểm ảnh giá trị đầu vào cho trình huấn luyện trình kiểm tra Quá trình phân tích dựa việc nhận dạng từ ảnh người sử dụng vẽ vào phương pháp tìm điểm đen RGB(0,0,0) điểm trắng RGB(255,255,255) Kết thu ma trận điểm ảnh Sau ma trận ánh xạ thành vector đầu vào có kích thước 100 phần tử Trước đưa vào mạng vector xử lý làm điểm ảnh thành vector gồm phần tử 0.5 -0.5 Hình 3.3 Quá trình ánh xạ từ ma trận điểm sang ma trận giá trị 3.4 Xây dựng mạng nơron 3.4 Xây dựng mạng nơron Perceptron a) Chuẩn bị liệu Kích thước mẫu : Không có nguyên tắc hướng dẫn kích thước mẫu phải toán cho trước Ở sử dụng mẫu lớn cho đủ khả lưu trữ nhớ Tập mẫu dược chia thành tập con: để xây dựng mô hình gọi tập huấn luyện (training set), để kiểm nghiệm mô hình gọi tập kiểm tra (test set) Trong chương trình dùng 2/3 mẫu cho huấn luyện 1/3 cho kiểm tra b) Xác định tham số cho mạng  Chọn hàm truyền Không phải hàm truyền cho kết mong muốn Cần chọn hàm truyền cho kiến trúc mạng nơron đối xứng (tức với 55 đầu vào ngẫu nhiên đầu có phân bố đối xứng) Nếu mạng nơron không đối xứng giá trị đầu lệch sang bên, không phân tán lên toàn miền giá trị output Điều làm cho mạng rơi vào trạng thái bão hòa, không thoát Trong trình xây dựng mạng nơron Perceptron, hàm truyền dạng – S f ( x) = sử dụng hàm Sigmoid: (1 + e − x )  Xác định số nơron tầng ẩn Việc chọn số lượng nơron tầng ẩn mạng Perceptron phụ thuộc vào toán cụ thể vào kinh nghiệm nhà thiết kế mạng Nếu tập liệu huấn luyện chia thành nhóm với đặc tính tương tự số lượng nhóm sử dụng để chọn số lượng nơron ẩn Trong trường hợp liệu huấn luyện nằm rải rác không chứa đặc tính chung, số lượng kết nối gần với số lượng mẫu huấn luyện để mạng hội tụ Trong trình xây dựng mạng nơron Perceptrong sử dụng thuật toán lan truyền ngược, lượng nơron tầng ẩn h mạng phải thỏa mãn: h> (p − 1) (n + 2) Trong đó: + p số lượng mẫu huấn luyện + n số lượng đầu vào mạng  Khởi tạo trọng số Các trọng số khởi tạo với giá trị nhỏ: Trọng số nơ ron đầu vào 1, trọng số nơ ron tầng ẩn tầng lấy ngẫu nhiên quanh giá trị Các ngưỡng khởi tạo với giá trị nhỏ: Ngưỡng nơ ron đầu vào 1, ngưỡng nơ ron tầng ẩn tầng khởi tạo khoảng 0.25 đến Thời gian học η = 0.2 cho nơ ron tầng ẩn, η = 0.15 cho nơ ron tầng Lỗi chấp nhận 0.05 56 c) Huấn luyện mạng nơron Perceptron Thuật toán huấn luyện mạng thuật toán lan truyền ngược trình bày chương Quá trình huấn luyện bao gồm bước: - Thiết lập tham số đầu vào - Tất mẫu đầu vào lấy mẫu hình ảnh ký tự xuống lưới kích thước 10*10 Ta ma trận hai chiều kích thước 10*10 có giá trị tương ứng với giá trị điểm ảnh - Chuyển thành vector đầu vào có kích thước 10*10 - Đưa vector đầu vào vào mạng - Thực tìm ma trận trọng số tốt theo thuật toán lan truyền ngược d) Nhận dạng mạng nơron Perceptron Quá trình nhận dạng diễn theo bước sau: - Bước 1: Người sử dụng vẽ ký tự cần nhận dạng - Bước 2: Ký tự lấy mẫu xuống lưới kích thước 10*10 Ta ma trận hai chiều kích thước 10*10 có giá trị tương ứng với giá trị điểm ảnh - Bước 3: Chuyển ma trận điểm ảnh thành vector đầu vào có kích thước 10*10 bao gồm giá trị 0.5, - 0.5 - Bước 4: Vector đầu vào đưa vào mạng nơron để tính toán đầu - Bước 5: Tính toán đầu mạng - Bước 6: Cập nhật đầu mạng để tìm kí tự tương ứng - Bước 7: Hiển thị kết nhận dạng tương ứng với ký tự vẽ 3.4.2 Xây dựng mạng nơron Kohonen a) Xây dựng mạng Một việc quan trọng việc định cỡ mạng Việc định cỡ đầu vào phụ thuộc vào việc định cỡ lưới lấy mẫu xuống Nếu ta chia ảnh ký tự thành ma trận có kích thước lớn ký tự biểu diễn cách chi tiết Tuy nhiên, việc dẫn đến chi phí xử lý ma trận lớn Ngược lại, ta dùng ma trận kích thước nhỏ để biểu diễn ảnh ký tự dẫn đến việc 57 mát thông tin Để cho cân hợp lý, ta chuẩn hóa cỡ ma trận 10*10, tức ảnh biểu diễn 100 phần tử Lớp đầu vào gồm 100 nơron nhận giá trị từ 100 thành phần tương ứng vector đầu vào Dữ liệu đầu vào có từ việc vector hóa từ ma trận điểm ảnh ký tự phương pháp chia lưới Lớp đầu có số nơron với số mẫu nhập vào b) Huấn luyện mạng nơron Kohonen Một mạng nơron xây dựng phải huấn luyện không gian đầu vào chuẩn bị trước Khi hoạt động, mạng nơron đọc giá trị huấn luyện Sự phức tạp tham số cho việc huấn luyện mạng: Việc chọn giá trị cho tham số (tốc độ học, số lần lặp cần thiết, giá trị ngưỡng lỗi…) dựa vào kinh nghiệm qua lần tiến hành thực nghiệm Mục đích trình huấn luyện hiệu chỉnh trọng số W cho giống với vector đầu vào Thực hiệu chỉnh vector trọng số ứng với ký tự mẫu Kết thu ma trận trọng số W giống với tập vector đầu vào Huấn luyện bao gồm bước: - Thiết lập tham số đầu vào - Tất mẫu đầu vào lấy mẫu hình ảnh ký tự xuống lưới kích thước 10*10 Ta ma trận hai chiều kích thước 10*10 có giá trị tương ứng với giá trị điểm ảnh - Chuyển thành vector đầu vào có kích thước 10*10 - Đưa vector đầu vào vào mạng - Thực tìm ma trận trọng số tốt theo sơ đồ thuật toán sau: 58 Hình 3.4 Quá trình huấn luyện mạng 59 3.5 Chương trình minh họa 3.5.1 Các chức chương trình Hình 3.5 Giao diện chương trình minh họa  Ký tự: Chứa ký tự mẫu dùng để huấn luyện  Giá trị: Lưu trữ giá trị ký tự mẫu dùng để huấn luyện  Nhận dạng kí tự: Vùng để vẽ ký tự lên  Tập mẫu: Chứa ký tự mẫu dùng để huấn luyện  Tải mẫu: Tải tập ký tự mẫu tạo sẵn file: TapMau.xml  Thêm ký tự: Ghi lại tập ký tự mẫu vào file: TapMau.xml  Học theo Kohonen: Huấn luyện mạng nơron Kohonen  Học theo Perceptron: Huấn luyện mạng nơron Perceptron  Xóa ký tự: Xóa ký tự mẫu chọn khỏi file TapMau.xml  Nhận dạng: Nhận dạng ký tự vẽ vào  Giới thiệu: Giới thiệu sơ chương trình Chúng ta tải tập huấn luyện từ file tạo sẵn TapMau.xml cách nhấn nút “Tải mẫu” tự nhập mẫu để huấn luyện cách vẽ ký tự vào vùng vẽ ký tự nhấn “Thêm ký tự”, có hộp 60 thoại nhắc bạn đánh vào ký tự tương ứng để nhận dạng ký tự tương ứng với ký tự vừa vẽ Sau nhập xong tập mẫu nhấn nút “Học theo Kohonen” để huấn luyện cho mạng nơron Kohonen nhấn nút “Học theo Perceptron” để huấn luyện cho mạng nơron Perceptron Quá trình huấn luyện hoàn thành, thực nhận dạng ký tự cách vẽ ký tự nhấn “Nhận dạng” Khi ký tự hiển thị lưới kích thước 10*10 Có thể xóa ký tự xóa mẫu tập mẫu cách chọn ký tự cần xóa nhấn nút “Xóa ký tự” 3.5.2 Kết nhận dạng - Để nhận dạng ký tự ta vẽ ký tự cần nhận dạng vào vùng vẽ chữ (vùng chữ nhật màu trắng, bên phần “Nhận dạng ký tự”) - Ký tự đồng thời hiển thị lưới kích 10*10 (vùng ô vuông màu xanh, bên phải giao diện chương trình) -Nhấn nút nhận dạng Ký tự nhận dạng tương ứng với ký tự cần nhận dạng vẽ hiển thị hình Một số kết minh họa Hình 3.6 Tải mẫu 61 Hình 3.7 Nhận dạng ký tự e mạng Kohonen Hình 3.8 Nhận dạng ký tự e mạng Perceptron 62 Hình 3.9 Thêm mẫu 3.6 Đánh giá, nhận xét Có nhiều phương pháp để giải toán nhận dạng ký tự viết tay tiếng Việt Nếu áp dụng mạng nơron để giải quyết, thông thường người ta hay sử dụng mạng dẫn tiến đa lớp cho việc thực nhận dạng Nhưng thấy số khó khăn vấn đề tìm số nơron lớp, lớp ẩn Thuật toán lan truyền ngược phức tạp hơn, nhiều công thức tính toán hơn, lại phải xét lớp mạng Trong mạng nơron Kohonen loại mạng phổ biến có cấu trúc đơn giản hơn, bước thực đơn giản, rõ ràng, dễ dàng lựa chọn hiệu chỉnh tham số đầu vào, trình huấn luyện mạng nhanh, dễ hội tụ Vì lựa chọn mạng nơron Kohonen để giải toán nhận dạng ký tự viết tay tiếng việt rời rạc trực tuyến đơn giản hơn, hiệu Chương trình nhận dạng với độ xác cao Nếu ký tự nhận dạng chưa xác ta thêm mẫu huấn luyện lại cho ký tự đến nhận dạng ký tự xác Nếu ký tự gần giống nhận dạng dễ lẫn sang huấn luyện ta thêm mẫu tương ứng với ký tự đến đạt tỷ lệ nhận dạng cao 63 Chương trình nhận dạng xác với ký tự không dấu đến 96%, ký tự có dấu độ xác lớn 85% Đối với ký tự có dấu độ xác giảm so với trường hợp dấu trường hợp ký tự khác ít, nên số lượng mẫu huấn luyện cho các ký tự có dấu cần nhiều Để nhận dạng nhiều kiểu viết khác tập mẫu huấn luyện cho ký tự phải có nhiều dạng phong phú, tương ứng với cách viết mà người sử dụng viết Quá trình huấn luyện giải khía cạnh phức tạp toán nhận dạng chữ viết tay đa dạng chữ viết tay, đặc biệt chữ viết tay tiếng Việt Như chương trình minh họa cho nhận dạng ký tự viết tay tiếng Việt trực tuyến đạt mục tiêu toán phức đặt Nghiên cứu mạng nơron hướng nghiên cứu mẻ có nhiều hứa hẹn Với hướng tiếp cận áp dụng cho giải toán nhận dạng ký tự viết tay tiếng Việt trực tuyến vốn phức tạp đặc điểm: - Ký tự viết tay trực tuyến phải thêm phần tạo giao diện để vẽ ký tự, so với việc nhập đầu vào file ảnh ký tự viết tay - Ký tự viết tay hình dạng ký tự phong phú đa dạng phụ thuộc nhiều vào người viết, người có cách viết khác - Ký tự viết tay tiếng Việt có số lượng lớn, lớn nhiều so với ký tự theo chuẩn khác Ví dụ: chuẩn tiếng Việt có 89 ký tự gồm ký tự không dấu có dấu, chuẩn tiếng Anh gồm 26 ký tự không dấu Mặt khác ký tự lại giống nên dễ nhầm lẫn trình nhận dạng - Như giải toán phải đáp ứng yêu cầu: - Giải phức tạp việc xử lý liệu đầu vào - Giải việc xử lý khối lượng liệu lớn - Giải độ chuẩn xác trình nhận dạng - Giải mức độ tổng quát, đa dạng, phong phú trình xây dựng huấn luyện mạng để đạt độ xác cao nhận dạng 64 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Những kết mà luận văn đạt Về mặt lý thuyết Tìm hiểu thành phần kiểu kiến trúc mạng nơron, phân biệt số loại mạng nơron Nắm ý nghĩa việc học hay tích luỹ, có vai trò to lớn quy tắc học, mô hình học thuật toán học nhiều khả ứng dụng khác Tìm hiểu ứng dụng mạng nơron thực tế Nắm kiến thức mô hình mạng nơron Kohonen cách xây dựng mô hình mạng nơron thực tế Nắm quy trình chung xây dựng hệ thống nhận dạng ký tự viết tay tiếng Việt trực tuyến Vận dụng mạng nơron Kohonen để xây dựng mô nhận dạng ký tự viết tay tiếng Việt rời rạc trực tuyến Về mặt thực tiễn Đưa phương pháp xử lý với ký tự viết tay tiếng Việt rời rạc, xây dựng thành công hệ thống nhận dạng ký tự viết tay tiếng Việt rời rạc sử dụng mô hình mạng nơron Perceptron Kohonen Xây dựng chương trình minh họa Tuy biết điều thu nhận phần nhỏ ngành nghiên cứu lớn, tự nhận thấy gặt hái thành công định giai đoạn nghiên cứu Hướng phát triển Bên cạnh kết đạt được, có vấn đề chưa luận văn giải hay đề cập tới Trong thời gian tới tiếp tục nghiên cứu hoàn thiện đề tài với mục tiêu đặt sau: - Nâng cao hiệu độ xác hệ thống nhận dạng ký tự viết tay rời rạc tiếng Việt trực tuyến - Xây dựng hệ thống nhận dạng chữ viết tay tiếng Việt sử dụng mạng nơron 65 TÀI LIỆU THAM KHẢO Tiếng việt Nguyễn Tân Ân, Bài giảng mạng nơron, Đại học Sư Phạm Hà Nội, 2011 Ngô Quốc Tạo, Phạm Văn Hùng, Xây dựng tham số cho mạng nơron lan truyền ngược, Kỷ yếu hội thảo Quốc gia, Thái Nguyên, 8-2003 Nguyễn Đình Thúc, Trí tuệ nhân tạo Mạng nơron phương pháp & ứng dụng, Nhà xuất Giáo Dục, 2000 Ngô Quốc Tạo, Nghiên cứu phương pháp nhận dạng chữ viết tay hạn chế trực tuyến, Đề tài nghiên cứu sở mã số CS04.09 Viện CNTT, 2004 Lê Nam Quang 2010, Ứng dụng mạng neural nhận dạng kí tự, Luận văn tốt nghiệp, Trường Đại học Bách Khoa Hà Nội, 2010 Lương Mạnh Bá, Nguyễn Thanh Thủy , Nhập môn xử lý ảnh số, Nhà xuất khoa học kỹ thuật, Hà Nội, 1999 Ngô Xuân Bách , Ứng dụng mô hình mạng nơron nhận dạng ký tự viết tay rời rạc hạn chế trực tuyến Tablet PC, Khóa luận tốt nghiệp đại học, Đại học Công Nghệ, Đại học quốc gia Hà Nội, 2006 Tiếng Anh Hangan M.T., Demuth H.B., Beal M., Neuron networks design, PWS Publishing Company, Boston, Ma, 1996 Haykin, S., Neural networks, a comprehensive foundation, Macmillan New York, Ny 1994 10 Ooyen A V., Nienhuis B., Improving the Convergence of the BackPropagation algorithm, Neural Networks, Vol 5, p 465-471, 1992 11 Artificial neural network - From Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/Artificial_neural_network 12 Anand Venkataraman, The Backpropagation Algorithm http://www.speech.sri.com/people/anand/771/html/node37.html 13 Christos Stergiou and Dimitrios Siganos, Neural Networks http://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/cs11/report.html 66 14 Daniel T.Larose , Discovering Knowledge in Data An Introduction to Data Mining, Wiley Interscience, United States of American, 2004 15 Dave Anderson and George McNeill Artificial Neural Networks Technology Prepared for Rome Laboratory RL/C3C Griffiss AFB, NY 13441-5700, Kaman Sciences Corporation 258 Genesse Street Utica, New York 135024627, 1992 16 Jeff Heaton Introduction to Neural Networks with Java, Heaton Research, Inc, United States of American, 2005 17 Neural network - From Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/Neural_network 18 Nikola K Kasabov Foundations of Neural Networks, Fuzzy Systems, and Knowledge Engineering, Massachusetts Institute of Technology, The MIT Press, United States of America, 1998 19 R.M Hristev, The ANN Book, GNU public license, 1998 20 Simon Haykin Neural Networks Comprehensive Foundation, Second edition, Prentice Hall, Indian by Sai printoPack Pvt Ltd, 1998 21 Wang J., Jean J.S.N Multi-Resolution Neural Network for Omnifont Character Recognition, IEEE International Conference on Neural Network, 1993 [...]... nút trong lớp nhập và lớp xuất Chỉ có người thiết kế mạng mới biết lớp này (người sử dụng không biết lớp này) Các nút trong lớp xuất nhận các tín hiệu tổng trọng hóa từ các nút trong lớp ẩn Mỗi nút trong lớp xuất tương ứng với một biến phụ thuộc 1.2 Đặc trưng của mạng nơron[ 5] 1.2.1 Tính phi tuyến Một nơron có thể tính toán một cách tuyến tính hay phi tuyến Một mạng nơron cấu thành bởi các nơron phi tuyến. .. đặt mạng Trong mạng này thông tin chỉ truyền trên một hướng duy nhất: từ lớp đầu vào xuyên qua lớp ẩn (nếu có) và kết thúc tại lớp đầu ra Mạng dẫn tiến không có chu trình hoặc vòng ở bên trong a) Các mạng dẫn tiến (feedforward) đơn mức Trong một mạng nơron phân mức, các nơron được tổ chức dưới dạng các mức Với dạng đơn giản nhất của mạng phân mức, mạng có một mức đầu vào gồm các nút nguồn chiếu trực. .. lý thông tin Điều này áp dụng cho tất cả các lĩnh vực có liên quan tới việc ứng dụng mạng nơron Đặc tính này thể hiện ở một số điểm như sau:  Các nơron, dưới dạng này hoặc dạng khác, biểu diễn một thành phần chung cho tất cả các mạng nơron  Tính thống nhất này đem lại khả năng chia sẻ các lý thuyết và các thuật toán học trong nhiều ứng dụng khác nhau của mạng nơron  Các mạng tổ hợp (modular) có... cho phần còn lại của mạng Về cơ bản, các nơron trong mỗi mức của mạng có các đầu vào của chúng là các tín hiệu đầu ra của chỉ mức ứng liền trước nó (điều này có thể khác trong thực tế cài đặt) Tập hợp các tín hiệu đầu ra của các nơron trong 20 mức đầu ra của mạng tạo nên đáp ứng toàn cục của mạng đối với các vector đầu vào được cung cấp bởi các nút nguồn của mức đầu vào Mạng nơron trong hình 1.10 được... trúc thích hợp cho mạng nơron, chẳng hạn có (n + 1) nơron vào (n nơron cho biến vào và 1 nơron cho ngưỡng x 0), 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 - Bước 3: Tính vector đầu ra o của mạng 24 - Bước 4: So sánh vector đầu ra mong muốn t (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... 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 Điển hình là các ứng dụng: xử lý ngôn ngữ (Language 7 Processing), nhận dạng ký tự (Character Recognition), nhận dạng tiếng nói (Voice Recognition), nhận dạng mẫu (Pattern Recognition), xử lý tín hiệu (Signal Processing), Lọc dữ liệu (Data Filtering),… 1.1.1.1 Nơron Nơron là phần tử cơ bản tạo nên bộ não Cấu tạo và hoạt... thống được sử dụng để giám sát mạng nơron 1.1.2 Nơron nhân tạo Nơron nhân tạo là một đơn vị tính toán có nhiều đầu vào và một đầu ra Mỗi đầu vào đến từ một liên kết Đặc trưng của nơron là một hàm kích hoạt phi tuyến chuyển đổi tổ hợp tuyến tính của tất cả các tín hiệu đầu vào thành tín hiệu đầu ra Hàm kích hoạt này đảm bảo tính chất phi tuyến cho tính toán của mạng nơron Hình 1.3 Mô hình một nơron nhân... hình mạng nơron Hình 1.6 Sơ đồ đơn giản về một mạng nơron nhân tạo[8] Mô hình mạng nơron ở trên gồm 3 lớp: lớp nhập (input), lớp ẩn (hidden) và lớp xuất (output) Mỗi nút trong lớp nhập nhận giá trị của một biến độc lập và chuyển vào mạng Dữ liệu từ tất cả các nút trong lớp nhập được tích hợp (ta gọi là tổng trọng số) và chuyển kết quả cho các nút trong lớp ẩn Lớp đó được gọi là “lớp ẩn” vì các nút trong. .. nút trong mỗi mức của mạng được nối với tất cả các nút trong mức tiếp sau Nếu một số kết nối không tồn tại trong mạng, chúng ta nói rằng mạng là kết nối không đầy đủ Mức đầu vào gồm các Mức ẩn gồm các nơron Mức đầu ra gồm các nút nguồn ẩn nơron đầu ra Hình 1.10 Mạng tiến kết nối đầy đủ với một mức ẩn và một mức đầu ra 1.3.2.1 Mạng quy hồi (recurrent network) Trái với mạng nơron dẫn tiến , mạng nơron. .. nghiên cứu về nơron Frank Rosenblatt cũng bắt đầu nghiên cứu về Perceptron năm 1958 Sau thời gian nghiên cứu này Perceptron đã được cài đặt trong phần cứng máy tính và được xem như là mạng nơron lâu đời nhất còn được sử dụng đến ngày nay Perceptron một tầng rất hữu ích trong việc phân loại một tập các đầu vào có giá trị liên tục vào một trong hai lớp Perceptron tính tổng có trọng số các đầu vào, rồi trừ ... viết tay trực tuyến Giới thiệu nhận dạng, toán nhận dạng, nhận dạng chữ viết tay tiếng Việt Phương pháp nhận dạng chữ viết tay mạng nơron, phát biểu toán, bước giải toán Trình bày lý thuyết mạng. .. cho mạng nơron 24 1.7 Biểu diễn tri thức cho mạng nơron 26 1.8 Ứng dụng mạng nơron .28 Chương 30 ỨNG DỤNG MẠNG NƠRON TRONG NHẬN DẠNG CHỮ VIẾT TAY TRỰC TUYẾN... niệm mạng nơron, loại mô hình mạng nơron, đặc trưng mạng, phương pháp huấn luyện mạng nơron, phương pháp học có giám sát Các vấn đề ứng dụng mạng nơron Chương 2: Ứng dụng mạng nơron nhận dạng chữ

Ngày đăng: 09/12/2016, 22:13

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan