Báo cáo chuyên đề học phần nhập môn nhập môn học máy đề ti nhận diện chữ viết tay bằng neutral network

42 9 0
Báo cáo chuyên đề học phần nhập môn nhập môn học máy đề ti nhận diện chữ viết tay bằng neutral network

Đ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

i TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN NHẬP MÔN NHẬP MÔN HỌC MÁY ĐỀ TI: NHẬN DIỆN CHỮ VIẾT TAY BẰNG NEUTRAL NETWORK Sinh viên thực : LÊ MINH PHÚC LÊ HỒNG PHONG NGUYỄN ĐỨC THỊNH Giảng viên hướng dẫn : ĐO NAM ANH Ngành : CÔNG NGHỆ THÔNG TIN Chuyên ngành : QUẢN TRỊ AN NINH MẠNG Lớp : D13QTANM Khóa : D13 Hà Nội, tháng 10 năm 2020 ii PHIẾU CHẤM ĐIỂM ST Họ tên Nội dung thực T sinh viên Lê Minh Phúc (Nhóm trưởng) Điể m -Chỉnh sửa chung,phân cơng cơng việc -Làm phần:Giới thiệu tốn nhận dạng, Mơ hình học sâu , Mạng nhiều tầng MLP -Tìm hiểu code toán lớn Lê Hồng Phong -Làm phần: Các bước xử lý cho tốn nhận dạng hồn chỉnh,Mơ hình huấn luyện tốn nhận dạng -Tìm hiểu code toán lớn Nguyễn Đức Thịnh -Làm phần: Các bước xử lý cho toán nhận dạng hồn chỉnh, Giới thiệu tổng quan neuron -Tìm hiểu code toán lớn Họ tên giảng viên Giảng viên chấm 1: Giảng viên chấm 2: Chữ ký Ghi Chữ ký MỤC LỤC LỜI CẢM ƠN 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.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 MẠNG NEURON VÀ MƠ HÌNH HỌC SÂU .11 2.1.Tổng quan mơ hình mạng neuron 11 2.1.1.Giới thiệu mạng Neuron .11 2.1.1.1.Định nghĩa: .11 2.1.1.2.Lịch sử phát triển mạng neuron .11 2.1.1.3.So sánh mạng neuron với máy tính truyền thống 14 2.1.1.4.Hoạt động mạng neuron 15 2.1.2.Mơ hình huấn luyện toán nhận dạng 26 2.1.2.1.Mạng neuron toán phân loại mẫu .26 2.1.2.2.Khả học tổng quát hóa .27 2.1.2.3.Các phương pháp huấn luyện mạng 27 2.2.Mơ hình học sâu 29 2.2.1.Mạng nhiều tầng truyền thẳng (MLP) .29 2.3.Kết luận chương 34 CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH THỬ NGHIỆM .35 3.1.Dữ liệu thực nghiệm 35 3.2.Huấn luyện mơ hình kết thực nghiệm với mơ hình MLP 35 3.2.1.Mơ hình huấn luyện 35 3.2.2.Các bước thực nghiệm .36 KẾT LUẬN CHUNG 40 TÀI LIỆU THAM KHẢO 41 LỜI CẢM ƠN LỜI CẢM ƠN Lời đầu tiên, em xin chân thành gửi lời cảm ơn tới thầy cô giáo Trường Đại học Điện Lực nói chung thầy giáo Khoa Cơng nghệ thơng tin nói riêng tận tình giảng dạy, truyền đạt cho chúng em kiến thức kinh nghiệm quý báu suốt trình học Đặc biệt, chúng em xin gửi lời cảm ơn đến Thầy Đào Nam Anh - giảng viên Khoa Công nghệ thông tin - Trường Đại học Điện Lực Thầy tận tình theo sát giúp đỡ, trực tiếp bảo, hướng dẫn suốt trình nghiên cứu học tập chúng em Trong thời gian học tập với thầy, nhóm chúng em khơng tiếp thu thêm nhiều kiến thức bổ ích mà học tập tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc, hiệu Đây điều cần thiết cho chúng em trình học tập cơng tác sau Do thời gian thực có hạn kiến thức cịn nhiều hạn chế nên làm chúng em chắn không tránh khỏi thiếu sót định Em mong nhận ý kiến đóng góp thầy giáo bạn để em có thêm kinh nghiệm tiếp tục hồn thiện đồ án Chúng em xin chân thành cảm ơn! LỜI MỞ ĐẦU Nhận dạng chữ viết tay tốn khó lớp tốn nhận dạng chữ, ln 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 tố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 đây: Với chữ viết tay khơng thể 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ịn 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 học sâu (deep-learning) ứng dụng nhận dạng chữ viết tay” 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  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 mạng neuron Với 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 tốn nhận dạng chữ viết tay, tình hình nghiên cứu ngồi nước, quy trình chung để giải tố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 mạng neuron mơ hình học sâu Trình bày sở lý thuyết mơ hình neuron huấn luyện tốn nhận dạng chữ viết tay Cơ sở lý thuyết mô hình 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 mạng neuron mơ hình học sâu, đưa kết đánh giá nhận dạng chữ viết tay mơ hình mạng neuron mơ hình học sâu Recommandé pour toi Suite du document ci-dessous Regression - phương trình hồi quy SPSS Dien Luc University 70 TCVN ISO 9001 2015 - hídwion Dien Luc University 13 Aucun TÀI LIỆU LUYỆN VIẾT B1 EPU Dien Luc University 13 Aucun Aucun Cam Scanner 01 19 2022 11 Dien Luc University Aucun CHƯƠNG 1: GIỚI THIỆU ĐỀ TI 1.1.Giới thiệu toán nhận dạng 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 hồn tồ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 Trong viết này, hướng dẫn bạn xây dựng mơ hình nhận diện chữ viết tập liệu MNIST google colab MNIST giới thiệu năm 1998 Yann Lecun cộng nhằm đánh giá mơ hình phân lớp MNIST tập liệu chữ viết từ đến Trong đó, hình ảnh đen trắng chứa số viết tay có kích thước 28x28 Bộ dataset vô đồ sộ với khoảng 60k data training 10k data test sử dụng phổ biến thuật toán nhận dạng ảnh 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 có môi trường lý tưởng để triển khai ứng dụng nhận dạng chữ Các hướng tiếp cận theo cấu trúc đối sánh áp dụng nhiều hệ thống nhận dạng chữ Trong giai đoạn này, hướng nghiên cứu tập trung vào kỹ thuật nhận dạng hình dáng chưa áp dụng cho thơng tin ngữ nghĩa Điều dẫn đến hạn chế hiệu suất nhận dạng, không hiệu nhiều ứng dụng thực tế  Giai đoạn (1990 - nay) Các hệ thống nhận dạng thời gian thực trọng giai đoạn Các kỹ thuật nhận dạng kết hợp với phương pháp luận lĩnh vực học máy (Machine Learning) áp dụng hiệu Một số công cụ học máy hiệu mạng Neuron, mơ hình Markov ẩn, SVM (Support Vector Machines) xử lý ngôn ngữ tự nhiên 1.2.Các bước xử lý cho tốn nhận dạng hồn chỉnh neuron sử dụng ứng dụng thương mại Năm 1974 Paul Werbos phát triển ứng dụng phương pháp học lan truyền ngược (back-propagation) Tuy nhiên phải vài năm phương pháp trở lên phổ biến Các mạng lan truyền ngược biết đến nhiều áp dụng rộng dãi nhất ngày Thật không may, thành công ban đầu khiến cho người nghĩ lên khả mạng neuron Chính cường điệu q mức có tác động khơng tốt đến phát triển khoa học kỹ thuật thời người ta lo sợ đến lúc máy móc làm việc người Những lo lắng khiến người ta bắt đầu phản đối nghiên cứu mạng neuron Thời kì tạm lắng kéo dài đến năm 1981 Năm 1985, viện vật lý Hoa Kỳ bắt đầu tổ chức họp hàng năm mạng neuron ứng dụng tin học (Neural Networks for Computing) Năm 1987, hội thảo quốc tế mạng neuron Viện kỹ sư điện điện tử IEEE (Institute of Electrical and Engineer) thu hút 1800 người tham gia Electronic Ngày nay, không dừng lại mức nghiên cứu lý thuyết, nghiên cứu ứng dụng mạng neuron để giải toán thực tế diễn khắp nơi Các ứng dụng mạng neuron đời ngày nhiều ngày hồn thiện Điển hình ứng dụng: xử lý ngơn ngữ (Language Processing), nhận dạng kí tự (Character Recognition), nhận dạng tiếng nói (Voice Recognition), nhận dạng mẫu (Pattern Recognition), xử lý tín hiệu (Signal Processing), Lọc liệu (Data Filtering),… 2.1.1.3 So sánh mạng neuron với máy tính truyền thống Các mạng neuron có cách tiếp cận khác giải vấn đề so với máy tính truyền thống Các máy tính truyền thống sử dụng cách tiếp cận theo hướng giải thuật, tức máy tính thực tập lệnh để giải vấn đề Vấn đề giải phải biết phát biểu dạng tập lệnh khơng nhập nhằng Những lệnh sau phải chuyển sang chương trình ngơn ngữ bậc cao chuyển sang mã máy để máy tính hiểu Trừ bước cụ thể mà máy tính cần tuân theo rõ ràng, máy tính khơng làm Điều giới hạn khả máy tính truyền thống phạm vi giải vấn đề mà hiểu biết xác cách thực Các máy tính trở lên hữu ích chúng thực việc mà thân người khơng biết xác phải làm Các mạng neuron xử lý thông tin theo cách thức giống não người Mạng tạo nên từ số lượng lớn phần tử xử lý kết nối với làm việc song song để giải vấn đề cụ thể Các mạng neuron học theo mơ hình, chúng khơng thể lập trình để thực nhiệm vụ cụ thể Các mẫu phải chọn lựa cẩn thận không thời gian, chí mạng hoạt động khơng Điều hạn chế mạng tự tìm cách giải vấn đề, thao tác khơng thể dự đốn Các mạng neuron máy tính truyền thống khơng cạnh tranh mà bổ sung cho Có nhiệm vụ thích hợp với máy tính truyền thống, ngược lại có nhiệm vụ lại thích hợp với mạng neuron Thậm chí nhiều nhiệm vụ địi hỏi hệ thống sử dụng tổ hợp hai cách tiếp cận để thực hiệu cao (thơng thường máy tính truyền thống sử dụng để giám sát mạng neuron 2.1.1.4 Hoạt động mạng neuron Một mạng neuron có nhiều lớp/tầng mạng phải có lớp lớp đầu (lớp đầu vào thường khơng tính lớp mạng) Mỗi lớp có thẻ có nhiều neuron Cấu trúc tổng quát mạng neuron thể hình 2-5 đây: 20 Hinh 2- 3: Cấu trúc chung mạng neuron Mạng neuron với cấu trúc hình vẽ mơ tả sau:  Đầu vào mạng vector có kích p : (x1, x2 , , xp ) thước đầu vector a ,a ,.,a có kích thước q Trong vài toán phân q loại mẫu, kích thước đầu vào mạng kích thước mẫu đầu vào, kích thước đầu mạng số lớp cần phân loại Ví dụ, tốn nhận dạng chữ số, kích thước đầu mạng 10 tương ứng với 10 chữ số 0,…,9, vài toán nhận dạng chữ tiếng Anh viết thường, kích thức đầu mạng 26 tương ứng với 26 chữ a…z  Lớp ẩn H1 , sau đến lớp ẩn thứ H2 , tiếp lớp hai tục lớp ẩn cuối lớp đầu O  Các neuron lớp có cấu trúc hình 2-4, liên kết neuron lớp liên kết đầy đủ (mỗi neuron thuộc lớp sau liên kết với tất neuron lớp trước nó) liên kết chọn lọc (mỗi neuron thuộc lớp sau liên kết với tất neuron lớp trước đó)  Đầu lớp trước đầu vào lớp sau tiên vector đầu vào lan truyền qua lớp H1 Tại lớp này, neuron nhận vector đầu vào xử lý (tính tổng có trọng số đầu vào cho qua hàm truyền) cho kết tương ứng Đầu H1 đầu lớp vào lớp H2 , sau lớp H1 cho kết đầu lớp H2 nhận đầu vào tiếp tục trình xử lý Cứ thu đầu sau lớp O, đầu đầu cuối mạng Mơ hình mạng neuron Mặc dù neuron đơn lẻ thực chức xử lý thông tin định, sức mạnh tính tốn neuron chủ yếu có nhờ kết hợp neuron kiến trúc thống Một mạng neuron mơ hình tính toán xác định qua tham số: kiểu neuron (như nút ta coi mạng neuron đồ thị), kiến trúc kết nối (sự tổ chức kết nối neuron) thuật toán học (thuật toán dùng để học cho mạng) Về chất mạng neuron có chức hàm ánh xạ F: X → Y, X không gian trạng thái đầu vào (input state space) Y không gian trạng thái đầu (output state space) mạng Các mạng đơn giản làm nhiệm vụ ánh xạ vector đầu vào x ∈ X sang vector đầu y ∈ Y thông qua “bộ lọc” (filter) trọng số Tức y = F(x) = s(W, x), W ma trận trọng số liên kết Hoạt động mạng thường tính tốn số thực ma trận Các kiểu mơ hình mạng neuron Cách thức kết nối neuron mạng xác định kiến trúc (topology) mạng Các neuron mạng kết nối đầy đủ (fully connected) tức neuron kết nối với tất neuron khác, kết nối cục (partially connected) chẳng hạn kết nối iữ á ầ h N ời hi h i l i kiế neuron tầng khác Người ta chia hai loại kiến trúc mạng chính: Tự kết hợp (autoassociative): mạng có neuron đầu vào neuron đầu Mạng Hopfield kiểu mạng tự kết hợp Hinh 2- 4: Mạng tự kết hợp Kết hợp khác kiểu (heteroassociative): mạng có tập neuron đầu vào đầu riêng biệt Perceptron, mạng Perceptron nhiều tầng (MLP: MultiLayer Perceptron), mạng Kohonen, … thuộc loại Hinh 2- 5: Mạng kết hợp khác kiểu Ngoài tùy thuộc vào mạng có kết nối ngược (feedback connections) từ neuron đầu tới neuron đầu vào hay không, người ta chia làm loại kiến trúc mạng Kiến trúc truyền thẳng (feedforward architechture): kiểu kiến trúc mạng khơng có kết nối ngược trở lại từ neuron đầu neuron đầu vào; mạng không lưu lại giá trị output trước trạng thái kích hoạt neuron Các mạng neuron truyền thẳng cho phép tín hiệu di chuyển theo đường nhất; từ đầu vào tới đầu ra, đầu tầng khơng ảnh hưởng tới tầng Các mạng kiểu Perceptron mạng truyền thẳng Hinh 2- 6: Mạng truyền thẳng Kiến trúc phản hồi (Feedback architecture): kiểu kiến trúc mạng có kết nối từ neuron đầu tới neuron đầu vào Mạng lưu lại trạng thái trước đó, trạng thái khơng phụ thuộc vào tín hiệu đầu vào mà phụ thuộc vào trạng thái trước mạng Mạng Hopfield thuộc loại Hinh 2- 7: Mạng phản hồi Perceptron Perceptron mạng neuron đơn giản nhất, gồm neuron, nhận đầu vào vector có thành phần số thực đầu hai giá trị +1 -1 Hinh 2- 8: Perceptron Đầu mạng xác định sau: mạng lấy tổng có trọng số thành phần vector đầu vào, kết ngưỡng b đưa vào hàm truyền (Perceptron dùng hàm Hard-limit làm hàm truyền) kết hàm truyền đầu mạng Hoạt động Perceptron mơ tả cặp công thức sau: y  f (u b)và wi xi u n 1 f b H dli i  b hậ iá ị ế b http://www.deeplearning.net/tutorial/contents.html [12] Keith Kelleher (2013).Multilayer Perceptron in MATLAB / Octave By http://3options.net/brainannex/multilayer-perceptron-in-matlab-octave/ [13] Michael Nielsen (2014).Using neural nets to recognize handwritten digits By http://neuralnetworksanddeeplearning.com/chap1.html [14] Hesham Eraqi (Updated 01 Mar 2016) MLP Neural Network with Backpropagation By http://www.mathworks.com/matlabcentral/fileexchange/54076mlp- neural-network-with-backpropagation

Ngày đăng: 12/06/2023, 09:58

Tài liệu cùng người dùng

Tài liệu liên quan