TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO MÔN HỌC TÍNH TOÁN MỀM Tên đề tài Nghiên cứu mạng nơ ron và ứng dụng nhận dạng chữ số viết tay Sinh viên thực hiện Nguyễn Minh Chiến Lớp ĐH7C5 Hà Nội, tháng 062021 MỤC LỤC MỞ ĐẦU 5 1 Lý do chọn đề tài 5 2 Mục tiêu nghiên cứu 5 2 1Mục tiêu tổng quát 5 2 2 Mục tiêu cụ thể 5 3 Đối tượng và phạm vi nghiên cứu 6 3 1 Đối tượng nghiên cứu 6 3 2 Phạm vi nghiên cứu 6 4 Nội dung nghiên cứu 6 5 Cấu trúc của luận văn 7 CHƯƠNG 1.
TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CƠNG NGHỆ THƠNG TIN BÁO CÁO MƠN HỌC TÍNH TOÁN MỀM Tên đề tài: Nghiên cứu mạng nơ-ron ứng dụng nhận dạng chữ số viết tay Sinh viên thực : Nguyễn Minh Chiến Lớp : ĐH7C5 Hà Nội, tháng 06/2021 MỤC LỤC MỞ ĐẦU Lý chọn đề tài Mục tiêu nghiên cứu 2.1Mục tiêu tổng quát 2.2 Mục tiêu cụ thể Đối tượng phạm vi nghiên cứu 3.1 Đối tượng nghiên cứu 3.2 Phạm vi nghiên cứu 4.Nội dung nghiên cứu 5.Cấu trúc luận văn CHƯƠNG TỔNG QUAN 1.1 Đặt vấn đề 1.2 Tổng quan hệ thống nhận dạng mẫu 1.2.1 Phân lớp toán nhận dạng 1.2.2 Chu trình thiết kế hệ thống nhận dạng mẫu 11 1.2.3 Thiết kế hệ thống nhận dạng chữ số viết tay 12 1.3 Tổng quan tình hình nghiên cứu .21 1.3.1 Tình hình nghiên cứu nước 21 1.3.2 Tình hình nghiên cứu ngồi nước 22 CHƯƠNG MẠNG NƠ-RON NHÂN TẠO 23 2.1 Giới thiệu mạng nơ-ron 23 2.1.1 Mạng nơ-ron sinh học 23 2.1.2 Mạng nơ-ron nhân tạo 25 2.1.3 Các ứng dụng mạng nơ-ron 26 2.2 Kiến trúc mạng nơ-ron 27 2.2.1.Mơ hình nơ-ron nhân tạo 27 2.2.1.1 Mơ hình nơ-ron đầu vào (Single - input neuron) 27 2.2.2 Mạng nơ-ron tầng 31 2.3 Mạng Perceptron tầng 36 2.4 Mạng Perceptron nhiều tầng thuật toán lan truyền ngược 40 2.5 Mạng LVQ (Learning Vector Quantization) 46 CHƯƠNG THIẾT KẾ HỆ THỐNG NHẬN DẠNG 49 CHỮ SỐ VIẾT TAY 49 3.1 Cơ cở liệu .49 3.2 Tiền xử lý .51 3.3 Trích chọn đặc trưng chữ số viết tay .51 3.4 Phân lớp dùng mạng Perceptron đa tầng .52 3.5 Một số nhận xét 60 KẾT LUẬN 61 TÀI LIỆU THAM KHẢO .62 DANH MỤC CÁC BẢNG Bảng 2.1 Một số hàm truyền mạng nơ-ron 30 Bảng 3.1 Số lượng chữ số viết tay phân bố tập huấn luyện 50 Bảng 3.2 Phương pháp chọn đặc trưng chia ô theo cạnh với 2000 mẫu huấn luyện 54 Bảng 3.3 Phương pháp chọn đặc trưng chia ô theo cạnh với 10000 mẫu huấn luyện 57 Bảng 3.4 Phương pháp chọn đặc trưng chia từ góc với 2000 mẫu huấn luyện .57 Bảng 3.5 Phương pháp chọn đặc trưng chia từ góc với 10000 mẫu huấn luyện .58 Bảng 3.6 Chọn đặc trưng phương pháp phân tích thành phần với K=20 số mẫu huấn luyện 2000 60 Bảng 3.7 Chọn đặc trưng phương pháp phân tích thành phần với K=50 số mẫu huấn luyện 2000 60 Bảng 3.8 Chọn đặc trưng phương pháp phân tích thành phần với K=100 số mẫu huấn luyện 2000 61 Bảng 3.9 Chọn đặc trưng phương pháp phân tích thành phần với K=20 số mẫu huấn luyện 5000 61 DANH MỤC CÁC HÌNH Hình 1.1 Chu trình hệ thống nhận dạng mẫu……………………………… 12 Hình1.2 Mơ tả số hình ảnh mẫu sở liệu MNIST………… 14 Hình 1.3 Sơ đồ tổng quát hệ thống nhận dạng chữ viết số tay………….14 Hình 2.1 Các thành phần nơ-ron……………………………………… 25 Hình 2.2 Mơ hình nơ-ron đầu vào…………………………………… 29 Hình 2.3 Mơ hình nơ-ron nhiều đầu vào 31 Hình 2.4 Ký hiệu tắt mơ hình nơ-ron nhiều đầu vào……………………… 32 Hình 2.5 Kiến trúc mạng nơ-ron tầng………………………………….32 Hình 2.6 Mạng nơ-ron tầng S nơ-ron, R đầu vào 33 Hình 2.7 Mạng tầng 33 Hình 2.8 Ký hiệu tắt mạng nơ-ron tầng 33 Hình 2.9 Khối trễ 34 Hình 2.10 Khối tích phân .34 Hình 2.11 Mạng hồi quy .35 Hình 2.12.Mạng Perceptron 36 Hình 2.13 Mạng Perceptron nơ-ron hai đầu vào 37 Hình 2.14 Mạng Perceptron 38 Hình 2.15 Mạng Perceptron nhiều tầng 41 Hình 2.16 Mạng LVQ 45 Hình 3.1 Tập 100 ký tự tập liệu huấn luyện .49 Hình 3.2 Tập 100 ký tự tập liệu huấn luyện .49 Hình 3.3 Phương pháp chia từ góc 51 Hình 3.4 Quá trình thực mạng nơ-ron tầng 52 Hình 3.5 Ảnh nhận dạng 53 Hình 3.6 Ảnh nhận dạng sai 53 Hình 3.7 Quá trình thực mạng nơ-ron tầng 56 MỞ ĐẦU Lý chọn đề tài Nhận dạng chữ số viết tay ứng dụng rộng rãi nhiều lĩnh vực nhận dạng chữ số chi phiếu ngân hàng, mã số bì thư dịch vụ bưu chính, hay chữ số biểu mẫu nói chung Vấn đề nhận dạng chữ viết tay nói chung nhận dạng chữ số viết tay nói riêng thách thức lớn nhà nghiên cứu Việc nhận dạng chữ viết tay toán phức tạp phụ thuộc nhiều yếu tố phong cách viết cách thể ngôn ngữ người viết Thực tế, luôn viết ký tự xác theo cách giống hệt Do vậy, xây dựng hệ thống nhận dạng chữ viết nhận dạng ký tự cách đáng tin cậy ứng dụng khác tốn cịn nhiều thách thức Xuất phát từ yêu cầu thực tế, nhằm mục đích hướng tới phần nhiệm vụ nhận dạng chữ viết tay, luận văn “NGHIÊN CỨU MẠNG NƠRON VÀ ỨNG DỤNG NHẬN DẠNG CHỮ SỐ VIẾT TAY” nhằm nghiên cứu, xây dựng thử nghiệm hệ thống nhận dạng chữ số viết tay Mục tiêu nghiên cứu 2.1Mục tiêu tổng quát Nghiên cứu cài đặt thử nghiệm hệ thống nhận dạng chữ số viết tay sử dụng mạng nơ-ron 2.2 Mục tiêu cụ thể Đề tài tập trung vào mục tiêu sau: (i) Nghiên cứu tổng quan toán nhận dạng chữ số viết tay (ii) Nghiên cứu trích chọn đặc trưng chữ số viết tay (iii) Nghiên cứu cài đặt số thuật toán nhận dạng chữ số viết tay mạng nơ-ron; so sánh đánh giá hiệu thuật toán tỷ lệ nhận dạng Đối tượng phạm vi nghiên cứu 3.1 Đối tượng nghiên cứu (a) Nghiên cứu lý thuyết - Nghiên cứu tài liệu toán nhận dạng chữ số viết tay cơng bố ngồi nước - Nghiên cứu tài liệu trích chọn đặc trưng chữ số viết tay cho hệ thống nhận dạng - Nghiên cứu mạng nơ-ron để xây dựng hệ thống nhận dạng (b) Nghiên cứu thực nghiệm - Nghiên cứu sở liệu chữ số viết tay - Nghiên cứu ngôn ngữ lập trình Python cài đặt số mạng nơ-ron cho toán nhận dạng chữ số viết tay - So sánh, đánh giá hiệu thuật toán 3.2 Phạm vi nghiên cứu Bài toán nhận dạng chữ số viết tay thực thuật toán nhận dạng khác thuật toán K - láng giềng gần nhất, thuật toán SVM (Support Vector Machine), … giải theo phương pháp là: gián tiếp (offline) trực tiếp (online) Trong phạm vi luận văn này, tập trung giải toán sử dụng mạng nơ-ron để nhận dạng phương pháp gián tiếp (offline) 4.Nội dung nghiên cứu - Nghiên cứu tổng quan hệ thống nhận dạng chữ số viết tay công bố - Nghiên cứu sở liệu chữ số viết tay - Nghiên cứu phương pháp để trích chọn đặc trưng chữ số viết tay - Nghiên cứu mạng nơ-ron cho phân lớp - Nghiên cứu ngôn ngữ lập trình Pyton để 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 toán 5.Cấu trúc luận văn Bố cục luận văn gồm chương với nội dung sau: Chương trình bày tổng quan lý thuyết tốn nhận dạng mẫu: phân lớp tốn nhận dạng, chu trình thiết kế hệ thống nhận dạng mẫu thiết kế hệ thống nhận dạng chữ số viết tay Chương giới thiệu mạng nơ-ron nhân tạo Chương mô tả tóm tắt mạng nơ-ron sinh học, mơ hình kiến trúc mạng nơ-ron nhân tạo, luật huấn luyện mạng nơ-ron nhân tạo, số mạng nơ-ron nhân tạo dùng nhận dạng chữ số viết tay mạng Perceptron đa tầng với thuật toán lan truyền ngược mạng LVQ Chương mô tả hệ thống nhận dạng chữ số viết tay Chương nghiên cứu sở liệu MNIST cho thực nghiệm thực nghiệm nhận dạng chữ số viết tay với mạng nơ-ron CHƯƠNG TỔNG QUAN 1.1 Đặt vấn đề Nhận dạng mẫu (pattern recognition) ngành thuộc lĩnh vực học máy (machine learning) [13] Nhận dạng mẫu nhằm mục đích phân loại liệu ( mẫu) dựa trên: kiến thức có (a priori) dựa vào thông tin thống kê trích rút từ mẫu có sẵn Các mẫu cần phân loại thường biểu diễn thành nhóm liệu đo đạc hay quan sát được, nhóm điểm khơng gian đa chiều phù hợp Đó khơng gian đặc tính để dựa vào ta phân loại Một hệ thống nhận dạng mẫu bao gồm thiết bị cảm nhận (sensor) để thu thập quan sát đối tượng nhằm thu nhận liệu cho hệ thống; phương pháp trích rút đặc trưng (feature extraction) để tính tốn thơng tin dạng số hay dạng tượng trưng (symbolic) từ liệu quan sát được; phân loại nhằm thực công việc phân loại dựa vào đặc tính trích rút Việc phân loại thường dựa vào có sẵn tập mẫu mà phân loại sẵn Tập mẫu gọi tập huấn luyện chiến lược học nhằm phân loại mẫu vào lớp có sẵn gọi học có giám sát Việc học khơng có giám sát Theo nghĩa hệ thống khơng cung cấp mẫu đánh nhãn (phân loại), mà phải tự đưa lớp để phân loại dựa vào tính ổn định thống kê mẫu Việc phân loại thường dùng hướng tiếp cận sau: thống kê (hay lí thuyết định), cú pháp (hay cấu trúc) Nhận dạng mẫu dùng thống kê dựa vào đặc tính thống kê mẫu, chẳng hạn mẫu tạo hệ thống xác suất Nhận dạng dùng cấu trúc dựa vào tương quan cấu trúc mẫu Các ứng dụng phổ biến nhận dạng tiếng nói tự động, phân loại văn thành nhiều loại khác (ví dụ: thư điện tử spam/non-spam), nhận dạng tự động mã bưu điện viết tay bao thư, hay hệ thống nhận dạng danh tính dựa vào mặt người Ba ví dụ cuối tạo thành lãnh vực phân tích ảnh nhận dạng mẫu với đầu vào ảnh số 1.2 Tổng quan hệ thống nhận dạng mẫu 1.2.1 Phân lớp toán nhận dạng Nhận dạng mẫu thường phân thành lớp tốn [10]: a Học có giám sát (supervised learning) kĩ thuật ngành học máy để xây dựng hàm (function) từ liệu huấn luyện Dữ liệu huấn luyện bao gồm cặp gồm đối tượng đầu vào (thường dạng vec-tơ), đầu mong muốn Đầu hàm giá trị liên tục (gọi hồi quy), dự đốn nhãn phân loại cho đối tượng đầu vào (gọi phân loại) Nhiệm vụ chương trình học có giám sát dự đoán giá trị hàm cho đối tượng đầu vào hợp lệ, sau xem xét số ví dụ huấn luyện (nghĩa là, cặp đầu vào đầu tương ứng) Để đạt điều này, chương trình học phải tổng qt hóa từ liệu sẵn có để dự đốn tình chưa gặp phải theo cách "hợp lí" Học có giám sát tạo loại mơ hình Phổ biến nhất, học có giám sát tạo mơ hình tồn cục (global model) để ánh xạ đối tượng đầu vào đến đầu mong muốn Tuy nhiên, số trường hợp, việc ánh xạ thực dạng tập mô hình cục (như phương pháp lập luận theo tình (case-based reasoning) hay giải thuật K láng giềng gần nhất) b Học khơng có giám sát (unsupervised learning) phương pháp ngành học máy nhằm tìm mơ hình mà phù hợp với quan sát 10 ... thống nhận dạng chữ số viết tay Nhận dạng chữ số viết tay thực từ năm 1980 Nhiệm vụ nhận dạng chữ số viết tay phân loại chữ số sử dụng việc nhận dạng chữ viết tay trực tuyến máy tính, nhận dạng. .. văn “NGHIÊN CỨU MẠNG NƠRON VÀ ỨNG DỤNG NHẬN DẠNG CHỮ SỐ VIẾT TAY? ?? nhằm nghiên cứu, xây dựng thử nghiệm hệ thống nhận dạng chữ số viết tay Mục tiêu nghiên cứu 2.1Mục tiêu tổng quát Nghiên cứu cài... cứu (a) Nghiên cứu lý thuyết - Nghiên cứu tài liệu toán nhận dạng chữ số viết tay công bố nước - Nghiên cứu tài liệu trích chọn đặc trưng chữ số viết tay cho hệ thống nhận dạng - Nghiên cứu mạng