Khóa luận Mạng neural RBF và ứng dụng nhận dạng chữ viết tay

Mặc dù đã được nghiên cứu từ rất lâu, nhưng đến nay bài toán nội suy và xấp xỉ hàm nhiều biến vẫn còn có rất ítcông cụ toán học để giải quyết. Mạng Neural nhân tạolà một phương pháp hay để giải quyết bài toán nội suy,xấp xỉhàm nhiềubiến. Năm 1987 M.J.D. Powell đã đưa ra một cách tiếp cận mới để giải quyết bài toán nội suy hàm nhiều biến sử dụng k ỹ thuật hàm cơ sở bán kính (Radial Basis Function -RBF), năm 1988 D.S. Bromhead và D. Lowe đề xuấtkiến trúc mạng Neural RBFvà đã trở một công cụ hữu hiệu để giải quyết bài toán nội suy và xấp xỉ hàm nhiều biến(xem [11]). Nội dung chính của khóa luận là trình bày khảo cứu về mạng NeuralRBF để giải quyếtbài toán nội suy, xấp xỉ hàm nhiều biến sau đó ứng dụng cơ sở lý thuyết trên để xây dựng phần mềm nhận dạng chữ số viết tay

pdf58 trang | Chia sẻ: lvbuiluyen | Lượt xem: 3956 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Khóa luận Mạng neural RBF và ứng dụng nhận dạng chữ viết tay, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Lê Tiến Mười MẠNG NEURAL RBF VÀ ỨNG DỤNG NHẬN DẠNG CHỮ VIẾT TAY KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI - 2009 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Lê Tiến Mười MẠNG NEURAL RBF VÀ ỨNG DỤNG NHẬN DẠNG CHỮ VIẾT TAY KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán bộ hướng dẫn: PGS.TS Hoàng Xuân Huấn HÀ NỘI - 2009 LỜI CẢM ƠN Tôi muốn bày tỏ sự cảm ơn sâu sắc của mình tới thầy Hoàng Xuân Huấn, thuộc bộ môn Khoa học máy tính, khoa Công nghệ thông tin, trường Đại học Công nghệ, ĐHQGHN. Trong thời gian thực hiện khóa luận, thầy đã nhiệt tình hướng dẫn và giúp đỡ tôi rất nhiều. Ngoài thời gian tìm hiểu và cung cấp tài liệu, thầy cũng chỉ ra những vướng mắc trong qua trình làm, giúp đỡ tôi khắc phục để đạt hiệu quả cao hơn. Thầy cũng đã tận tình giúp đỡ tôi có một chỗ làm việc yên tĩnh trong suốt quá trình làm khóa luận. Tôi cũng muốn bày tỏ sự cảm ơn của mình tới các các thầy, các cô trong bộ môn, cũng như các thầy, các cô trong khoa, trường đã hết sức tạo điều kiện tốt và giúp đỡ cho tôi hoàn thành khóa luận của mình. TÓM TẮT NỘI DUNG Mặc dù đã được nghiên cứu từ rất lâu, nhưng đến nay bài toán nội suy và xấp xỉ hàm nhiều biến vẫn còn có rất ít công cụ toán học để giải quyết. Mạng Neural nhân tạo là một phương pháp hay để giải quyết bài toán nội suy, xấp xỉ hàm nhiều biến. Năm 1987 M.J.D. Powell đã đưa ra một cách tiếp cận mới để giải quyết bài toán nội suy hàm nhiều biến sử dụng kỹ thuật hàm cơ sở bán kính (Radial Basis Function - RBF), năm 1988 D.S. Bromhead và D. Lowe đề xuất kiến trúc mạng Neural RBF và đã trở một công cụ hữu hiệu để giải quyết bài toán nội suy và xấp xỉ hàm nhiều biến(xem [11]). Nội dung chính của khóa luận là trình bày khảo cứu về mạng Neural RBF để giải quyết bài toán nội suy, xấp xỉ hàm nhiều biến sau đó ứng dụng cơ sở lý thuyết trên để xây dựng phần mềm nhận dạng chữ số viết tay. MỤC LỤC MỞ ĐẦU................................................................................................................... 1 Chương 1 BÀI TOÁN NỘI SUY, XẤP XỈ HÀM SỐ VÀ MẠNG NEURAL RBF 1 1.1 PHÁT BIỂU BÀI TOÁN NỘI SUY VÀ XẤP XỈ HÀM SỐ ............................ 1 1.1.1 Bài toán nội suy.......................................................................................... 1 1.1.1.1 Nội suy hàm một biến số ...................................................................... 1 1.1.1.2 Bài toán nội suy hàm nhiều biến .......................................................... 2 1.1.2 Bài toán xấp xỉ ........................................................................................... 2 1.1.3 Các phương pháp giải quyết bài toán nội suy và xấp xỉ hàm số .................. 2 1.2 MẠNG NEURAL NHÂN TẠO ....................................................................... 3 1.2.1 Giới thiệu mạng Neural nhân tạo ................................................................ 3 1.2.1.1 Mạng Neural sinh học.......................................................................... 4 1.2.1.2 Mạng Neural nhân tạo ......................................................................... 5 1.3 MẠNG NEURAL RBF..................................................................................... 8 1.3.1 Giới thiệu mạng Neural RBF ...................................................................... 8 1.3.1.1 Bài toán nội suy nhiều biến và kỹ thuật hàm cơ sở bán kính................. 8 1.3.1.2 Kiến trúc mạng Neural RBF............................................................... 10 1.3.1.3 Ứng dụng của mạng Neural RBF ....................................................... 10 1.4 CÁC PHƯƠNG PHÁP HUẤN LUYỆN MẠNG NEURAL RBF ................... 11 1.4.1 Phương pháp huấn luyện một pha............................................................. 11 1.4.2 Phương pháp huấn luyện hai pha .............................................................. 12 1.4.3 Phương pháp huấn luyện 2 pha HDH ....................................................... 13 1.4.4 Phương pháp huấn luyện ba pha đầy đủ.................................................... 16 1.5 KẾT QUẢ THỰC NGHIỆM .......................................................................... 16 1.5.1 Kết quả..................................................................................................... 16 1.5.2 Nhận xét................................................................................................... 19 Chương 2 NHẬN DẠNG CHỮ VIẾT TAY........................................................... 20 2.1 NHẬN DẠNG MẪU ...................................................................................... 20 2.1.1 Nhận dạng mẫu ........................................................................................ 20 2.1.1.1 Mẫu là gì ? ........................................................................................ 20 2.1.1.2 Nhận dạng mẫu là gì ?...................................................................... 20 2.1.1.3 Lịch sử của lĩnh vực nhận dạng mẫu .................................................. 21 2.1.1.4 Ứng dụng của nhận dạng mẫu ........................................................... 21 2.1.1.5 Các bài toán nhận dạng mẫu ............................................................. 22 2.1.1.6 Các bước xử lý trong hệ thống nhận dạng mẫu ................................. 22 2.2 BÀI TOÁN NHẬN DẠNG CHỮ VIẾT TAY................................................. 24 2.2.1 Tình hình chung về nhận dạng chữ viết tay............................................... 24 2.2.2 Giới thiệu bài toán nhận dạng chữ viết tay................................................ 24 2.2.3 Hướng giải quyết cho bài toán nhận dạng ký tự viết tay ........................... 24 2.3 CÁC PHƯƠNG PHÁP TRÍCH CHỌN ĐẶC TRƯNG CHỮ VIẾT TAY ....... 25 2.2.1 Phương pháp trích chọn đặc trưng kết hợp biến đổi DCT và thuật toán phân tích thành phần chính PCA................................................................................ 25 2.2.1.1 Thuật toán PCA ................................................................................. 26 2.2.1.2 Phương pháp trích chọn đặc trưng kết phép biến đổi DCT và thuật toán PCA....................................................................................................... 27 2.2.2 Phương pháp trích đặc trưng sử dụng Momen Legendre ........................... 28 2.2.2.1 Momen và Momen Legendre ............................................................. 28 2.2.2.2 Phương pháp trích chọn đặc trưng chữ viết tay bằng Momen Legendre30 2.2.3 Phương pháp sử dụng mạng Neural nhân chập(Convolution neural network)............................................................................................................ 32 2.2.3.1 Khái niệm cơ sở ................................................................................. 32 2.2.3.2 Phương pháp trích đặc trưng sử dụng mạng Neural nhân chập ......... 33 2.4 THỰC NGHIỆM ............................................................................................ 34 2.4.1 Kết quả..................................................................................................... 35 2.4.2 Nhận xét................................................................................................... 35 Chương 3 CÁC PHƯƠNG PHÁP CẢI THIỆN HIỆU SUẤT CỦA MẠNG NEURAL RBF........................................................................................................ 36 3.1 CÁC PHƯƠNG PHÁP CẢI THIỆU HIỆU SUẤT CỦA MẠNG NEURAL RBF...................................................................................................................... 36 3.1 CÁC PHƯƠNG PHÁP CẢI THIỆU HIỆU SUẤT CỦA MẠNG NEURAL RBF...................................................................................................................... 36 3.1.1 Tăng tập dữ liệu huấn luyện ..................................................................... 36 3.1.1.1 Tăng tập dữ liệu bằng các phép biến đổi hình học ............................. 36 3.1.2 Phương pháp học tập hợp ......................................................................... 37 3.1.2.1 Phương pháp học tập hợp cải tiến...................................................... 38 3.1.3 Phương pháp tăng tốc độ nhận dạng ......................................................... 39 3.1.3.1 Phương pháp bộ nhận dạng ba lớp .................................................... 40 3.2 THỰC NGHIỆM ............................................................................................ 41 Chương 4 GIỚI THIỆU CHƯƠNG TRÌNH NHẬN DẠNG CHỮ SỐ VIẾT TAY VÀ TỔNG KẾT...................................................................................................... 42 4.1 GIỚI THIỆU CHƯƠNG TRÌNH NHẬN DẠNG CHỮ SỐ VIẾT TAY .......... 42 4.1.1 Chương trình nhận dạng chữ viết tay ........................................................ 42 4.1.1.1 Giới thiệu chương trình...................................................................... 42 4.2 TỔNG KẾT VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI ............... 43 4.2.1 Tổng kết ................................................................................................... 43 4.2.1.1 Những công việc đã làm được............................................................ 43 4.2.2.2 Hướng phát triển của đề tài ............................................................... 44 TÀI LIỆU THAM KHẢO...................................................................................... 45 BẢNG DANH MỤC CÁC HÌNH MINH HỌA Hình 1: Minh họa bài toán nội suy hàm một biến ..............................................................1 Hình 2: Minh họa một Neuron thần kinh sinh học.............................................................4 Hình 3: Cấu tạo một Neural nhân tạo ................................................................................5 Hình 4: Đồ thị hàm ngưỡng ..............................................................................................6 Hình 5: Đồ thị hàm tuyến tính...........................................................................................6 Hình 7: Đồ thị hàm tanh....................................................................................................6 Hình 8: Đồ thị hàm Gauss.................................................................................................7 Hình 9: Kiến trúc mạng Neural truyền tới .........................................................................7 Hình 10: Minh họa sự ảnh hưởng của hàm bán kính .........................................................9 Hình 11: Kiến trúc của mạng RBF ..................................................................................10 Hình 12: Quá trình hội tụ đến giá trị cực tiểu của thuật toán Gradient .............................12 Hình 13: Thuật toán HDH huấn luyện mạng RBF...........................................................15 Hình 14: Các bước xử lý trong hệ thống nhận dạng mẫu .................................................22 Hình 15 : Các bước giải quyết bài toán nhận dạng chữ viết tay .......................................25 Hình 16: Ảnh hưởng của vector riêng, giá trị riêng lên tập dữ liệu ..................................26 Hình 17 : Các bước thực hiện của thuật toán PCA ..........................................................27 Hình 18: Các bước trích chọn đặc trưng bằng biến DCT kết hợp PCA ............................27 Hình 19: Biến đổi DCT và cách lấy dữ liệu theo đường zigzag .......................................28 Hình 21: Các bước thực hiện của phương pháp trích chọn đặc trưng sử dung momen Legendre.........................................................................................................................32 Hình 22: Thao tác nhân chập ..........................................................................................33 Hình 23: Quá trình trích chọn đặc trưng sử dụng mạng Neural nhân chập.......................34 Hình 24: Minh họa quá trình lấy đặc trưng bằng mạng Neuron nhân chập ......................34 Hình 21: Ma trận vector cho phép biến đổi Elastic ..........................................................37 Hình 22: Ví dụ về phép biến đổi Elastic..........................................................................37 Hình 23: Kiến trúc của phương pháp học tập hợp cải tiến ...............................................39 Hình 24: Kiến trúc của bộ nhận dạng ba lớp ...................................................................40 Hình 25: Biểu đồ so sánh độ chính xác nhận dạng và thời gian huấn luyện của các phương pháp huấn luyện khác nhau ................................................................................41 Hình 26: Giao diện chính của chương trình.....................................................................43 Hình27: Bảng thông báo kết quả nhận dạng ....................................................................43 BẢNG DANH MỤC TỪ VIẾT TẮT Ký hiệu Nghĩa tiếng Anh Nghĩa tiếng Việt ANN Artificial neural network Mạng nơ-ron nhân tạo DCT Discrete cosin transform Biến đổi cosin rời rạc IDE Integrated Development Environment Môi trường thiết kế hợp nhất MLP Multi layer perceptron Mạng nơ-ron truyền thẳng nhiều tầng PCA Principal component analysis Phân tích thành phần chính PDA Personal Digital Assistant Thiết bị hỗ trợ cá nhân(thường ám chỉ các máy tính cầm tay) RBF Radial Basis Function Hàm cơ sở bán kính SVM Support Vector Machine Máy vec-tơ hỗ trợ MỞ ĐẦU Bài toán nội suy và xấp xỉ hàm số đã được biết đến từ lâu vì nó có ứng dụng trong rất nhiều lĩnh vực trong khoa học kỹ thuật cũng như đời sống. Ngày nay bài toán nội suy và xấp xỉ hàm nhiều biến đã trở thành một vấn đề thời sự vì để giải quyết được các bài toán ứng dụng (ví dụ trong nhận dạng mẫu) nhiều khi buộc con người phải giải quyết được bài toán nội suy, xấp xỉ hàm nhiều biến. Trong toán học bài toán nội suy, xấp xỉ hàm một biến đã được giải quyết khá đầy đủ bằng rất nhiều các phương pháp khác nhau. Tuy nhiên bài toán nội suy, xấp xỉ hàm nhiều biến thì các công cụ toán học vẫn còn rất hạn chế. Khái niệm mạng “Neural nhân tạo” xuất hiện đầu thế kỷ 20 trong thời kỳ con người tìm cách để chế tạo ra những bộ máy có khả năng suy nghĩ, tư duy như con người. Trải qua một thời gian dài phát triển và nghiên cứu thì cơ sở lý thuyết cũng như thực nghiệm về mạng Neural nhân tạo đã đạt được những kết quả rất khả quan. Nhờ khả tính toán mạnh của máy tính, mạng Neural nhân tạo ngày nay là một công cụ rất tốt để giải quyết bài toán nội suy và xấp xỉ hàm nhiều biến. Vì thế mạng Neural nhân tạo được sử dụng rất nhiều trong các lĩnh vực tính toán, nhận dạng mẫu cũng như trong các lĩnh vực khoa học quan trọng khác (xem [11]-chapter 4). Là một loại mạng Neural nhân tạo, mạng Neural RBF cũng là một công cụ hiệu quả để giải quyết bài toán nội suy và xấp xỉ hàm nhiều biến với điểm mạnh hơn hẳn các loại mạng Neural khác ở chỗ nó có thời gian huấn luyện rất nhanh. Bài toán nhận dạng chữ viết tay là một bài toán quen thuộc và có ứng dụng rất lớn trong thực tế vì thế từ lâu nó đã thu hút rất nhiều người nghiên cứu. Mặc dù đã đạt được những kết quả rất cao trong bài toán nhận dạng chữ viết tay (mạng Neural nhân chập đã đạt độ chính xác 99.61% trên bộ dữ liệu MNIST [8]) song ngày nay người ta vẫn tiếp tục nghiên cứu những phương pháp nhận dạng tốt hơn hướng đến dùng cho các thiết bị di động, và các bài toán thời gian thực. Từ các nhận xét trên, với lòng đam mê muốn nghiên cứu, học hỏi về kiến trúc của mạng Neural nhân tạo (cụ thể ở đây là mạng Neural RBF) qua đó ứng dụng để viết phần mềm nhận dạng chữ viết tay, được sự chỉ bảo và giúp đỡ tận tình của thầy giáo PGS.TS Hoàng Xuân Huấn tôi đã tiến hành thực hiện khóa luận tốt nghiệp với đề tài “Mạng Neural RBF và ứng dụng nhận dạng chữ viết tay”. Nội dung của khóa luận sẽ đi sâu nghiên cứu những vấn đề sau: - Khảo cứu về mạng Neural RBF. - Tìm hiểu bài toán nhận dạng chữ viết tay và các phương pháp trích chọn đặc trưng chữ viết tay. - Nghiên cứu các phương pháp cải tiến hiệu suất của mạng Neural RBF áp dụng cho bài toán nhận dạng chữ viết tay. - Tiến hành cài đặt các ứng dụng để thực hiện so sánh hiệu suất các phương pháp huấn luyện mạng Neural RBF, hiệu suất các phương pháp trích chọn giá trị đặc trưng, cài đặt các phương pháp để cải thiện hiệu suất của mạng RBF áp dụng cho bài toán nhận dạng chữ viết tay. - Tiến hành viết chương trình nhận dạng chữ số viết tay nhận dạng chữ viết tay tổng hợp tất cả các phần kiến thức đã nghiên cứu. Với mục tiêu dẫn dắt từ cơ sở lý thuyết mạng Neural RBF đến ứng dụng nhận dạng chữ viết tay, bài khóa luận được phân thành bốn chương lớn: +Chương 1: Bài toán nội suy, xấp xỉ hàm số và mạng Neural RBF Chương này sẽ cung cấp những khái niệm cơ bản nhất về bài toán nội suy, xấp xỉ hàm cũng như vẽ nên bức tranh tổng quan về mạng Neural nhân tạo. Phần lớn nội dung của chương này sẽ tập trung đi sâu nghiên cứu về mạng Neural RBF bao gồm kiến trúc và các phương pháp huấn luyện mạng. Phần cuối chương (1.4) giới thiệu kết quả thực nghiệm so sánh hiệu suất các phương pháp huấn luyện mạng Neural RBF thông qua bài toán phân tích thành phần trong ống dầu. +Chương 2: Nhận dạng chữ viết tay Phần đầu chương sẽ trình bày sơ lược về bài toán nhận dạng mẫu, ở phần tiếp theo của chương sẽ làm rõ hơn về các bước để giải quyết bài toán nhận dạng chữ viết tay. Phần lớn nội dung của chương sẽ tập trung nghiên cứu các phương pháp lấy đặc trưng chữ viết tay. Phần cuối chương đưa ra kết quả thực nghiệm so sánh hiệu suất các phương pháp trích chọn đặc trưng chữ viết tay khác nhau. +Chương 3: Các phương pháp tăng hiệu suất mạng Neural RBF Nội dung chủ yếu của chương này là giới thiệu một số phương pháp nhằm cải thiện hiệu suất mạng Neural RBF áp dụng cho bài toán nhận dạng chữ viết tay. Phần đầu chương giới thiệu phương pháp làm tăng số lượng dữ liệu huấn luyện sử dụng các phương pháp biến đổi ảnh affine, elastic. Tiếp đó sẽ giới thiệu phương pháp làm tăng tốc độ và độ chính xác nhận dạng bằng cách sử dụng bộ nhận dạng ba tầng. Phương pháp học tập hợp (Ensemble Learning) để cải thiện độ chính xác nhận dạng cũng được đề cập ở chương này. Ở chương này tôi xin đề xuất phương pháp học tập hợp cải tiến đạt độ chính xác nhận dạng gần 98% cho bộ dữ liệu MNIST và có thời gian huấn luyện rất nhanh. Ở cuối chương sẽ giới thiệu kết quả thực nghiệm so sánh hiệu suất nhận dạng của phương pháp hợp cải tiến so với các phương pháp thông thường. +Chương 4: Giới thiệu chương trình nhận dạng chữ số viết tay và kết luận Phần đầu chương giới thiệu phần mềm nhận dạng ký tự chữ số viết tay mà tôi đã xây dựng dựa trên cơ sở tổng hợp toàn bộ nền tảng lý thuyết của bài khóa luận. Cuối cùng là phần tổng kết của khóa luận. Chương 1: Bài toán nội suy, xấp xỉ hàm số và mạng Neural RBF 1 CHƯƠNG 1 BÀI TOÁN NỘI SUY, XẤP XỈ HÀM SỐ VÀ MẠNG NEURAL RBF Nội dung chương này gồm có: 1.1 Phát biểu bài toán nội suy và xấp xỉ hàm số 1.2 Mạng Neural nhân tạo 1.3 Mạng Neural RBF 1.4 Các thuật toán huấn luyện mạng Neural RBF 1.5 Kết quả thực nghiệm và đánh giá 1.1 PHÁT BIỂU BÀI TOÁN NỘI SUY VÀ XẤP XỈ HÀM SỐ 1.1.1 Bài toán nội suy 1.1.1.1 Nội suy hàm một biến số Bài toán nội suy hàm một biến tổng quát được đặt ra như sau: Một hàm số  xfy  chưa biết và chỉ xác định được tại các điểm 0 1 Nx a x x b    K với các giá trị yi= f(xi). Ta cần tìm một biểu thức giải tích  (x) để xác định gần đúng giá trị  y x tại các điểm  bax , của hàm f(x) sao cho tại các điểm xi thì hàm số trùng với giá trị yi đã biết (với  bax , t