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

(Luận văn) nghiên cứu mạng nơ ron nhân tạo ứng dụng nhận dạng chữ viết tay online

58 0 0

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

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

THÔNG TIN TÀI LIỆU

Nội dung

HỌC VIỆN CƠNG NGHỆ BƢU CHÍNH VIỄN THƠNG - CAO XUÂN TRƢỜNG lu an va NGHIÊN CỨU MẠNG NƠ-RON NHÂN TẠO n ỨNG DỤNG NHẬN DẠNG CHỮ VIẾT TAY ONLINE p ie gh tn to d oa nl w CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH 60.48.01.01 va an lu MÃ SỐ: u nf LUẬN VĂN THẠC SĨ KỸ THUẬT ll NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS TS TỪ MINH PHƢƠNG oi m z at nh z @ m co l gm HÀ NỘI - 2019 an Lu n va ac th si 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ả lu Cao Xuân Trƣờng an n va p ie gh tn to d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si 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 tơi q trình học tập, nghiên cứu lu Cuối cùng, xin cảm ơn cha mẹ gia đình tạo điều kiện thuận lợi cho an suốt thời gian học tập thực luận văn Học viện va n Xin chân thành cảm ơn! p ie gh tn to d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si 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 lu an 1.1 Giới thiệu toán nhận dạng chữ viết tay online n va 1.1.1 Nhận dạng chữ viết tay online nhận dạng chữ viết tay offline tn to 1.1.2 Các thuộc tính chữ viết tay online ie gh 1.1.3 Phương pháp thu thập chữ viết tay online .3 p 1.1.4 Một số vấn đề nhận dạng chữ viết tay online w 1.2 Phƣơng pháp nhận dạng chữ viết tay online oa nl 1.3 Quy trình phân đoạn chữ viết tay online d 1.4 Hƣớng tiếp cận toán nhận dạng chữ viết tay online 14 lu va an 1.5 Ứng dụng toán nhận dạng chữ viết tay online 15 u nf 1.6 Kết luận chƣơng 17 ll 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 oi m z at nh 2.1 Mạng nơ ron nhân tạo 18 2.1.1 Các khái niệm 18 z gm @ 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 l m co 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 an Lu 2.1.6 Phương pháp huấn luyện mạng nơ ron 26 n va ac th si iv 2.1.7 Mạng nơ ron truyền thẳng lớp ẩn thuật toán lan truyền ngược 29 2.2 Ứng dụng mạng nơ ron vào toán nhận dạng chữ viết tay online 31 2.2.1 Thu thập liệu .31 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 33 2.2.3 Trích chọn đặc trưng xây dựng vector đầu vào 34 2.2.4 Các tham số mạng nơ ron 36 2.2.5 Huấn luyện mạng nơ ron .38 2.2.6 Nhận dạng chữ viết tay online sử dụng mạng nơ ron 39 lu an 2.3 Kết luận chƣơng 40 n va Chương CÀI ĐẶT THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 41 tn to 3.1 Cài đặt thực nghiệm 41 gh 3.1.1 Ngôn ngữ lập trình 41 p ie 3.1.2 Cấu hình máy 41 w 3.1.3 Cấu hình mạng nơ ron 41 oa nl 3.1.4 Giới thiệu chương trình 42 d 3.2 Đánh giá kết thực nghiêm 43 lu va an 3.2.1 Kết thực nghiệm 43 u nf 3.2.2 Đánh giá kết 44 ll 3.2.3 Đánh giá kết 46 m oi 3.3 Kết luận chƣơng 47 z at nh KẾT LUẬN 48 Các kết nghiên cứu luận văn 48 z gm @ Hƣớng phát triển luận văn 48 m co l TÀI LIỆU THAM KHẢO 49 an Lu n va ac th si 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 lu an Hình 1.8 Đƣờng sở dòng văn mẫu dòng văn 14 n va Hình 1.9 Tọa độ liệu chữ viết tay sở liệu UNIPEN 15 tn to Hình 1.10 Ứng dụng nhận dạng chữ viết tay Google Translate 16 ie gh Hình 1.11 Ứng dụng Google Handwriting Input 17 p Hình 2.1 Mơ hình phi tuyến nơ ron 21 w Hình 2.2 Mơ hình phi tuyến thứ hai nơ ron 24 oa nl Hình 2.3 Mạng nơ ron truyền thẳng nhiều lớp 24 d Hình 2.4 Mơ hình mạng hồi quy 25 an lu Hình 2.5 Các hàm kích hoạt tiêu biểu 26 va u nf Hình 2.6 Mơ hình huấn luyện mạng nơ ron học có giám sát 27 ll Hình 2.7 Mơ hình mạng nơ ron học tăng cƣờng 28 m oi Hình 2.8 Mạng truyền thẳng lớp ẩn 29 z at nh Hình 2.9 Mơ hình thuật toán lan truyền ngƣợc 31 z Hình 2.10 Giai đoạn huấn luyện mạng 34 gm @ Hình 2.11 Giai đoạn nhận dạng chữ viết tay online 34 l Hình 3.1 Giao diện huấn luyện mạng nơ ron 42 m co Hình 3.2 Các giá trị mạng đƣợc lƣu lại sau huấn luyện 42 an Lu 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 n va ac th si 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 lu an n va p ie gh tn to d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si 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 lu an n va p ie gh tn to d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si 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 lu an Hiện nay, có nhiều phƣơng pháp khác đƣơc áp dụng vào toán va n nhận dạng Trong việc sử dụng mạng nơ-ron nhân tạo tn to phƣơng pháp nhận dạng hiệu quả, có độ xác cao Mạng nơ-ron nhân tạo đời gh xuất phát từ ý tƣởng mô hoạt động não ngƣời Kể từ đời, p ie mạng nơ-ron nhân tạo đƣợc ứng dụng rộng rãi giải toán phân w loại, dự đoán nhận dạng khả học oa nl Từ đặc điểm trên, chọn để tài “Nghiên cứu mạng nơ-ron nhân d 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 lu ll u nf tay online va an 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 oi m z at nh z m co l gm @ an Lu n va ac th si 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 ý lu đặc biệt có nhiều ứng dụng thực tế Nó đƣợc nghiên cứu khoảng ba bốn an thập kỷ gần đây, vấn đề đặt để nghiên cứu đa dạng, phụ thuộc vào cách va n mà chữ viết đƣợc mô tả, liệu đƣợc viết mức độ (ký tự hay câu văn, tn to đoạn văn v.v) Ở mức độ tổng quát toán nhận dạng chữ viết tay đƣợc chia Bài toán nhận dạng chữ viết tay offline đƣợc đặt để nhận dạng văn p ie gh làm dạng: nhận dạng chữ viết tay online nhận dạng chữ viết tay offline w viết tay giấy bút Với đặc trƣng liệu đầu vào hình ảnh văn viết oa nl tay đƣợc quét chụp lại Sau đó, thuật tốn nhận dạng chữ viết tay đƣợc d xây dựng dựa hình ảnh Các ứng dụng nhận dạng chữ viết lu va an tay offline thƣờng quan tâm tới độ xác việc tối ƣu thời gian u nf Bài toán nhận dạng chữ viết tay online toán nhận dạng chữ viết tay thu ll đƣợ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 m oi đƣợc trình ngƣời thực viết bề mặt thiết bị điện tử Yêu z at nh 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, z gm @ đ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 cịn cung cấp thêm thơng tin l nét bút, thứ tự nét đƣợc viết mà điều nhận dạng offline khó m co 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ế an Lu n va ac th si 36 Bảng 2.1 Kết thực nghiệm với vector đầu vào khác m Số phần tử vector đầu vào Kết (m*n m*n+1) nhận dạng n 40% 45% 10 58% 11 82% 13 76% 12 73% 15 64% 14 62% 4 17 54% ie 16 53% 17 49% 16 45% lu an n va gh tn to p oa nl w d Kết thực nghiệm thể Bảng 2.1 cho thấy vector đầu vào có lu an kích thƣớc 11 phần tử cho kết nhận dạng tốt Do luận văn đề xuất sử u nf va dụng vector đầu vào gồm 11 phần tử ll Để nâng cao hiệu mạng nơ ron, phần tử vector đầu vào m oi đƣợc chuẩn hóa để nhận giá trị khoảng từ đến cách chia phần tử z at nh vector đầu vào cho tổng giá trị chúng Bên cạnh đặc trƣng đƣợc sử dụng để làm đầu vào cho mạng nơ ron, để z @ phục vụ cho bƣớc huấn luyện mạng, hệ thống lƣu thông tin xem ký tự đƣa vào l gm nhận dạng ký tự Thông tin đƣợc lƣu thành vector đầu tƣơng ứng với vector đặc trƣng đầu vào mạng nơ ron an Lu 2.2.4.1 Số phần tử lớp m co 2.2.4 Các tham số mạng nơ ron n va ac th si 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 lu + Số lƣợng node ẩn phải 2/3 kích thƣớc lớp đầu vào, cộng với kích an thƣớc lớp đầu va n + Số lƣợng node ẩn phải nhỏ gấp đơi kích thƣớc lớp đầu vào to gh tn - 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 p ie 2.2.4.2 Hệ số học (Learning Rate) nl w Learning rate hay hệ số học thông số mà điều chỉnh để d oa mạng nơ ron học nhanh huấn luyện hiệu an lu Hãy xem xét nơ ron trải qua trình học tập Giả định trọng va số liên kết mạng phần đƣợc đào tạo 0,3 Khi mạng đƣợc giới u nf 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ố ll đến 0,7 để học mẫu phù hợp Nếu cập nhật trọng số lập m oi tức, mạng nơ ron chắn học mẫu mới, nhƣng có xu hƣớng quên z at nh 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 z gm @ Vì vậy, khơng trực tiếp thay đổi trọng số tới 0,7 Thay vào đó, tăng l phần nhỏ (chọn 25%) thay đổi cần thiết Từ đó, trọng số liên kết đƣợc m co 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 an Lu n va ac th si 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) lu an Việc sử dụng Momentum (bƣớc đà) có tác dụng giảm hậu hạn chế từ n va 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 tn to 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 p ie gh Về chất, phần đầu trình huấn luyện, bƣớc đà có tác oa nl hội tụ w dụng giúp trình trở nên nhanh Sau q trình huấn luyện gần đạt tới d Nhƣợc điểm bƣớc đà giá trị ngẫu nhiên phải đƣợc sử lu va an dụng thử sai để tìm giá trị tốt u nf 2.2.5 Huấn luyện mạng nơ ron ll Mạng nơ ron đƣợc sử dụng báo cáo luận văn mạng nơ ron truyền m oi thẳng lớp ẩn Trong lớp đầu vào lớp ẩn có số lƣợng nodes cho phép tùy z at nh chỉnh đƣợc, để sau 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 z gm @ 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 l m co đƣợ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 toán học lan truyền ngƣợc an Lu n va ac th si 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 lu an kiện sai số cho trƣớc Khi giá trị trung bình bình phƣơng sai số (Mean Squared n va Error - MSE) tất tập huấn luyện đạt giá trị đủ nhỏ, mạng lúc 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à gh tn to đƣợ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 p ie 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 w hiệu chỉnh trọng số oa nl 2.2.6 Nhận dạng chữ viết tay online sử dụng mạng nơ ron d Trong giai đoạn nhận dạng, liệu chữ viết tay thu đƣợc đƣợc trích chọn lu an đặc trƣng Những đặc trƣng sau đƣợc đƣa vào mạng nơ ron đƣợc trải qua u nf va 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, ll kết nhận dạng xảy bốn trƣờng hợp sau: Nhận dạng ký oi m tự, nhận dạng sau ký tự (kết trả ký tự khác), không nhận dạng đƣợc ký tự z at nh 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 z sử dụng để đánh giá hiệu mạng nơ ron nhận dạng chữ viết tay m co l gm @ online an Lu n va ac th si 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 toá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 an Luận văn xây dựng tiến hành thực nghiệm cho kết số lƣợng n va tham số đầu vào hợp lý Cuối cùng, đƣa nhìn khái quát trình huấn tn to luyện nhận dạng chữ viết online sử dụng mạng nơ ron nhân tạo Nội dung gh chƣơng chƣơng tiền đề cho việc xây dựng chƣơng trình thực nghiệm nhận p ie dạng chữ viết tay online mức độ nhận dạng ký tự đƣợc trình bày chƣơng d oa nl w luận văn ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si 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ơ lu ron đƣợc lập trình ngơn ngữ lập trình C# Visual Studio 2013 an n va 3.1.2 Cấu hình máy tn to Cấu hình máy tính đƣợc sử dụng để cài đặt chạy thử nghiệm chƣơng trình Bộ vi xử lý: Intel(R) Core(TM) i3-3120M p ie gh nhƣ sau: CPU: 2.50GHz nl w oa RAM: 6GB d Hệ điều hành: Windows Ultimate an lu va 3.1.3 Cấu hình mạng nơ ron ll u nf Chƣơng trình đƣợc thử nghiệm mạng nơ ron truyền thẳng lớp ẩn, với z at nh - Số node input: 11 oi m thuật toán học thuật toán lan truyền ngƣợc (backpropagation) - Các tham số lại gồm: Số node tầng ẩn, số lƣợng vòng lặp, ngƣỡng z MSE, momentum (alpha) learning rate (beta) cho phép tùy chỉnh thay đổi để gm @ tìm cấu hình mạng tốt - Beta (learning rate): Nằm phạm vi ≤β

Ngày đăng: 12/07/2023, 17:28

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

TÀI LIỆU LIÊN QUAN

w