0

Nghiên cứu mạng nơ ron nhân tạo ứng dụng nhận dạng chữ viết tay online

61 44 0
  • Nghiên cứu mạng nơ ron nhân tạo ứng dụng nhận dạng chữ viết tay online

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

Tài liệu liên quan

Thông tin tài liệu

Ngày đăng: 28/10/2020, 22:22

HỌC VIỆN CƠNG NGHỆ BƢU CHÍNH VIỄN THƠNG - CAO XUÂN TRƢỜNG NGHIÊN CỨU MẠNG NƠ-RON NHÂN TẠO ỨNG DỤNG NHẬN DẠNG CHỮ VIẾT TAY ONLINE CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH MÃ SỐ: LUẬN VĂN THẠC SĨ KỸ THUẬT NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS TS TỪ MINH PHƢƠNG HÀ NỘI - 2019 i LỜI CAM ĐOAN Tôi xin cam đoan kết đƣợc trình bày luận văn cơng trình nghiên cứu tơi dƣới hƣớng dẫn GS TS Từ Minh Phƣơng Các số liệu, kết luận văn hoàn toàn trung thực chƣa đƣợc công bố công trình khác Tác giả Cao Xuân Trƣờng ii LỜI CẢM ƠN Lời đầu tiên, xin phép xin gửi lời cảm ơn sâu sắc đến GS.TS Từ Minh Phƣơng, ngƣời trực tiếp hƣớng dẫn, động viên, khuyến khích tơi suốt thời gian nghiên cứu hoàn thành luận văn cao học Xin chân thành cảm ơn quý thầy cô Khoa Công nghệ thông tin, quý thầy cô Khoa Sau Đại học, Ban Giám đốc Học viện Công nghệ Bƣu Viễn thơng tận tình giảng dạy tạo điều kiện thuận lợi cho trình học tập, nghiên cứu Cuối cùng, xin cảm ơn cha mẹ gia đình tạo điều kiện thuận lợi cho suốt thời gian học tập thực luận văn Học viện Xin chân thành cảm ơn! iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC .iii DANH MỤC HÌNH VẼ v DANH MỤC CÁC BẢNG vii MỞ ĐẦU Chương TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG CHỮ VIẾT TAY ONLINE 1.1 Giới thiệu toán nhận dạng chữ viết tay online 1.1.1 Nhận dạng chữ viết tay online nhận dạng chữ viết tay offline 1.1.2 Các thuộc tính chữ viết tay online 1.1.3 Phương pháp thu thập chữ viết tay online 1.1.4 Một số vấn đề nhận dạng chữ viết tay online 1.2 Phƣơng pháp nhận dạng chữ viết tay online 1.3 Quy trình phân đoạn chữ viết tay online 1.4 Hƣớng tiếp cận toán nhận dạng chữ viết tay online 14 1.5 Ứng dụng toán nhận dạng chữ viết tay online 15 1.6 Kết luận chƣơng 17 Chương ỨNG DỤNG MẠNG NƠ RON NHÂN TẠO VÀO BÀI TOÁN NHẬN DẠNG CHỮ VIẾT TAY ONLINE 18 2.1 Mạng nơ ron nhân tạo .18 2.1.1 Các khái niệm 18 2.1.2 Đặc trưng mạng nơ ron 19 2.1.3 Kiến trúc mạng nơ ron nhân tạo 21 2.1.4 Phân loại mạng nơ ron nhân tạo 24 2.1.5 Hàm kích hoạt 26 2.1.6 Phương pháp huấn luyện mạng nơ ron 26 iv 2.1.7 Mạng nơ ron truyền thẳng lớp ẩn thuật toán lan truyền ngược 2.2 Ứng dụng mạng nơ ron vào toán nhận dạng chữ viết tay online 2.2.1 Thu thập liệu 2.2.2 Mô hình tốn nhận dạng chữ viết tay online sử dụng mạng nơ ron nhân tạo 2.2.3 Trích chọn đặc trưng xây dựng vector đầu vào 2.2.4 Các tham số mạng nơ ron 2.2.5 Huấn luyện mạng nơ ron 2.2.6 Nhận dạng chữ viết tay online sử dụng mạng nơ ron 2.3 Kết luận chƣơng Chương CÀI ĐẶT THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 3.1 Cài đặt thực nghiệm 3.1.1 Ngôn ngữ lập trình 3.1.2 Cấu hình máy 3.1.3 Cấu hình mạng nơ ron 3.1.4 Giới thiệu chương trình 3.2 Đánh giá kết thực nghiêm 3.2.1 Kết thực nghiệm 3.2.2 Đánh giá kết 3.2.3 Đánh giá kết 3.3 Kết luận chƣơng KẾT LUẬN Các kết nghiên cứu luận văn Hƣớng phát triển luận văn TÀI LIỆU THAM KHẢO v DANH MỤC HÌNH VẼ Hình 1.1 Thiết bị CrossPad dùng thu nhận chữ viết tay online Hình 1.2 Ví dụ nét trễ Hình 1.3 Quy trình tách dịng Hình 1.4 Các mức độ khó tốn phân đoạn nhận dạng chữ viết tay 10 Hình 1.5 Độ nghiêng đƣợc ƣớc tính hai biểu đồ 11 Hình 1.6 Tách dịng văn thành thành phần điều chỉnh nghiêng 12 Hình 1.7 Biểu đồ góc cho dịng văn mẫu 12 Hình 1.8 Đƣờng sở dòng văn mẫu dòng văn 14 Hình 1.9 Tọa độ liệu chữ viết tay sở liệu UNIPEN 15 Hình 1.10 Ứng dụng nhận dạng chữ viết tay Google Translate 16 Hình 1.11 Ứng dụng Google Handwriting Input 17 Hình 2.1 Mơ hình phi tuyến nơ ron 21 Hình 2.2 Mơ hình phi tuyến thứ hai nơ ron 24 Hình 2.3 Mạng nơ ron truyền thẳng nhiều lớp .24 Hình 2.4 Mơ hình mạng hồi quy 25 Hình 2.5 Các hàm kích hoạt tiêu biểu 26 Hình 2.6 Mơ hình huấn luyện mạng nơ ron học có giám sát .27 Hình 2.7 Mơ hình mạng nơ ron học tăng cƣờng 28 Hình 2.8 Mạng truyền thẳng lớp ẩn 29 Hình 2.9 Mơ hình thuật toán lan truyền ngƣợc 31 Hình 2.10 Giai đoạn huấn luyện mạng 34 Hình 2.11 Giai đoạn nhận dạng chữ viết tay online .34 Hình 3.1 Giao diện huấn luyện mạng nơ ron .42 Hình 3.2 Các giá trị mạng đƣợc lƣu lại sau huấn luyện .42 Hình 3.3 Giao diện nhận dạng chữ viết online .43 Hình 3.4 Demo thời gian huấn luyện 43 vi Hình 3.5 Demo minh họa thời gian nhận dạng 44 Hình 3.6 Kết nhận dạng load file nhiều ký tự 46 vii DANH MỤC CÁC BẢNG Bảng 2.1 Kết thực nghiệm với vector đầu vào khác 36 Bảng 3.1 Thống kê kết nhận dạng ký tự 44 MỞ ĐẦU Ngành công nghệ thông tin ngành khoa học đà phát triển mạnh ứng dụng rộng rãi nhiều lĩnh vực Trong nhận dạng chữ viết lĩnh vực đem đến nhiều lợi ích thiết thực cho ngƣời Bài tốn nhận dạng chữ viết khơng dừng lại việc nhận dạng chữ giấy mà phát triển mở rộng thành toán nhận dạng chữ viết từ thiết bị điện tử hay gọi nhận dạng chữ viết tay online Con ngƣời từ viết trực tiếp thiết bị điện tử nhƣ smartphone, máy tính bảng hay máy tính xách tay mà khơng cịn phải viết giấy nhƣ trƣớc Hiện nay, có nhiều phƣơng pháp khác đƣơc áp dụng vào toán nhận dạng Trong việc sử dụng mạng nơ-ron nhân tạo phƣơng pháp nhận dạng hiệu quả, có độ xác cao Mạng nơ-ron nhân tạo đời xuất phát từ ý tƣởng mô hoạt động não ngƣời Kể từ đời, mạng nơ-ron nhân tạo đƣợc ứng dụng rộng rãi giải toán phân loại, dự đoán nhận dạng khả học Từ đặc điểm trên, chọn để tài “Nghiên cứu mạng nơ-ron nhân tạo ứng dụng nhận dạng chữ viết tay online” Luận văn tập trung tìm hiểu phƣơng pháp sử dụng mạng nơ ron nhân tạo để huấn luyện nhận dạng chữ viết tay online Chương TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG CHỮ VIẾT TAY ONLINE Chương trình bày tổng quan toán nhận dạng chữ viết tay online, thuộc tính chữ viết online, phương pháp nhận dạng chữ viết tay online ứng dụng toán nhiều lĩnh vực khoa học, xã hội 1.1 Giới thiệu toán nhận dạng chữ viết tay online 1.1.1 Nhận dạng chữ viết tay online nhận dạng chữ viết tay offline Bài toán nhận dạng chữ viết tay toán đƣợc ý đặc biệt có nhiều ứng dụng thực tế Nó đƣợc nghiên cứu khoảng ba bốn thập kỷ gần đây, vấn đề đặt để nghiên cứu đa dạng, phụ thuộc vào cách mà chữ viết đƣợc mô tả, liệu đƣợc viết mức độ (ký tự hay câu văn, đoạn văn v.v) Ở mức độ tổng quát toán nhận dạng chữ viết tay đƣợc chia làm dạng: nhận dạng chữ viết tay online nhận dạng chữ viết tay offline Bài toán nhận dạng chữ viết tay offline đƣợc đặt để nhận dạng văn viết tay giấy bút Với đặc trƣng liệu đầu vào hình ảnh văn viết tay đƣợc quét chụp lại Sau đó, thuật tốn nhận dạng chữ viết tay đƣợc xây dựng dựa hình ảnh Các ứng dụng nhận dạng chữ viết tay offline thƣờng quan tâm tới độ xác việc tối ƣu thời gian Bài toán nhận dạng chữ viết tay online toán nhận dạng chữ viết tay thu đƣợc từ thiết bị điện tử Với đặc trƣng liệu đầu vào dãy điểm thu nhận đƣợc trình ngƣời thực viết bề mặt thiết bị điện tử Yêu cầu cần có thiết bị chuyên dụng nhƣ hình cảm ứng hay bảng điện tử để ghi lại trình di chuyển nét bút bao gồm yếu tố nhƣ điểm bắt đầu, điểm kết thúc, điểm mặt phẳng mà nét bút qua Khác với nhận dạng chữ viết tay offline, nhận dạng chữ viết tay online cung cấp thêm thông tin nét bút, thứ tự nét đƣợc viết mà điều nhận dạng offline khó xác định Hiện việc ứng dụng tốn nhận dạng chữ viết tay cịn hạn chế 37 - Lớp đầu vào: Số lƣợng node đầu vào mạng nơ ron tƣơng ứng với số lƣợng phần tử vector đầu vào đƣợc trình bày vector đầu vào Số lƣợng node đƣợc lựa chọn 11 - Lớp ẩn: Số lƣợng node tầng ẩn đƣợc lựa chọn ngẫu nhiên thỏa mãn điều kiện: + Số lƣợng node tầng ẩn phải nằm kích thƣớc lớp đầu vào kích thƣớc lớp đầu + Số lƣợng node ẩn phải 2/3 kích thƣớc lớp đầu vào, cộng với kích thƣớc lớp đầu + - Số lƣợng node ẩn phải nhỏ gấp đơi kích thƣớc lớp đầu vào Lớp đầu ra: Số lƣợng node lớp đầu tƣơng ứng với số lƣợng ký tự khác đƣợc đƣa vào huấn luyện 2.2.4.2 Hệ số học (Learning Rate) Learning rate hay hệ số học thông số mà điều chỉnh để mạng nơ ron học nhanh huấn luyện hiệu Hãy xem xét nơ ron trải qua trình học tập Giả định trọng số liên kết mạng phần đƣợc đào tạo 0,3 Khi mạng đƣợc giới thiệu mẫu huấn luyện mới, thuật toán huấn luyện yêu cầu thay đổi trọng số đến 0,7 để học mẫu phù hợp Nếu cập nhật trọng số lập tức, mạng nơ ron chắn học mẫu mới, nhƣng có xu hƣớng quên tất mẫu học trƣớc Điều trọng số (0,3) kết tất việc học mà trải qua Vì vậy, khơng trực tiếp thay đổi trọng số tới 0,7 Thay vào đó, tăng phần nhỏ (chọn 25%) thay đổi cần thiết Từ đó, trọng số liên kết đƣợc thay đổi thành 0,4 chuyển sang mẫu đào tạo Yếu tố (ở 0,25) đƣợc gọi Learning rate Căn theo cách này, tất mẫu huấn luyện đƣợc 38 huấn luyện theo thứ tự ngẫu nhiên Khi chu trình đào tạo đƣợc lặp lặp lại nhiều lần, cuối mạng nơ ron học tất mẫu có hiệu Learning rate giá trị khoảng đến Chọn giá trị gần chƣơng trình địi hỏi số lƣợng lớn chu trình huấn luyện Điều làm cho trình huấn luyện chậm nhƣng chắn Mặt khác, learning rate lớn, trọng số khác độ lệch hàm mục tiêu dao động lớn mạng đạt đến trạng thái mà việc huấn luyện diễn vơ ích Với luận văn, hệ số học đƣợc chọn giá trị ngẫu nhiên khoảng từ đến 2.2.4.3 Bƣớc đà (Momentum) Việc sử dụng Momentum (bƣớc đà) có tác dụng giảm hậu hạn chế từ việc sử dụng hệ số học khơng nhƣ muốn, có nghĩa bƣớc đà làm tăng tốc độ huấn luyện hệ số học nhỏ khiến trình huấn luyện chậm giảm nguy dao động sử dụng hệ số học lớn Về chất, phần đầu q trình huấn luyện, bƣớc đà có tác dụng giúp q trình trở nên nhanh Sau trình huấn luyện gần đạt tới hội tụ Nhƣợc điểm bƣớc đà giá trị ngẫu nhiên phải đƣợc sử dụng thử sai để tìm giá trị tốt 2.2.5 Huấn luyện mạng nơ ron Mạng nơ ron đƣợc sử dụng báo cáo luận văn mạng nơ ron truyền thẳng lớp ẩn Trong lớp đầu vào lớp ẩn có số lƣợng nodes cho phép tùy chỉnh đƣợc, để sau q trình kiểm tra độ xác mạng nơ ron xác định đƣợc cấu hình mạng tốt Lớp đầu có số nodes với số lƣợng ngƣời khác cung cấp mẫu chữ viết Mỗi nơ ron lớp có liên kết trọng số tới nơ ron lớp khơng có liên kết ngƣợc lại Các trọng số mạng ban đầu đƣợc khởi tạo ngẫu nhiên đƣợc điều chỉnh mạng nơ ron đƣợc huấn luyện chế học có giám sát sử dụng thuật tốn học lan truyền ngƣợc 39 Ở bƣớc huấn luyện, mạng nơ ron sử dụng thuật toán lan truyền ngƣợc backpropagation Ban đầu trọng số mạng đƣợc đặt ngẫu nhiên cho nơ ron Sau vector đầu vào vector đầu tƣơng ứng đƣợc đƣa vào mạng Hệ thống thực tính đầu thực tế nơ ron lớp ẩn, so sánh với đầu mong muốn (đầu tƣơng ứng với vector đầu vào), tính sai số thực bƣớc huấn luyện trọng số Mạng nơ ron cập nhật trọng số mạng lan truyền ngƣợc cách lan truyền ngƣợc sai số ứng với nơ ron đầu Sai số đƣợc sử dụng để sửa lỗi trọng số cập nhật lại trọng số nơ ron đầu Bƣớc tính sai số hiệu chỉnh trọng số lặp lại thỏa mãn điều kiện sai số cho trƣớc Khi giá trị trung bình bình phƣơng sai số (Mean Squared Error - MSE) tất tập huấn luyện đạt giá trị đủ nhỏ, mạng lúc đƣợc xem nhƣ hội tụ Điều kiện dừng thứ hai số lƣợng vòng lặp tối đa ngƣời dùng thiết lập cho mạng Khi mạng chạy hết số lƣợng vòng lặp tối đa mà chƣa hội tụ (chƣa thỏa mãn điều kiện sai số cho trƣớc) mạng dừng, khơng hiệu chỉnh trọng số 2.2.6 Nhận dạng chữ viết tay online sử dụng mạng nơ ron Trong giai đoạn nhận dạng, liệu chữ viết tay thu đƣợc đƣợc trích chọn đặc trƣng Những đặc trƣng sau đƣợc đƣa vào mạng nơ ron đƣợc trải qua trình huấn luyện để tiến hành nhận dạng chữ Với liệu chữ viết đầu vào, kết nhận dạng xảy bốn trƣờng hợp sau: Nhận dạng ký tự, nhận dạng sau ký tự (kết trả ký tự khác), không nhận dạng đƣợc ký tự liệu ký tự chƣa có sở liệu, khơng nhận dạng đƣợc ký tự ký tự có sở liệu Kết bƣớc nhận dạng ký tự đƣợc sử dụng để đánh giá hiệu mạng nơ ron nhận dạng chữ viết tay online 40 2.3 Kết luận chƣơng Chƣơng trình bày khái quát mạng nơ ron nhân tạo, đặc trƣng, kiến trúc, phƣơng pháp huấn luyện mạng đặc biệt tìm hiểu mạng nơ ron truyền thẳng lớp ẩn thuật tốn lan truyền ngƣợc Tiếp đó, trình bày 02 mơ hình nhận dạng trình huấn luyện trình nhận dạng chữ Sau trình bày q trình trích chọn đặc trƣng chữ viết tham số đặc trƣng trình huấn luyện nhận dạng Q trình trích chọn đặc trƣng đƣợc khai thác tọa độ (x,y) mặt phẳng mà nét bút qua, đồng thời có thêm thông tin số nét bút Luận văn xây dựng tiến hành thực nghiệm cho kết số lƣợng tham số đầu vào hợp lý Cuối cùng, đƣa nhìn khái quát trình huấn luyện nhận dạng chữ viết online sử dụng mạng nơ ron nhân tạo Nội dung chƣơng chƣơng tiền đề cho việc xây dựng chƣơng trình thực nghiệm nhận dạng chữ viết tay online mức độ nhận dạng ký tự đƣợc trình bày chƣơng luận văn 41 Chương CÀI ĐẶT THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ Chương giới thiệu chương trình thực nghiệm nhận dạng chữ viết tay online sử dụng mạng nhân tạo Từ đưa đánh giá, nhận xét hiệu việc sử dụng mạng nơ ron nhân tạo để nhận dạng chữ viết tay online sở liệu Unipen với tham số cấu hình mạng nơ ron khác 3.1 Cài đặt thực nghiệm 3.1.1 Ngơn ngữ lập trình Chƣơng trình thực nghiệm nhận dạng chữ viết tay online sử dụng mạng nơ ron đƣợc lập trình ngơn ngữ lập trình C# Visual Studio 2013 3.1.2 Cấu hình máy Cấu hình máy tính đƣợc sử dụng để cài đặt chạy thử nghiệm chƣơng trình nhƣ sau: Bộ vi xử lý: Intel(R) Core(TM) i3-3120M CPU: 2.50GHz RAM: 6GB Hệ điều hành: Windows Ultimate 3.1.3 Cấu hình mạng nơ ron Chƣơng trình đƣợc thử nghiệm mạng nơ ron truyền thẳng lớp ẩn, với thuật toán học thuật toán lan truyền ngƣợc (backpropagation) - Số node input: 11 - Các tham số lại gồm: Số node tầng ẩn, số lƣợng vòng lặp, ngƣỡng MSE, momentum (alpha) learning rate (beta) cho phép tùy chỉnh thay đổi để tìm cấu hình mạng tốt - Alpha (momentum): Nằm phạm vi ≤∝
- Xem thêm -

Xem thêm: Nghiên cứu mạng nơ ron nhân tạo ứng dụng nhận dạng chữ viết tay online ,