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

Nghiên cứu phương pháp học sâu ứng dụng trong bài toán nhận dạng kí tự

48 13 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

TRẦN VĂN CHÍNH NGHIÊN CỨU PHƯƠNG PHÁP HỌC SÂU ỨNG DỤNG TRONG BÀI TỐN NHẬN DẠNG KÍ TỰ VÀ ỨNG DỤNG TRONG BÀI TỐN TÌM ĐƯỜNG ĐI CHO ROBOT BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VINH TRẦN VĂN CHÍNH LUẬN VĂN THẠC SỸ Chun ngành: Cơng nghệ thông tin Mã ngành: 8.48.02.01 NGHIÊN CỨU PHƯƠNG PHÁP HỌC SÂU ỨNG DỤNG TRONG BÀI TỐN NHẬN DẠNG KÍ TỰ Người hướng dẫn: TS TRẦN XUÂN SANG KHÓA: 24 Vĩnh Long, 7/2018 -1- BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VINH TRẦN VĂN CHÍNH LUẬN VĂN THẠC SỸ Chuyên ngành: Công nghệ thông tin Mã ngành: 8.48.02.01 NGHIÊN CỨU PHƯƠNG PHÁP HỌC SÂU ỨNG DỤNG TRONG BÀI TOÁN NHẬN DẠNG KÍ TỰ Người hướng dẫn: TS TRẦN XUÂN SANG Vĩnh Long, tháng 7/2018 -2- LỜI CẢM ƠN Trên thực tế, phấn đấu, tự lực thân ra, khơng có thành cơng, vinh quang mà không gắn liền với giúp đỡ, hỗ trợ dù hay nhiều, dù trực tiếp hay gián tiếp người khác Vâng! Đúng vậy! Để hoàn thành luận văn “Nghiên cứu phương pháp học sâu ứng dụng tốn nhận dạng kí tự”, bên cạnh niềm say mê, nghiên cứu, tơi ln nhận giúp đỡ tận tình q thầy cơ, gia đình bạn bè đồng nghiệp Để bày tỏ lịng biết ơn mình, tơi khơng biết nói ngồi lời cảm ơn chân thành dành cho người giúp đỡ thời gian qua Và đặc biệt xin gửi lời cảm ơn sâu sắc đến: Thầy TS Trần Xuân Sang giảng viên viện Sư phạm Tự nhiên - Đại học Vinh, người ln quan tâm, tận tình bảo, hướng dẫn giúp đỡ tơi hồn thành luận văn Tôi xin chân thành cảm ơn thầy viện Kỹ thuật Công nghệ dạy bảo, giúp đỡ truyền đạt kiến thức cho tơi suốt khóa học q trình làm luận văn Tơi xin chân thành cảm ơn thầy, cô trường Đại học học sư phạm kỹ thuật Vĩnh Long giúp đỡ tạo điều kiện cho suốt thời gian học tập nghiên cứu Cuối xin chân thành cảm ơn bạn bè, người thân gia đình ln người đồng hành, động viên, chia sẻ khó khăn suốt thời gian hồn thành luận văn Học viên Trần Văn Chính -3- LỜI CAM ĐOAN Tôi xin cam đoan đề tài "Nghiên cứu phương pháp học sâu ứng dụng nhận dạng kí tự” cơng trình nghiên cứu tơi thực hướng dẫn giáo viên hướng dẫn khoa học Một số định nghĩa, tính chất, mệnh đề thuật tốn tơi lấy từ nguồn tài liệu xác có trích dẫn tên tài liệu tên tác giả rõ ràng Tơi xin chịu trách nhiệm luận văn Học viên Trần Văn Chính -4- MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN DANH MỤC CÁC KÝ HIỆU, CỤM TỪ VIẾT TẮT, THUẬT NGỮ DANH MỤC CÁC HÌNH MỞ ĐẦU Sự cần thiết vấn đề nghiên cứu Mục tiêu nghiên cứu Đối tượng phạm vi nghiên cứu 10 Nội dung nghiên cứu 10 CHƯƠNG 11 TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG 11 1.1 Giới thiệu toán nhận dạng 11 1.1.1 Các giai đoạn hình thành phát triển 12 1.1.2 Tình hình nghiên cứu nước 13 1.1.3 Tình hình nghiên cứu nước ngồi 13 1.2 Các bước xử lí cho toán nhận dạng 14 1.3 Mơ tả q trình hệ thống nhận dạng 16 1.4 Kết luận chương 17 CHƯƠNG 18 PHƯƠNG PHÁP HỌC SÂU VỚI MẠNG NEURAL 18 2.1 Tổng quan mô hình mạng Neural 18 2.1.1 Giới thiệu mạng Neural 18 2.1.2 Cấu trúc hoạt động mạng Neural 18 2.1.3 Mạng đa tầng truyền thẳng 23 2.1.4 Thuật toán lan truyền ngược 23 2.1.5 Hàm truyền 24 2.1.6 Các phương pháp huấn luyện mạng 25 2.2 Phương Pháp học sâu 27 2.2.1 Định nghĩa học sâu 27 -5- 2.2.2 Mạng Neural tích chập 27 2.2.3 Mạng Hopfield Network 31 2.2.4 Boltzmann Machines 33 2.2.5 Restricted Boltzmann Machines 36 2.3 Kết luận chương 37 CHƯƠNG 38 CÀI ĐẶT CHƯƠNG TRÌNH THỬ NGHIỆM NHẬN DẠNG KÍ TỰ VỚI THUẬT TOÁN CNN VÀ RBM 38 3.1 Môi trường thực nghiệm 38 3.2 Dữ liệu cài đặt 38 3.3 Xây dựng mô hình mạng 38 3.3.1 Mơ hình mạng neural tích chập 38 3.3.2 Mơ hình mạng Restricted Boltzmann Machines 42 3.4 Chương trình nhận dạng kí tự thuật tốn RBM 44 3.5 Kết luận chương 46 KẾT LUẬN CHUNG 47 TÀI LIỆU THAM KHẢO 48 -6- DANH MỤC CÁC KÝ HIỆU, CỤM TỪ VIẾT TẮT, THUẬT NGỮ Ký hiệu, thuật ngữ (cụm từ viết tắt) Diễn giải Support Vector Machines (SVM) Máy véc tơ hỗ trợ Deep Learning (DL) Học sâu CSDL Cơ sở liệu Artificial Neural Network (ANN) Mạng neural nhân tạo Computer Vision Thị giác máy tính Synapse Khớp kết nối Convolutional Neural Network (CNNs) Mạng neural tích chập Machinelearning (ML) Học máy ( Máy học) RBMs Restricted Boltzmann Machines Artificial intelligence (AI) Trí tuệ nhân tạo Natural language processing (NLP) Xử lí ngơn ngữ tự nhiên Clustering Phân nhóm Outcome Đầu Maximum Likelihood Estimation (MLE) Ước lượng khả cực đại Partition function Hàm ngăn phần MCMC Markov Chain Monte Carlo -7- DANH MỤC CÁC HÌNH Hình 1.1: Các bước cho tốn nhận dạng 14 Hình 1.2: Quá trình chuyển từ ma trân điểm sang ma trận giá trị 16 Hình 1.3: Chuẩn hóa kích thước ảnh 16 Hình 2.1: Mơ hình neural sinh học 19 Hình 2.2: Mơ hình neural nhân tạo nhiều đầu vào 20 Hình 2.3: Mơ hình mạng neural tầng 21 Hình 2.6: Minh họa tích chập 28 Hình 2.7: Minh họa lớp tích chập trọn ảnh 29 Hình 2.8: Kiến trúc mạng neural tích chập 30 Hình 2.9: Cấu trúc mạng Hopfield nút 31 Hình 2.10: Hàm kích hoạt với biến  32 Hình 2.11: Mơ hình mạng Boltzmann Machines nút ẩn 34 Hình 2.12: Mơ hình RBM với nút ẩn, nút 36 Hình 3.1: Một vài mẫu tập MNIST 39 Hình 3.2: Minh họa phương pháp Maxpooling 40 Hình 3.3: Mơ hình mạng neural tích chập nhận dạng ký tự viết tay 40 Hình 3.4: Minh họa Lớp liên kết đầy đủ 41 Hình 3.5: Minh họa bước tích chập 41 Hình 3.6: Cấu trúc mơ hình mạng RBM 42 Hình 3.7: Giao diện chương trình 44 Hình 3.8: Quá trình training 45 Hình 3.9: Nhận dạng online 45 Hình 3.10: Nhận dạng offline 46 -8- MỞ ĐẦU Sự cần thiết vấn đề nghiên cứu Phương pháp học sâu (Deep Learning) phương pháp nâng cao mạng neural nhân tạo Ngày nhiều toán nhận dạng sử dụng Deep Learning để giải thuật toán giải tốn phức tạp với tập liệu đầu vào khổng lồ mà hiệu độ xác vượt trội so với phương pháp phân lớp truyền thống Công nghệ dẫn đầu việc cung cấp giải pháp tốt cho nhiều tốn nhận dạng kí tự, nhận dạng hình ảnh, nhận dạng giọng nói xử lý ngơn ngữ tự nhiên, từ mang lại nhiều giá trị ứng dụng cho doanh nghiệp bao gồm cơng nghệ quảng cáo, dịch vụ tài chính, phương tiện truyền thông, sản xuất, y tế, dịch vụ công cộng… Trong năm gần đây, ta chứng kiến nhiều thành tựu vượt bậc ngành Machine Learning Các hệ thống xử lý ảnh lớn hãng Facebook, Google hay Amazon đưa vào sản phẩm chức thơng minh nhận diện khuôn mặt, vân tay người dùng, hệ thống dự báo cố, phát triển xe tự lái hay đơn giao hàng tự động Xuất phát từ yêu cầu thực tế, cần có nghiên cứu vấn đề Chính tơi chọn đề tài “Nghiên cứu phương pháp học sâu ứng dụng tốn nhận dạng kí tự” Mục tiêu nghiên cứu 2.1 Mục tiêu tổng quát Nghiên cứu phương pháp học sâu ứng dụng xây dựng hệ thống nhận dạng kí tự 2.2 Mục tiêu cụ thể Đề tài tập chung vào mục tiêu cụ thể sau: (i) Nghiên cứu tổng quan tốn nhận dạng kí tự (ii) Nghiên cứu mạng Neural theo phương pháp học sâu -9- (iii) Nghiên cứu cài đặt thuật toán nhận dạng ký tự mạng neural theo phương pháp học sâu Đối tượng phạm vi nghiên cứu 3.1 Đối tượng nghiên cứu 3.1.1 Nghiên cứu lý thuyết - Nghiên cứu tài liệu toán nhận dạng ký tự công bố nước; - Nghiên cứu tài liệu phương pháp Học sâu (Deep Learning) công bố nước; - Nghiên cứu mạng neural theo phương pháp học sâu để xây dựng hệ thống nhận dạng kí tự 3.1.2 Nghiên cứu thực nghiệm - Nghiên cứu ngơn ngữ Python cài đặt thuật tốn với liệu MNIST - Nghiên cứu ngôn ngữ C# để xây dựng ứng dụng nhận dạng kí tự - So sánh, đánh giá hiệu thuật toán 3.2 Phạm vi nghiên cứu toán - Trong luận văn này, Tôi tập trung giải toán sử dụng mạng neural theo phương pháp học sâu để nhận dạng kí tự từ đến Nội dung nghiên cứu - Nghiên cứu tổng quan hệ thống nhận dạng ký tự viết tay công bố - Nghiên cứu mạng neural (Quá trình huấn luyện học mạng) - Nghiên cứu thuật toán học sâu (Deep Learning) - Nghiên cứu phương pháp để trích chọn đặc trưng ký tự viết tay - Nghiên cứu ngơn ngữ lập trình Python, C# để cài hệ thống nhận dạng - Lập trình thuật tốn máy tính đánh giá hiệu thuật tốn -10- Hình 2.9: Mơ hình mạng Boltzmann Machines nút ẩn[6] Khi ta thêm vào phần nhiễu (điều khiển tham số T) Boltzmann Machines cho tốt mạng Hopfield Bởi mạng Hopfield, cơng thức cập nhật trọng số buộc mạng Hopfield theo chiều giảm hàm lượng, khơng có cách để mạng Hopfield khỏi cực tiểu địa phương Bằng cách thêm nhiễu vào trình này, Boltzmann Machines vượt qua cực tiểu địa phương giúp đạt cân Thơng thường người ta qui ước neuron Boltzmann Machines chia thành nhóm gồm nút (visible units) nút ẩn (hidden units) Lúc hàm lượng Boltzmann Machines viết công thức: −E(v, h) =  v b +  h b + v v W + v h W + h h W I vis i i khid k k i j i j ij i k i ,k ik k 1 k l kl (2.3) Trong E(v, h) lượng cấu hình với giá trị v nút h nút ẩn Từ hàm lượng này, ta định nghĩa phân bố liên hợp nút nút ẩn bời công thức sau : p(v, h) = e − E ( v ,h )  ug e− E (u,g) (2.4) Ở công thức (2.4) mẫu số tổng lượng tất cấu hình cho nút, gọi hàm ngăn phần, mà phân phối xác suất nút viết sau: e p(v) =  p(v, h) =  e − E ( v ,h ) h h ug -34- ug (2.5) Chính cơng thức (2.4) dạng Boltzmann mơ hình lấy tên Boltzmann Machine Mặt khác Boltzmann Machine loại mơ hình đồ thị vơ hướng có hệ số cạnh có đặc trưng trọng số hàm kích hoạt tương ứng với Cho nên Boltzmann Machine dùng để biểu diễn phân phối xác suất liệu huấn luyện, Boltzmann Machine biểu diễn phân bố liên hợp tất nút nói mơ hình sinh mẫu khơng phải mơ hình phân biệt mạng neural khác Đặc điểm coi tính chất ưu việt mơ hình này, xem tối ưu ta sử dụng Boltzmann machine để mơ hình hóa tập ảnh, xét ngun tắc Boltzmann Machine biểu diễn phân bố pixel ảnh, qua dùng để giải tốn hồn thành ảnh, mà khó giải mơ hình phân biệt truyền thống Tất thơng tin mà Boltzmann machine ghi nhận lại biểu diễn hàm lượng Phân phối xác suất neuron sau biểu diễn giống cơng thức (2.4) Tuy nhiên phải mong muốn huấn luyện mơ hình Boltzmann Machine từ tập liệu cho trước Chính mơ hình sinh mẫu ta sử dụng ước lượng khả cực đại ‘MLE’ Do hàm khả mơ hình tính cơng thức sau : L (W|X)= p(v|W) vX Trong X gọi tập liệu huấn luyện, p(v|W ) xác suất nút giá trị mẫu huấn luyện, v  X tính giống cơng thức (2.5) Mặt khác khó khăn xuất việc huấn luyện Boltzmann Machine tương đối lớn khơng khả thi hàm ngăn phần (2.5) (2.5) xuất hiện, Tóm lại việc tính tốn thống kê cần thiết thuật toán MLE lúc gặp khó khăn ví dụ: Muốn tính hàm ngăn phần ta phải duyệt qua tồn cấu hình bao gồm tất nút mơ hình Điều có nghĩa số lượng cấu hình hàm mũ theo số lượng nút mơ hình, việc huấn luyện khó thành cơng [6] [10] -35- 2.2.5 Restricted Boltzmann Machines (RBMs) Vào năm 1986 RBMs Paul Smolensky phát minh sau tới năm 2000 Geofrey Hinton công phát triển hồn thiện nó, coi (RBMs) biến thể Boltzmann Machines mà nút ẩn nút không kết nối với nhiên hạn chế cho phép thuật tốn huấn luyện hiệu Hình 2.10: Mơ hình RBM với nút ẩn, nút Mơ hình RBM chuẩn có nút ẩn nút tạo thành nhánh bao gồm ma trận có trọng số W=(wi,j) với kích thước (m*n) Qua hàm lượng RBM định nghĩa công thức sau: −E(v, h) =  v b +  h b + v h W I vis i i ihid i j i, j i j ij Công thức gần giống công thức (2.2.4) khác chỗ bỏ liên kết nút ẩn với nút với Các phân phối liên hợp RBM phân phối phân bố biên nút xác định là:  p(v)= p(v,h)=  e E ( v ,h ) p(v, h) =  u ,g e− E ( u ,g ) h h u,g e-E(v,h) e− E ( u ,g ) Dễ nhận thấy công thức tương tự Boltzmann -36- Machines Nhưng cách giới hạn lại kết nối, xác suất nút ẩn nhận giá trị hj = tính công thức: p(hj = 1) =  (−E j ) = 1 + exp(-(b j +  ivis vi Wij )) Trong hàm kích hoạt nút ẩn j phụ thuộc vào nút Mặt khác, ta mà biết trước giá trị nút hiện, nút ẩn độc lập với cặp Nhờ vào tính chất mà việc lấy mẫu từ phân bố liệu lúc huấn luyện RBM trở nên đơn giản nhiều ta cần thao tác lấy mẫu cho tồn nút ẩn, thay phải sử dụng nhiều thao tác lấy mẫu Gibbs Boltzmann Machines.[7] 2.3 Kết luận chương Trong chương trình bày chủ yếu hai mơ hình mạng phổ biến phương pháp học sâu mạng tích chập mạng hồi quy (Mạng hồi qui gồm Mạng Hopfield, Boltzmann Machines Restricted Boltzmann Machines ) Ngồi ra, chương cịn trình bày số lý thuyết mạng neuron nhân tạo số đặc trưng hàm truyền Bên cạnh đó, chương trình bày thêm thuật tốn lan truyền ngược ứng dụng trình huấn luyện mạng phương pháp huấn luyện mạng -37- CHƯƠNG CÀI ĐẶT CHƯƠNG TRÌNH THỬ NGHIỆM NHẬN DẠNG KÍ TỰ VỚI THUẬT TỐN CNN VÀ RBM 3.1 Mơi trường thực nghiệm Chương trình thử nghiệm cài đặt hệ điều hành Windows 7, máy tính core i7 tốc độ 2.0GHz, nhớ 8GB RAM Chương trình cài đặt ngơn ngữ lập trình Python 3.6 thuật toán CNN học viên sử dụng thư viện numpy tensorflow cịn thuật tốn RBM tơi sử dụng thư viện numpy theano Ở thuật toán sau huấn luyện xong mơ hình, tơi sử dụng trọng số mơ hình để xây dựng chương trình ứng dụng nhận dạng ký tự viết tay ngơn ngữ C#2013 Trong mơ hình tơi có tham khảo số tài liệu mã nguồn mở địa [10] sau tơi thêm vào mơ hình lớp RBM để cải thiện hiệu xuất thuật tốn 3.2 Dữ liệu cài đặt Dữ liệu tơi chọn để thực nghiệm liệu MNIST Đây liệu chuẩn kí tự số viết tay Tiếng Anh viện công nghệ tiêu chuẩn quốc gia Hoa Kỳ thu thập phát triển Bộ liệu bao gồm 60.000 mẫu học (gồm 10 ký tự từ đến 9, ký tự chứa 6.000 mẫu học) 10.000 mẫu thử (gồm 10 ký tự từ đến 9, ký tự chứa 1.000 mẫu thử) 3.3 Xây dựng mơ hình mạng 3.3.1 Mơ hình mạng neural tích chập Ta tiến hành xây dựng mơ hình mạng neural tích chập với thư viện numpy tensorflow ngôn ngữ lập trình python 3.6 liệu MNIST from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) -38- Hình 3.1: Một vài mẫu tập MNIST [5] Ban đầu tiến hành chia tập liệu thành tập train, test, validate.Trong thư viện tensorflow liệu chia sẵn cần lấy tập tương ứng train_X = mnist.train.images train_y = mnist.train.labels test_X = mnist.test.images test_y = mnist.test.labels validate_X = mnist.validation.images validate_y = mnist.validation.labels Bước phải xây dựng lớp đầu vào cho mơ hình Đầu tiên ta có đầu vào tầng convolution ảnh có kích thước 32x32 sử dụng filter [9] Tiếp đến ta sử dụng ma trận tích chập kích thước 5x5 ma trận đặc trưng ảnh, sau lần tích chập ma trận đặc trưng ma trận ánh xạ đặc trưng tầng chập C1và có kích thước 28x28 Có nghĩa từ ảnh gốc lúc đầu sau phân tích theo chiều đặc trưng khác với ma trận chập 5x5 Tuy nhiên kích thước ảnh đặc trưng tầng chập C1 28x28 lớn, cần phải giảm số chiều ma trận đặc trưng (Pooling) với hệ số tỷ lệ sử dụng hàm max: -39- Hình 3.2: Minh họa phương pháp Maxpooling [5] Sau maxpool từ ma trận đặc trưng kích thước 28x28 tầng chập C1 lúc tạo ma trận với kích thước 14x14 tầng (S2) Tiếp đến ta sử dụng 16 ma trận chập kích thước 5x5 để chập với ma trận tầng S2 lúc ta có 16 ma trận ánh xạ đặc trưng kích thước 10x10 tầng chập C3 Ở tầng chập kích thước ảnh đặc trưng 14x14 lớn, tiếp tục thực phép giảm số chiều ma trận đặc trưng (tương tự giảm tầng C2) Ta sử dụng 16 ma trận đặc trưng kích thước 10x10 tầng C3 để tạo cho tầng (S4) 16 ma trận có kích thước 5x5 Khi ta tiến hành sử dụng 120 ma trận có kích thước 5x5 để chập với ma trận tầng S4 kết ta thu 120 ma trận ánh xạ đặc trưng có kích thước 1x1 tầng C5 Hình 3.3: Mơ hình mạng neural tích chập nhận dạng ký tự viết tay [3] Ở thời điểm ta không thực phép tốn subsampling ma trận đặc trưng tầng chập C5 có kích thước 1x1 Mà ta sử dụng phép toán max để giảm kích thước tầng chập C5 (do tầng C5 có tới 120 node đặc trưng) ta sử dụng hàm max để giảm số node xuống 84 tầng F6 Khi ta áp dụng cơng thức: f (x)= y=1/(1+e-x) để sử dụng hàm kích hoạt Sigmoid từ tầng C1 tầng F6 Lúc ta áp dụng cơng thức y‟ = f(A*I) để tính node mạng, A ảnh chập cịn I ma trận chập, y‟ giá trị node ma trận ánh xạ đặc trưng [3] -40- Với 84 node tầng F6 ta sử dụng mơ hình mạng neural truyền thẳng với kết nối Fully Connection 10 đầu ta thiết kế sau: Hình 3.4 Minh họa lớp liên kết đầy đủ [3] Cứ giá trị tính cơng thức lúc ta hình dung mơ hình nhận dạng chữ viết thực hình 3.5 Hình 3.5 Minh họa bước tích chập [3] Kết sau huấn luyện INFO:tensorflow:loss = 2.36026, step = INFO:tensorflow:probabilities = [[ 0.07722801 0.08618255 0.09256398, ]] INFO:tensorflow:loss = 2.13119, step = 101 INFO:tensorflow:global_step/sec: 5.44132 INFO:tensorflow:Loss for final step: 0.553216 -41- INFO:tensorflow:Restored model from /tmp/mnist_convnet_model INFO:tensorflow:Eval steps [0,inf) for training step 20000 INFO:tensorflow:Input iterator is exhausted INFO:tensorflow:Saving evaluation summary for step 20000: accuracy = 0.9733, loss = 0.0902271 {'loss': 0.090227105, 'global_step': 20000, 'accuracy': 0.978998} Tỷ lệ thành cơng ~98% 3.3.2 Mơ hình mạng Restricted Boltzmann Machines 3.3.2.1 Cấu trúc mơ hình Hình 3.6: Cấu trúc mơ hình mạng RBM Cấu trúc mơ hình bao gồm lớp có thơng số sau: Đầu tiên lớp đầu vào gồm 784 neural đầu vào, neural đầu vào đại diện cho điểm ảnh, với giá trị mức xám điểm ảnh (0 - 255) Tiếp theo lớp ẩn (Hidden Units) lớp sử dụng lớp ẩn với lớp tương ứng với 500, 500, 2000 nút cuối lớp đầu (Visible Units) gồm 10 nút, nút tương ứng với giá trị số tương ứng từ đến -42- Với lớp nói ta xây dụng mạng RBM hình 3.5 class RBM(object): """Restricted Boltzmann Machine (RBM) """ def init ( self, input=None, n_visible=784, n_hidden=500, W=None, hbias=None, vbias=None, numpy_rng=None, theano_rng=None ): 3.3.2.2 Quá trình huấn luyện nhận dạng Về chất, q trình nhận dạng tốn phân lớp, với đầu vào ảnh ký tự (được đưa vào dạng ma trận, cụ thể ảnh đầu vào có dạng 28x28 pixel), mơ hình mạng cần tính tốn để xếp ảnh vào lớp ký tự Ảnh kí tự từ lớp đầu vào đưa qua mạng lớp mạng Mạng có nhiệm vụ thực việc phân loại (lan truyền xi tín hiệu đầu vào qua lớp mạng) để xác định xem ảnh đầu vào thuộc nhóm kí tự (thuộc lớp nào) phân loại đưa kết kết thúc Thời gian huấn luyện ~ 223 phút loading data Training epoch 0, cost is -90.6507246003 Training epoch 1, cost is -81.235857373 Training epoch 2, cost is -74.9120966945 Training epoch 3, cost is -73.0213216101 Training epoch 4, cost is -68.4098570497 Training epoch 5, cost is -63.2693021647 Training epoch 6, cost is -65.99578971 Training epoch 7, cost is -68.1236650015 Training epoch 8, cost is -68.3207365087 Training epoch 9, cost is -64.2949797113 Training epoch 10, cost is -61.5194867893 Training epoch 11, cost is -61.6539369402 Training epoch 12, cost is -63.5465278086 Training epoch 13, cost is -63.3787093527 Training epoch 14, cost is -62.755739271 Training took 222.466000 minutes plotting sample plotting sample -43- plotting sample plotting sample plotting sample plotting sample plotting sample plotting sample plotting sample plotting sample 3.4 Demo chương trình nhận dạng kí tự thuật tốn RBM Chương trình viết C#2013 với mục đích nhận dạng ký tự viết tay số từ đến Bao gồm chức chính: Nhận dạng ký online nhận dạng kí tự ofline Hình 3.7: Giao diện chương trình Chúng ta nhấn nút bắt đầu để vào chương trình, chương trình mở cửa số training mục thông số mặc định Chúng ta click chuột vào nút Training để bắt đầu cho mơ hình học sau huấn luyện xong mơ hình bắt đầu sử dụng tab nhận dạng -44- Hình 3.8: Quá trình training Hình 3.9: Nhận dạng online -45- Hình 3.10: Nhận dạng offline Demo Test thử thành công liệu mẫu với tỉ lệ nhận dạng xác 99% (Nhận dạng office) 3.5 Kết luận chương Ở chương trình bày cách xây dựng mơ hình mạng Convolutional Neural Network(CNN) Restricted Boltzmann Machines(RBM) đồng thời đánh giá kết thực nghiệm hai thuật toán CNN RBM Nhìn chung kết thực nghiệm mơ hình cho kết tốt -46- KẾT LUẬN CHUNG - Những kết đạt mặt hạn chế Qua thời gian nghiên cứu lý thuyết thực nghiệm để hồn thành luận văn, tơi nhận thấy đạt kết sau đây: Luận văn đưa giải pháp tốt cho việc nhận dạng kí tự, cụ thể sử phương pháp học sâu Khi áp dụng phương pháp học sâu cho kết tương đối tốt, với thuật toán Convolutional Neural Network tỷ lệ thành cơng ~98,%, cịn với mơ hình Restricted Boltzmann Machines(RBM) là: 99.4% Tốt nhiều so với thuận tốn khác Machine learning Qua luận văn giải tốt lớp toán nhận dạng toán nhận dạng tổng thể, nói bước quan trọng tốn nhận dạng hồn chỉnh Bên cạnh luận văn cịn số điểm hạn chế định như: Đề tài dừng lại việc nhận dạng kí tự đơn lẻ chữ số từ đến 9, bước cần thiết tốn nhận dạng từ tiền đề để tạo sở xây dựng tiếp mơ hình nhận dạng kí tự tiếng Việt đơn lẻ, tiến tới xây dựng hệ thống nhận dạng văn viết tay tiếng Việt hoàn chỉnh - Hướng phát triển đề tài Hướng nghiên cứu thời gian tới tơi tiếp tục nghiên cứu sâu phương pháp học sâu để nâng cao thêm chất lượng mơ hình nhận dạng, đồng thời mở rộng thêm lớp kí tự nhận dạng, nhằm giải tốn lớn nhận dạng kí tự viết tay từ a-z, khơng hạn chế riêng cho kí tự từ 0-9 đồng thời ảnh đầu vào không thiết phải ảnh từ liệu chuẩn MNIST -47- TÀI LIỆU THAM KHẢO Tiếng Việt [1] Đặng Quốc An (2017) Convolutional neural network, xây dựng mạng neural tích chập với tensorflow [2] Lê Việt Đức, Lê Anh Tú Mơ hình mạng Hopfield khả ứng dụng giải toán người du lịch Hội thảo công nghệ thông tin 2009 [3] Lê Thị Thu Hằng (2016) Nghiên mạng neural tích chập ứng dụng nhận dạng biển số xe Luận văn thạc sĩ Đại học quốc gia Hà Nội [4] Ông Xuân Hồng (2015) https://ongxuanhong.wordpress.com [5] Hoàng Hữu Việt (2016) Giáo trình nhận dạng mẫu [6] Phạm Hồi Vũ (2013) Hopfield networks and Boltzmann Machines [7] Phạm Hoài Vũ (2013) Model definition and training of RBMs By http://phvu.net/ [8] Vũ Hữu Tiệp (2017) Machine Learing Cơ Bản Tiếng Anh [9] Michael Nielsen (2015) Neural Networks and Deeplearning Chap 1&6 [10] LISA lab Deep Learning http://www.deeplearning.net [11] https://vi.wikipedia.org -48- 0.1 documentation By ... tài ? ?Nghiên cứu phương pháp học sâu ứng dụng toán nhận dạng kí tự? ?? Mục tiêu nghiên cứu 2.1 Mục tiêu tổng quát Nghiên cứu phương pháp học sâu ứng dụng xây dựng hệ thống nhận dạng kí tự 2.2 Mục... (i) Nghiên cứu tổng quan tốn nhận dạng kí tự (ii) Nghiên cứu mạng Neural theo phương pháp học sâu -9- (iii) Nghiên cứu cài đặt thuật toán nhận dạng ký tự mạng neural theo phương pháp học sâu. .. kí tự chia làm hai loại: Nhận dạng kí tự quang học nhận dạng kí tự viết tay Những năm gần đây, nhận dạng kí tự quang học nhà nghiên cứu giải gần hồn chỉnh Tuy nhiên, nhận dạng kí tự viết tay toán

Ngày đăng: 01/08/2021, 11:43

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN