Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 70 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
70
Dung lượng
1,73 MB
Nội dung
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG MAI VĂN THỦY NGHIÊN CỨU VỀ MÔ HÌNH THỐNG KÊ HỌC SÂU VÀ ỨNG DỤNG TRONG NHẬN DẠNG CHỮ VIẾT TAY HẠN CHẾ LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYÊN - 2015 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG MAI VĂN THỦY NGHIÊN CỨU VỀ MÔ HÌNH THỐNG KÊ HỌC SÂU VÀ ỨNG DỤNG TRONG NHẬN DẠNG CHỮ VIẾT TAY HẠN CHẾ Chuyên ngành : Khoa Học Máy Tính Mã số : 60 48 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ũ Tất Thắng THÁI NGUYÊN - 2015 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ iii LỜI CAM ĐOAN Tôi cam đoan công trình nghiên cứu riêng Các số liệu, kết nêu luận văn trung thực chưa công bố công trình khác Qua xin chân thành cảm ơn toàn thể thầy cô khoa đào tạo sau đại học Trường Đại học Công nghệ Thông tin Truyền thông – Đại học Thái Nguyên, người trực tiếp giảng dạy, truyền đạt cho kiến thức chuyên môn phương pháp làm việc khoa học Đặc biệt, xin chân thành cảm ơn TS Vũ Tất Thắng, tận tình hướng dẫn để hoàn thành luận văn Tôi xin gửi lời cảm ơn tới gia đình bạn bè giúp đỡ, động viên tạo điều kiện cho trình làm luận văn Tác giả luận văn Mai Văn Thủy Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ iv MỤC LỤC LỜI CAM ĐOAN i MỤC LỤC iv DANH MỤC HÌNH ẢNH vi DANH MỤC BẢNG BIỂU .vii LỜI MỞ ĐẦU Chương 1: GIỚI THIỆU ĐỀ TÀI 1.1 Giới thiệu toán nhận dạng 1.1.1 Các giai đoạn phát triển 1.1.2 Tình hình nghiên cứu nước 1.1.3 Tình hình nghiên cứu nước 1.2 Các bước xử lý cho toán nhận dạng hoàn chỉnh 1.3 Kết luận chương Chương 2: MÔ HÌNH SVM VÀ MÔ HÌNH THỐNG KÊ HỌC SÂU 2.1 Tổng quan mô hình SVM (Support Vector Machine) 2.1.1 Cơ sở lý thuyết 2.1.1.1 Giới thiệu toán phân lớp nhị phân 2.1.1.2 Máy SVM tuyến tính 10 2.1.1.3 Máy SVM phi tuyến 17 2.1.2 Các thuật toán huấn luyện SVM 19 2.1.2.1 Thuật toán chặt khúc 19 2.1.2.2 Thuật toán phân rã 19 2.1.2.3 Thuật toán cực tiểu 20 2.2 Cơ sở lý thuyết mô hình thống kê học sâu 23 2.2.1 Một số lý thuyết mạng Neuron 23 2.2.1.1 Giới thiệu mạng Neuron 23 2.2.1.2 Cấu trúc hoạt động mạng Neuron 23 2.2.1.3 Quá trình huấn luyện mạng thuật toán học mạng 28 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ v 2.2.2 Hopfield Network 31 2.2.2.1 Cấu trúc mạng Hopfield 31 2.2.2.2 Mạng Hopfield rời rạc 33 2.2.2.3 Mạng Hopfield liên tục 34 2.2.3 Boltzmann Machines 36 2.2.4 Restricted Boltzmann Machines 39 2.2.3 Thuật toán lan truyền ngược 40 2.3 Kết luận chương 42 Chương 3: KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ 43 3.1 Môi trường thực nghiệm 43 3.2 Dữ liệu thực nghiệm 43 3.3 Kết thực nghiệm với mô hình SVM 44 3.4 Huấn luyện mô hình kết thực nghiệm với mô hình thống kê học sâu 45 3.4.1 Huấn luyện mô hình 45 3.4.1.1 Cấu trúc mô hình 45 3.4.1.2 Phương pháp huấn luyện quy trình nhận dạng 47 3.4.2 Giao diện chương trình 48 3.4.3 Kết thực nghiệm 49 3.5 Đánh giá kết thực nghiệm hai mô hình 50 3.6 Kết luận chương 51 KẾT LUẬN CHUNG 52 TÀI LIỆU THAM KHẢO 54 PHỤ LỤC: HUẤN LUYỆN MÔ HÌNH 56 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ vi DANH MỤC HÌNH ẢNH Hình 1-1: Các bước nhận dạng chữ viết tay Hình 2-1: Các siêu phẳng H , H phân cách hai lớp Hình 2-2: Siêu phẳng tách tuyến tính 10 Hình 2-3: Không thể phân hoạch tập mẫu siêu phẳng 13 Hình 2-4: Một mặt phân chia phi tuyến trở thành siêu phẳng không gian lớn 17 Hình 2-5: Cấu trúc neuron 24 Hình 2-6: Cấu trúc chung mạng neuron 26 Hình 2-7: Cấu trúc mạng Hopfield 31 Hình 2-8: Đồ thị hàm satlins 32 Hình 2-9: Mạng Hopfield liên tục sử dụng mạch điện tử 35 Hình 2-10: Một Boltzmann Machine với nút ẩn 36 Hình 2-11: Một RBM đơn giản với hidden units visible units 39 Hình 3-2: Giao diện chương trình nhận dạng chữ viết tay hạn chế 48 Hình 3-3: Chương trình nhận dạng ảnh 48 Hình 3-4: Nhận dạng thống kê nhiều ảnh 49 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ vii DANH MỤC BẢNG BIỂU Bảng 2-1: Các hàm truyền 27 Bảng 3-1: Kết thực nghiệm mô hình SVM tập liệu MNIST Tuyển Sinh 44 Bảng 3-2: Kết thực nghiệm mô hình SVM tập liệu MNIST 44 Bảng 3-3: Kết thực nghiệm mô hình SVM tập liệu Tuyển Sinh 45 Bảng 3-4: Kết thực nghiệm tập liệu MNIST Tuyển Sinh 49 Bảng 3-5: Kết thực nghiệm tập liệu Tuyển sinh 50 Bảng 3-6: Bảng so sánh kết hai mô hình 50 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ LỜI MỞ ĐẦU Nhận dạng chữ viết tay toán khó lớp toán nhận dạng chữ, thu hút nhiều quan tâm nghiên cứu nhà khoa học Đặc biệt vài thập niên gần đây, thúc đẩy trình tin học hóa lĩnh vực, ứng dụng nhận dạng chữ có nhiều ý nghĩa sử dụng cho toán thực tế Cũng nhiều toán nhận dạng tiếng nói, hình ảnh… khác, độ xác hệ thống tiếp tục cần phải cải thiện nhằm vươn tới khả nhận dạng giống người Tuy nhiên, với toán nhận dạng chữ viết tay vấn đề trở nên phức tạp nhiều so với toán nhận dạng chữ in thông thường vấn đề sau [3]: Với chữ viết tay có khái niệm font chữ, kích cỡ chữ Các kí tự văn chữ viết tay thường có kích thước khác Thậm chí, kí tự văn người viết nhiều có độ rộng, hẹp, cao, thấp khác nhau, Với người viết khác chữ viết có độ nghiêng khác (chữ nghiêng nhiều/ít, chữ nghiêng trái/phải ) Các kí tự từ văn chữ viết tay hầu hết người viết thường bị dính khó xác định phân cách chúng Các văn chữ viết tay có trường hợp dính dòng (dòng bị dính chồng lên dòng trên) Trong năm gần đây, mô hình mạng Neuron theo hướng học sâu cho thấy kết tốt nhiều toán khác nhau, có nhận dạng chữ Xuất phát từ yêu cầu thực tế, cần có nghiên cứu vấn đề Chính học viên chọn đề tài “Nghiên cứu mô hình thống kê học sâu ứng dụng nhận dạng chữ viết tay hạn chế” làm luận văn tốt nghiệp với mong muốn phần áp dụng vào toán thực tế Bài toán đặt phải giải yêu cầu sau: Nhận dạng ký tự từ ảnh đầu vào Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Tiến hành nhận dạng kí tự đơn lẻ sử dụng mạng Neuron nhân tạo theo phương pháp học sâu Restricted Boltzmann machine (RBM) Đánh giá kết so sánh với mô hình Support Vector Machine Với yêu cầu đặt trên, cấu trúc luận văn bao gồm nội dung sau đây: Chương 1:Tổng quan đề tài Giới thiệu toán nhận dạng chữ viết tay, tình hình nghiên cứu nước, quy trình chung để giải toán phương pháp điển hình việc huấn luyện nhận dạng, phạm vi đề tài Chương 2: Mô hình SVM mô hình thống kê học sâu Trình bày sở lý thuyết mô hình SVM (Support Vector Machine) huấn luyện toán nhận dạng chữ viết tay Cơ sở lý thuyết mô hình thống kê học sâu: Hopfield network, Boltzmann Machines, Restricted Boltzmann Machines thuật toán lan truyền ngược Chương 3: Kết thực nghiệm đánh giá Trình bày kết thực nghiệm hai mô hình SVM mô hình thống kê học sâu, đưa kết đánh giá nhận dạng chữ viết tay hạn chế mô hình SVM mô hình thống kê học sâu Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Chương GIỚI THIỆU ĐỀ TÀI 1.1 Giới thiệu toán nhận dạng Nhận dạng chữ in: giải gần trọn vẹn (sản phẩm FineReader 11 hãng ABBYY 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 Viện Công nghệ Thông tin – Viện Hàn lâm Khoa học Công nghệ Việt Nam nhận dạng tài liệu chứa hình ảnh, bảng văn với độ xác 98%) Nhận dạng chữ viết tay vấn đề thách thức lớn nhà nghiên cứu Bài toàn chưa thể giải trọn vẹn hoàn toàn phụ thuộc vào người viết biến đổi đa dạng cách viết trạng thái sức khỏe, tinh thần người viết 1.1.1 Các giai đoạn phát triển Giai đoạn (1900 - 1980) - Nhận dạng chữ biết đến từ năm 1900, nhà khoa học người Nga Alan Turing (1912-1954) phát triển phương tiện trợ giúp cho người mù - Các sản phẩm nhận dạng chữ thương mại có từ năm1950, máy tính lần giới thiệu tính nhập lưu trữ liệu hai chiều bút viết bảng cảm ứng.Công nghệ cho phép nhà nghiên cứu làm việc toán nhận dạng chữ viết tay online - Mô hình nhận dạng chữ viết đề xuất từ năm 1951 phát minh M Sheppard gọi GISMO, robot đọc-viết - Năm 1954, máy nhận dạng chữ phát triển J Rainbow dùng để đọc chữ in hoa chậm - Năm 1967, Công ty IBM thương mại hóa hệ thống nhận dạng chữ Giai đoạn (1980 - 1990) - Với phát triển thiết bị phần cứng máy tính thiết bị thu nhận liệu, phương pháp luận nhận dạng phát triển giai đoạn trước Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 49 Hình 3-3: Nhận dạng thống kê nhiều ảnh 3.4.3 Kết thực nghiệm Với việc sử dụng môi trường thực nghiệm liệu thực nghiệm học viên rút số kết luận sau: Bảng 3-4: Kết thực nghiệm tập liệu MNIST Tuyển Sinh Các thông số Bộ liệu MNIST Bộ liệu Tuyển Sinh 60.000 60.000 Chưa xác định 5433 < 24 < 24 Thời gian nhận dạng Chưa xác định < phút Tỉ lệ nhận dạng Chưa xác định 99.48 % Số mẫu học Số mẫu nhận dạng Thời gian học Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 50 Bảng 3-5: Kết thực nghiệm tập liệu Tuyển sinh Chữ số Số mẫu Số mẫu nhận dạng Độ xác (%) 1281 1279 99,8439 861 854 99,1870 338 335 99,1124 747 735 98,3936 337 337 100 287 286 99,6516 438 435 99,3135 661 661 100 238 238 100 295 295 100 3.5 Đánh giá kết thực nghiệm hai mô hình Bảng 3-6: Bảng so sánh kết hai mô hình Các thông số Số mẫu học Số mẫu nhận dạng Thời gian học Thời gian nhận dạng Tỉ lệ nhận dạng SVM Deep Learning MNIST Tuyển sinh MNIST Tuyển Sinh 60.000 60.000 60.000 60.000 10.000 10.000 >30 > 30 > phút > phút 95.21 % 94.88 % Số hóa Trung tâm Học liệu - ĐHTN Chưa xác định < 24 Chưa xác định Chưa xác định 5433 < 24 < phút 99.48 % http://www.lrc-tnu.edu.vn/ 51 Từ kết thu hai mô hình SVM (Support Vector Machine) mô hình thống kê học sâu (Deep Learning), thấy mô hình Deep Learning mô hình mẻ, nước giới Qua trình xây dựng chương trình thực nghiệm thấy rằng, mô hình cho kết tốt so với mô hình Support Vector Machine 3.6 Kết luận chương Trong chương nêu kết thực nghiệm hai mô hình Suport Vector Machine (SVM) mô hình thống kê học sâu (mô hình sử dụng mạng neuron nhân tạo theo phương pháp học sâu) Nhìn chung, kết thực nghiệm ta thấy việc sử dụng mô hình thống kê học sâu cho kết tốt so với số phương pháp trước đây, mà cụ thể mô hình SVM Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 52 KẾT LUẬN CHUNG Các kết đạt chưa đạt Qua thời gian nghiên cứu luận văn, học viên nhận thấy đạt kết sau đây: - Đề tài đưa giải pháp cho việc nhận dạng chữ viết tay hạn chế, cụ thể sử dụng mô hình thống kê học sâu Ngoài ra, luận văn trình bày phần mô hình SVM (Support Vector Machine) cho việc nhận dạng chữ viết tay, sử dụng số thư viện mã nguồn mở Hai mô hình sử dụng liệu để đưa kết so sánh đánh giá - Việc áp dụng mô hình thống kê học sâu cho kết tương đối tốt, với mô hình kết thu liệu chữ viết tay Tuyển Sinh 99,48%, tốt xấp xỉ khoảng 5% so với mô hình SVM (94,88%) - Bài toán giải tốt lớp toán nhận dạng toán nhận dạng tổng thể, bước quan trọng toán nhận dạng hoàn chỉnh Ngoài điều bật nêu trên, luận văn số điểm hạn chế định: - Bài toán dừng lại việc nhận dạng kí tự đơn lẻ mà chưa thể nhận dạng kí tự liền nét với - Việc xử lý ảnh nhiễu chưa thật tốt, nhận dạng xảy sai sót gặp phải ảnh có chất lượng Hướng nghiên cứu phát triển - Trong thời gian tới, học viên nghiên cứu sâu mô hình thống kê học sâu để nhằm nâng cao thêm chất lượng mô hình nhận dạng, đồng thời thu thập thêm liệu cho lớp kí tự khác - Mở rộng thêm lớp kí tự, nhằm giải toán lớn nhận dạng kí tự viết tay khác, không hạn chế riêng cho kí tự từ Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 53 - Ngoài ra, để nâng cao thêm cho việc nhận dạng, học viên mở rộng thêm lớp chữ mà phân tách thành ký tự đơn lẻ - Nghiên cứu xây dựng toán nhận dạng hoàn chỉnh, bổ sung thêm phần phân tích cú pháp phân tích ngữ nghĩa câu để lựa chọn xác kết trả mạng Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 54 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Đỗ Thanh Nghị, Phạm Nguyên Khang (2013) Nhận dạng kí tự số viết tay giải thuật máy học Tạp chí khoa học Trường Đại học Cần Thơ [2] Lê Minh Hoàng, phương pháp nhận dạng văn tiếng Việt Luận văn thạc sỹ, Đại học Quốc gia Hà Nội [3] Nguyễn Thị Thanh Tân, Nhận dạng chữ viết tay hạn chế dựa mô hình mạng neuron kết hợp với thống kê ngữ cảnh Luận văn thạc sỹ, Đại học Quốc gia Hà Nội [4] Phạm ThịHoàng Nhung, Hà Quang Thụy (2007).Nghiên cứu, sử dụng mạng neuron nhân tạo dự báo lưu lượng nước đến hồ Hoà Bình trước 10 ngày Hội thảo Quốc gia Một số vấn đề chọn lọc Công nghệ thông tin Truyền thông, lần thứ X, Đại Lải, Vĩnh Phúc, 9/2007 Tiếng Anh [5] Baret O and Simon J.C (1992) Cursiver Words Recognition From Pixels to Fuatures III Frontiers in Handwriting Recognition, tr.1-2 [6] Behnk S., Pfister M and Rojas R., (2000) Recognition of Handwitten ZIP Codes in a Real-World Non-Standard-Letter Sorting System Kluwer Academic Publishers, tr.95-115 [7] Fujasaki T., Beigi H.S.M, Tappert C.C, Ukelson M and Wolf C.G (1992) Online recognition of unconstrained handprinting: a stroke-based system and it evaluation From Pixels to Fuatures III Frontiers in Handwriting Recognition, tr.1-3 [8] Hoai Vu Pham (2013), Hopfield networks and Boltzmann Machines By http://phvu.net/ [9] Hoai Vu Pham (2013), Model definition and training of RBMs By http://phvu.net/ Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 55 [10] Hoai Vu Pham (2013), Contrastive Divergence By http://phvu.net/ [11] LISA lab Deep Learning 0.1 documentation By http://www.deeplearning.net/tutorial/contents.html [12] Michael Nielsen (2014).Using neural nets to recognize handwritten digits By http://neuralnetworksanddeeplearning.com/chap1.html [13] Ruslan Salakhutdinov and Geoff Hinton, Training a deep autoencoder or a classifier on MNIST digits Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 56 PHỤ LỤC: HUẤN LUYỆN MÔ HÌNH Restricted Boltzmann Machine (RBM) RBM.m epsilonw = 0.1; % Learning rate for weights epsilonvb = 0.1; % Learning rate for biases of visible units epsilonhb = 0.1; % Learning rate for biases of hidden units weightcost = 0.0002; initialmomentum = 0.5; finalmomentum = 0.9; [numcases numdims numbatches]=size (batchdata); if restart ==1, restart=0; epoch=1; % Initializing symmetric weights and biases vishid = 0.1*randn (numdims, numhid); hidbiases = zeros (1,numhid); visbiases = zeros (1,numdims); poshidprobs = zeros (numcases,numhid); neghidprobs = zeros (numcases,numhid); posprods = zeros (numdims,numhid); negprods = zeros (numdims,numhid); vishidinc = zeros (numdims,numhid); hidbiasinc = zeros (1,numhid); visbiasinc = zeros (1,numdims); batchposhidprobs=zeros (numcases,numhid,numbatches); end for epoch = epoch:maxepoch, fprintf (1,'epoch %d\r',epoch); errsum=0; for batch = 1:numbatches, fprintf (1,'epoch %d batch %d\r',epoch,batch); %%%%%%%%% START POSITIVE PHASE %%%%%%%%%%%%%%%%%%% data = batchdata (:,:,batch); poshidprobs = 1./ (1 + exp (-data*vishid - repmat (hidbiases,numcases,1))); batchposhidprobs (:,:,batch)=poshidprobs; posprods = data' * poshidprobs; poshidact = sum (poshidprobs); Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 57 posvisact = sum (data); %%%%%%%%% END OF POSITIVE PHASE %%%%%%%%%%%%%%%%%% poshidstates = poshidprobs > rand (numcases,numhid); %%%%%%%%% START NEGATIVE PHASE %%%%%%%%%%%%%%%%%%%%% negdata = 1./ (1 + exp (-poshidstates*vishid' - repmat (visbiases,numcases,1))); neghidprobs = 1./ (1 + exp (-negdata*vishid - repmat (hidbiases,numcases,1))); negprods = negdata'*neghidprobs; neghidact = sum (neghidprobs); negvisact = sum (negdata); %%%%%%%%% END OF NEGATIVE PHASE %%%%%%%%%%%%%%%%%% err= sum (sum ( (data-negdata).^2 )); errsum = err + errsum; if epoch>5, momentum=finalmomentum; else momentum=initialmomentum; end; %%%%%%%%% UPDATE WEIGHTS AND BIASES %%%%%%%%%%%%%%%%% vishidinc = momentum*vishidinc + epsilonw* ( (posprods-negprods)/numcases - weightcost*vishid); visbiasinc = momentum*visbiasinc + (epsilonvb/numcases)* (posvisact-negvisact); hidbiasinc = momentum*hidbiasinc + (epsilonhb/numcases)* (poshidact-neghidact); vishid = vishid + vishidinc; visbiases = visbiases + visbiasinc; hidbiases = hidbiases + hidbiasinc; %%%%%%%%%%%%%%%% END OF UPDATES %%%%%%%%%%%%%%%%% end fprintf (1, 'epoch %4i error %6.1f \n', epoch, errsum); end; Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 58 Thuật toán lan truyền ngược Backpropclassify.m maxepoch=200; fprintf (1,'\nTraining discriminative model on MNIST by minimizing cross entropy error \n'); fprintf (1,'60 batches of 1000 cases each \n'); load mnistvhclassify load mnisthpclassify load mnisthp2classify makebatches; [numcases numdims numbatches]=size (batchdata); N=numcases; %%% PREINITIALIZE WEIGHTS OF THE DISCRIMINATIVE MODEL%%%%%%%% w1=[vishid; hidrecbiases]; w2=[hidpen; penrecbiases]; w3=[hidpen2; penrecbiases2]; w_class = 0.1*randn (size (w3,2)+1,10); %%%%%%%%% END OF PREINITIALIZATIO OF WEIGHTS %%%%%%%%%%%%% l1=size (w1,1)-1; l2=size (w2,1)-1; l3=size (w3,1)-1; l4=size (w_class,1)-1; l5=10; test_err=[]; train_err=[]; for epoch = 1:maxepoch %%%%%%%% COMPUTE TRAINING MISCLASSIFICATION ERROR %%%%%%%%% Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 59 err_cr=0; counter=0; [numcases numdims numbatches]=size (batchdata); N=numcases; for batch = 1:numbatches data = [batchdata (:,:,batch)]; target = [batchtargets (:,:,batch)]; data = [data ones (N,1)]; w1probs = 1./ (1 + exp (-data*w1)); w1probs = [w1probs ones (N,1)]; w2probs = 1./ (1 + exp (-w1probs*w2)); w2probs = [w2probs ones (N,1)]; w3probs = 1./ (1 + exp (-w2probs*w3)); w3probs = [w3probs ones (N,1)]; targetout = exp (w3probs*w_class); targetout = targetout./repmat (sum (targetout,2),1,10); [I J]=max (targetout,[],2); [I1 J1]=max (target,[],2); counter=counter+length (find (J==J1)); err_cr = err_cr- sum (sum ( target (:,1:end).*log (targetout))) ; end train_err (epoch)= (numcases*numbatches-counter); train_crerr (epoch)=err_cr/numbatches; %%%%%% END OF COMPUTING TRAINING MISCLASSIFICATION ERROR %%% %%%% COMPUTE TEST MISCLASSIFICATION ERROR %%%%%%%%%%% err=0; err_cr=0; counter=0; [testnumcases testnumdims testnumbatches]=size (testbatchdata); N=testnumcases; Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 60 for batch = 1:testnumbatches data = [testbatchdata (:,:,batch)]; target = [testbatchtargets (:,:,batch)]; data = [data ones (N,1)]; w1probs = 1./ (1 + exp (-data*w1)); w1probs = [w1probs ones (N,1)]; w2probs = 1./ (1 + exp (-w1probs*w2)); w2probs = [w2probs ones (N,1)]; w3probs = 1./ (1 + exp (-w2probs*w3)); w3probs = [w3probs ones (N,1)]; targetout = exp (w3probs*w_class); targetout = targetout./repmat (sum (targetout,2),1,10); [I J]=max (targetout,[],2); [I1 J1]=max (target,[],2); counter=counter+length (find (J==J1)); err_cr = err_cr- sum (sum ( target (:,1:end).*log (targetout))) ; end test_err (epoch)= (testnumcases*testnumbatches-counter); test_crerr (epoch)=err_cr/testnumbatches; fprintf (1,'Before epoch %d Train # misclassified: %d (from %d) Test # misclassified: %d (from %d) \t \t \n', epoch,train_err (epoch),numcases*numbatches,test_err (epoch),testnumcases*testnumbatches); %% END OF COMPUTING TEST MISCLASSIFICATION ERROR %%%%%% tt=0; for batch = 1:numbatches/10 fprintf (1,'epoch %d batch %d\r',epoch,batch); %%%% COMBINE 10 MINIBATCHES INTO LARGER MINIBATCH %%%%%%%% tt=tt+1; Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 61 data=[]; targets=[]; for kk=1:10 data=[data batchdata (:,:, (tt-1)*10+kk)]; targets=[targets batchtargets (:,:, (tt-1)*10+kk)]; end %%% PERFORM CONJUGATE GRADIENT WITH LINESEARCHES %%%%%% max_iter=3; if epoch[...]... ứng dụng thực tế nên nhận dạng chữ viết tay trực tuyến chưa được biết đến nhiều và khi nhắc đến nhận dạng chữ viết tay chúng ta thường hiểu hình thức nhận dạng ở đây là offline Các kết quả nhận dạng chữ viết tay offline hiện này còn rất hạn chế Các kết quả nghiên cứu chưa tìm được giải pháp đủ tốt để giải quyết hết những khó khăn tiêu biểu sau của bài toán nhận dạng chữ viết tay: Kích thước của chữ. .. thống nhận dạng chữ số và chữ cái viết tay rời rạc trên các phiếu xuất nhập cảnh của nhóm nghiên cứu ở Đại học quốc gia thành phố Hồ Chí Minh,… 1.1.3 Tình hình nghiên cứu ở nước ngoài Nhận dạng chữ viết đã được nghiên cứu hơn 40 năm qua Ngày nay nhận dạng chữ viết đã nhận được sự quan tâm đáng kể do sự phát triển của các máy tính cầm tay và điện thoại cầm tay dựa trên các bàn phím, chuột và nhiều dạng. ..4 đã có được môi trường lý tưởng để triển khai các ứng dụng nhận dạng chữ - Các hướng tiếp cận theo cấu trúc và đối sánh được áp dụng trong nhiều hệ thống nhận dạng chữ - Trong giai đoạn này, các hướng nghiên cứu chỉ tập trung vào các kỹ thuật nhận dạng hình dáng chứ chưa áp dụng cho thông tin ngữ nghĩa Điều này dẫn đến sự hạn chế về hiệu suất nhận dạng, không hiệu quả trong nhiều ứng dụng thực tế... khác Nhận dạng chữ viết tay được thực hiện qua hai hình thức là nhận dạng online và nhận dạng offline Nhận dạng online có nghĩa là máy tính sẽ nhận dạng Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 5 các chữ được viết lên màn hình ngay sau khi nó được viết Đối với những hệ nhận dạng này, máy tính sẽ lưu lại các thông tin về nét chữ như thứ tự nét viết, hướng và tốc độ của nét viết trong. .. văn Cuối cùng khi các ảnh đầu vào đã được đưa vào nhận dạng và cho ra kết quả thì bước quan trọng không kém là quá trình hậu xử lý với các kết quả ở trên, và trả lại kết quả cho người dử dụng [3] Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 8 1.3 Kết luận chương Luận văn Nghiên cứu về mô hình thống kê học sâu và ứng dụng trong nhận dạng chữ viết tay hạn chế được thực hiện với mục... diễn thông tin chữ viết dưới những dạng đặc biệt hơn và cô đọng hơn, rút trích các đặc điểm riêng nhằm phân biệt các ký tự khác nhau Trong luận văn này, tôi nghiên cứu và tìm hiểu về mô hình học thống kê học sâu, trong mô hình này thì khi huấn luyện và sử dụng dữ liệu chúng ta không cần sử dụng đặc trưng của ảnh đầu vào nên có thể bỏ qua bước trích rút đặc trưng Huấn luyện và nhận dạng (training... dụ, trong nhận dạng chữ số viết tay, tất cả các kiểu viết khác nhau của số “0” đều được quy về một lớp, lớp số “0” và hệ nhận dạng cần được huấn luyện sao cho khi gặp một mẫu bất kỳ của số “0” nó phải chỉ ra được đầu vào này thuộc về lớp số “0” Trong hệ nhận dạng chữ số, số lớp phân loại là 10 lớp, tương ứng với 10 chữ số từ 0 đến 9 Một cách tương tự, trong nhận dạng chữ cái viết tay tiếng Anh chữ. .. quyết một lớp con các bài toán nhận dạng chữ viết tay mà cụ thể là nhận dạng các kí tự đơn lẻ là các chữ số từ 0 đến 9, đây là bước cần thiết trong bài toán nhận dạng chữ viết tiếng Việt Từ đó sẽ tạo cơ sở tiếp theo để có thể xây dựng tiếp mô hình nhận dạng các kí tự tiếng Việt đơn lẻ, và sẽ tiến tới xây dựng một hệ thống nhận dạng văn bản viết tay tiếng Việt hoàn chỉnh, và cũng có thể xây dựng nên các... (postprocessing): sử dụng các thông tin về ngữ cảnh để giúp tăng cường độ chính xác, dùng từ điển dữ liệu Ban đầu các văn bản chữ viết tay được scan và đưa vào hệ thống nhận dạng, với quá trình tiền xử lý thì ảnh sẽ được một ảnh mà do hệ thống yêu cầu để huấn luyện và nhận dạng (có thể là ảnh nhị phân hay ảnh đa mức xám) Trong mô hình thống kê học sâu, ảnh được sử dụng để huấn luyện và nhận dạng là ảnh đa mức xám (các... nhiều những nhóm nghiên cứu về nhận dạng chữ viết tay sử dụng các mô hình phổ biến hiện nay như: SVM (Support Vector Machine), HMM (Hidden Markov Model), mạng Neuron… Nhưng nhìn chung thì chất lượng nhận dạng của các mô hình này đều chưa cao vì chữ viết tay còn nhiều các yếu tố tác động đến như: độ cao, độ nghiêng, các nét liền… của chữ viết đều ảnh hưởng rất nhiều đến quá trình nhận dạng Hiện tại, chúng ... chương Luận văn Nghiên cứu mô hình thống kê học sâu ứng dụng nhận dạng chữ viết tay hạn chế thực với mục đích giải lớp toán nhận dạng chữ viết tay mà cụ thể nhận dạng kí tự đơn lẻ chữ số từ đến... Trình bày kết thực nghiệm hai mô hình SVM mô hình thống kê học sâu, đưa kết đánh giá nhận dạng chữ viết tay hạn chế mô hình SVM mô hình thống kê học sâu Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/...ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG MAI VĂN THỦY NGHIÊN CỨU VỀ MÔ HÌNH THỐNG KÊ HỌC SÂU VÀ ỨNG DỤNG TRONG NHẬN DẠNG CHỮ VIẾT TAY HẠN CHẾ Chuyên ngành : Khoa Học