Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 58 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
58
Dung lượng
1,14 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Lê Tiến Mười
MẠNG NEURALRBF
VÀ
ỨNG DỤNGNHẬNDẠNGCHỮVIẾTTAY
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 NEURALRBF
VÀ
ỨNG DỤNGNHẬNDẠNGCHỮVIẾTTAY
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ạngNeuralnhâ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ạngNeuralRBFvà
đã 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ạngNeuralRBF để
giải quyết bài toán nội suy, xấp xỉ hàm nhiều biến sau đó ứngdụng cơ sở lý thuyết trên
để xây dựng phần mềm nhậndạngchữ 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ẠNGNEURALRBF 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ẠNGNEURALNHÂN TẠO 3
1.2.1 Giới thiệu mạngNeuralnhân tạo 3
1.2.1.1 MạngNeural sinh học 4
1.2.1.2 MạngNeuralnhân tạo 5
1.3 MẠNGNEURALRBF 8
1.3.1 Giới thiệu mạngNeuralRBF 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ạngNeuralRBF 10
1.3.1.3 Ứngdụng của mạngNeuralRBF 10
1.4 CÁC PHƯƠNG PHÁP HUẤN LUYỆN MẠNGNEURALRBF 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ẬNDẠNGCHỮVIẾTTAY 20
2.1 NHẬNDẠNG MẪU 20
2.1.1 Nhậndạng mẫu 20
2.1.1.1 Mẫu là gì ? 20
2.1.1.2 Nhậndạng mẫu là gì ? 20
2.1.1.3 Lịch sử của lĩnh vực nhậndạng mẫu 21
2.1.1.4 Ứngdụng của nhậndạng mẫu 21
2.1.1.5 Các bài toán nhậndạng mẫu 22
2.1.1.6 Các bước xử lý trong hệ thống nhậndạng mẫu 22
2.2 BÀI TOÁN NHẬNDẠNGCHỮVIẾTTAY 24
2.2.1 Tình hình chung về nhậndạngchữviếttay 24
2.2.2 Giới thiệu bài toán nhậndạngchữviếttay 24
2.2.3 Hướng giải quyết cho bài toán nhậndạng ký tự viếttay 24
2.3 CÁC PHƯƠNG PHÁP TRÍCH CHỌN ĐẶC TRƯNG CHỮVIẾTTAY 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ếttay bằng Momen Legendre30
2.2.3 Phương pháp sử dụngmạngNeuralnhâ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ụngmạngNeuralnhâ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ẠNGNEURAL
RBF 36
3.1 CÁC PHƯƠNG PHÁP CẢI THIỆU HIỆU SUẤT CỦA MẠNGNEURAL
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ậndạng 39
3.1.3.1 Phương pháp bộ nhậndạng ba lớp 40
3.2 THỰC NGHIỆM 41
Chương 4 GIỚI THIỆU CHƯƠNG TRÌNH NHẬNDẠNGCHỮ SỐ VIẾTTAY
VÀ TỔNG KẾT 42
4.1 GIỚI THIỆU CHƯƠNG TRÌNH NHẬNDẠNGCHỮ SỐ VIẾTTAY 42
4.1.1 Chương trình nhậndạngchữviếttay 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 Neuralnhâ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ạngNeural 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ạngRBF 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ạngRBF 15
Hình 14: Các bước xử lý trong hệ thống nhậndạng mẫu 22
Hình 15 : Các bước giải quyết bài toán nhậndạngchữviếttay 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ụngmạngNeuralnhâ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ậndạng ba lớp 40
Hình 25: Biểu đồ so sánh độ chính xác nhậndạngvà 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ậndạ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ó ứngdụ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 ứngdụng (ví dụ trong nhậndạ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ạngNeuralnhâ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ạngNeuralnhâ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ạngNeuralnhân tạo
được sử dụng rất nhiều trong các lĩnh vực tính toán, nhậndạ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ạngNeural
nhân tạo, mạngNeuralRBF 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ạngNeural khác ở chỗ
nó có thời gian huấn luyện rất nhanh.
Bài toán nhậndạngchữviếttay là một bài toán quen thuộc và có ứngdụ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ậndạngchữviếttay (mạng Neuralnhâ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ậndạ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 Neuralnhân tạo (cụ thể ở đây là mạngNeural RBF) qua đó ứngdụng để viết
phần mềm nhậndạngchữviết tay, được sự chỉ bảo và giúp đỡ tận tình của thầy giáo
[...]... với đề tài MạngNeuralRBFvà ứng dụngnhậndạngchữviếttay 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ạngNeuralRBF - Tìm hiểu bài toán nhậndạngchữviếttayvà các phương pháp trích chọn đặc trưng chữviếttay - Nghiên cứu các phương pháp cải tiến hiệu suất của mạngNeuralRBF áp dụng - cho bài toán nhậndạngchữviếttay Tiến hành cài đặt các ứngdụng để thực... luyện mạngNeural 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ạngRBF áp dụng - cho bài toán nhậndạngchữviếttay Tiến hành viết chương trình nhậndạngchữ số viết taynhậndạngchữviếttay 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ạngNeuralRBF đến ứng dụngnhậndạngchữviết tay, ... dạng mẫu 2.2 2.3 2.4 Bài toán nhậndạngchữviếttay Các phương pháp trích chọn đặc trưng chữviếttay Kết quả thực nghiệm 2.1 NHẬNDẠNG MẪU Nhậndạngchữviếttay là một lĩnh vực con của nhậndạngdạng mẫu, do vậy trước khi đi sâu vào trình bày chi tiết bài toán nhậndạngchữviết tay, tôi xin trình bày sơ lược về lĩnh vực nhậndạng mẫu và bài toán nhậndạng mẫu 2.1.1 Nhậndạng mẫu 2.1.1.1 Mẫu là gì... toán nhận dạngchữviếttayNhậndạngchữviếttay được thực hiện qua hai hình thức đó là nhậndạng online vànhậndạng offline Nhậndạng online có nghĩa là máy tính sẽ nhậndạng các chữ được viết lên màn hình ngay khi nó được viết Đối với những hệ nhậndạ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 khi nó đang được viết Còn nhận dạng. .. thức đã biết về chi phí, và nó sẽ có ảnh hưởng đến việc ra các quyết định hành động Chúng ta cũng cần ước lượng trước chi phí để xem có thỏa mãn hay không 23 Chương 2: Nhậndạngchữviếttay 2.2 BÀI TOÁN NHẬNDẠNGCHỮVIẾTTAY 2.2.1 Tình hình chung về nhậndạngchữviếttay Bài toán nhậndạngchữviếttay được ứngdụng rất nhiều trong thực thế : được tích hợp vào hệ thống nhậndạng form tự động, tích... động, tích hợp trong các máy PDA có màn hình cảm ứng, nhậndạngchữ ký Do có nhiều ứngdụng quan trọng như vậy nên từ lâu bài toán nhậndạngchữviếttay đã thu hút rất nhiều người nghiên cứu, tìm cách giải quyết Ngày nay bài toán nhậndạngchữviếttay đã được giải quyết gần như trọn vẹn trên thế giới cũng như ở Việt Nam Hệ nhậndạng sử dụngmạngNeuralnhân chập giới thiệu ở [8] đã đạt độ chính... offline tức là việc nhậndạng được thực hiện sau khi chữ đã được viết hay in lên giấy rồi, lúc đó thông tin đầu vào là hình ảnh văn bản hoặc ký tự cần nhậndạng Trong khuôn khổ nội dung khóa luận này tôi chỉ xét hình thức nhậndạng offline cho từng ký tự một 2.2.3 Hướng giải quyết cho bài toán nhậndạng ký tự viếttay Như đã nói ở trên bài toán nhận dạngchữviết tay thuộc lớp bài toán nhậndạng mẫu, như... thì việc thông tin được nhậnvà xử lý một cách tự động là rất cần thiết Khuynh hướng này làm cho vấn đề nhậndạng mẫu trở nên rất quan trọng trong ứngdụng kỹ thuật và trong nghiên cứu ngày nay Nhậndạng mẫu tích hợp hầu hết vào các hệ thống máy móc thông minh, có khả năng tự đưa ra quyết định để giải quyết vấn đề 2.1.1.4 Ứngdụng của nhậndạng mẫu Nhậndạng mẫu có rất nhiều ứngdụng trong đời sống cũng... phương pháp huấn luyện mạngNeuralRBF thông qua bài toán phân tích thành phần trong ống dầu +Chương 2: Nhậndạngchữviếttay Phần đầu chương sẽ trình bày sơ lược về bài toán nhậndạ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ậndạngchữviếttay 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ếttay Phần cuối chương đưa... trọng nhất của mạngNeuralnhân tạo Chính vì đặc điểm này mà mạngNeuralnhân tạo có khả năng thực hiện tốt các công việc sau khi đã được huấn luyện, và đến 3 Chương 1: Bài toán nội suy, xấp xỉ hàm số vàmạngNeuralRBF khi môi trường thay đổi ta lại có thể huấn luyện lại mạngNeuralnhân tạo để nó thích nghi với điều kiện mới 1.2.1.1 MạngNeural sinh học MạngNeural sinh học là một mạng lưới (plexus) . 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.
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