Nhận dạng chữ số viết tay với mạng neuron nhân tạo

88 779 1
Nhận dạng chữ số viết tay với mạng neuron nhân tạo

Đ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

Mạng neuron toán nhận dạng chữ số viết tay Mục lục Lời nói đầu Chương 0: Mục tiêu, nội dung Chương 1: Nghiên cứu tổng quan công nghệ xử lý ảnh kỹ thuật nhận dạng .5 1.1 vấn đề xử lý ảnh 1.1.1 Một số khái niệm .5 1.1.2 Biểu diễn ảnh 1.1.3 Tăng cường ảnh .6 1.1.4 Biến đổi ảnh 1.1.5 Phân tích ảnh 1.2 Các định dạng ảnh xử lý ảnh 1.2.1 Định dạng ảnh IMG 1.2.2 Định dạng ảnh PCX 10 1.2.3 Định dạng ảnh TIFF 11 1.2.4 Định dạng ảnh GIF(Graphics Interchanger Format) 13 1.3 X lý nh 15 1.3.1 Tăng độ tương phản(stretching contrast) 15 1.3.2 Tách nhiễu phân ngưỡng 16 1.3.3 Làm trơn nhiễu, biên = kỹ thuật lọc trung bình 16 1.3.4 Bản chất trình nhận dạng 18 Chương 2: Nghiên cứu trí tuệ nhân tạo 20 2.1 Tổng quan trí tuệ nhân tạo 20 2.1.1 Trí tu nhân to (AI) l gì? 20 2.1.2 Các kĩ thuật trí tuệ nhân tạo 21 2.2 Biu diễn trí thức 22 2.2.1 Tổng quan 22 2.2.2 Tri thức biểu diễn tri thức 22 2.2.2.1 Tri thức 23 2.2.2.2 Biểu diễn tri thức Logic mệnh đề 23 2.2.2.3 Suy din 24 2.3 Máy học 29 Chương 3: Mạng neuron toán nhận dạng chữ số viết tay 30 3.1 Mạng neuron nhân tạo gì? 30 3.1.1 Nguồn gốc mạng nơron nhân tạo 30 3.1.2 Mạng nơron nhân tạo gì? 31 3.1.3 Triển vọng phát triển mạng nơron 32 3.2 Mô hình neuron kiến trúc mạng 32 3.2.1 Mô hình neuron nhân tạo 32 3.2.2 Phân loại mạng nơron: 35 3.2.2.1 Mạng nơron lớp: 36 3.2.2.2 Mạng nơron nhiều lớp: 37 3.2.2.3 Mạng hồi quy: 38 3.2.3 Các quy tắc học 39 3.2.4 Phương pháp học Perceptron: 41 3.2.4.1 Perceptron 41 3.2.4.1.1 Kiến trúc Perceptron: 41 3.2.4.1.2 Quy tắc học perceptron: 42 Ch nhim ti: Lê Bá Cường Mạng neuron toán nhận dạng chữ số viết tay 3.2.4.1.3 Đánh giá 45 3.2.4.2 Mạng Hopfield 45 3.2.4.2.1 Kiến trúc mạng 46 3.2.4.2.2 Huấn luyện mạng 47 3.2.4.2.3 Đánh giá: 48 3.2.4.3 Mạng liên kết nhớ hai chiều thích nghi (ABAM):Adaptive Bidirectional Associative Memory 48 3.2.4.3.1 Kiến trúc mạng: 48 3.2.4.3.2 Huấn luyện mạng 49 3.2.4.3.3 Đánh giá 50 3.2.5 Thuật toán lan truyền ngược (BackProgation) 50 3.2.5.1 Perceptron nhiều lớp 50 3.2.5.2 Thuật toán lan truyền ngược 51 3.2.5.3 Đánh giá: 53 3.2.6 Phương pháp học cạnh tranh 53 3.2.6.1 Mạng Hamming 53 3.2.6.1.1 Kiến trúc mạng: 54 3.2.6.1.2 Huấn luyện mạng 55 3.2.6.1.3 Đánh giá: 56 3.2.6.2 Adaptive Resonance Theory (ART) 56 3.2.6.2.1 Mạng instar- outstar: 56 3.2.6.2.2 Mạng ART1 58 3.2.6.2.3 Nhận xét đánh giá 60 3.3 Mạng Kohonen lượng tử vectơ học 61 3.3.1 Giới thiệu chung: 61 3.3.2.Thuật toán K-means: 61 3.3.3 Mạng Kohonen Vector Quantization: 64 3.3.4 SOFM 67 3.3.4.1 Vai trò qúa trình truyền bên 67 3.3.4.2 ánh xạ đặc điểm tự tổ chức SOFM 70 3.3.5 Lượng tử vectơ học- Learning Vector Quantization: 73 3.3.5.1 LVQ 73 3.3.5.2 Cải tiến mạng LVQ: 75 3.3.6 Tổng kết 77 3.4 Bài toán nhận dạng số viết tay 78 3.4.1 Giới thiệu chung toán 78 3.4.2 Bài toán nhận dạng chữ số viết tay 81 Kết luận 88 Ch nhim ti: Lê Bá Cường Mạng neuron toán nhận dạng chữ số viết tay Lời nói đầu Nhận dạng toán xuất từ lâu 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, toán nhận dạng không dừng mức độ nghiên cứu mà trở thành lĩnh vực để áp dụng vào thực tế Các toán nhận dạng nghiên cứu nhiều tập trung vào nhận dạng mẫu hình học ( vân tay, mặt người, hình khối, ), nhận dạng tiếng nói nhận dạng chữ viết Đề tài tập trung vào việc nghiên cứu công nghệ mạng neuron áp dụng vào toán nhận dạng chữ số viết tay, từ xây dựng chương trình demo nhận dạng chữ số viết tay Trong báo cáo xin trình bày công việc làm kết đạt nhóm đề tài Bản báo cáo gồm chương: Chương 0: Trình bày tóm tắt nội dung, mục tiêu kết nghiên cứu đề tài, mà nội dung chi tiết đề cập chương sau Chương 1: Trình bày nội dung nghiên cứu công nghệ xử lý ảnh Chương 2: Trình bày nội dung nghiên cứu trí tuệ nhân tạo Chương 3: Trình bày mạng neuron toán nhận dạng chữ số viết tay Tuy cố gắng làm việc nghiêm túc, song hạn chế trình độ thời gian, phát triển nhanh chóng công nghệ thông tin, chắn nhiều vấn đề phải chỉnh lý bổ sung để chương trình hoàn thiện Rất mong nhận đóng góp đồng chí cán quản lý đồng nghiệp Nhân dịp xin chân thành cảm ơn Ban Giám đốc, Phòng Quản lý Nghiên cứu Khoa học, Khoa CNTT - Học viện Kỹ thuật Mật mã bạn đồng nghiệp tạo điều kiện thuận lợi cho việc nghiên cứu, hoàn thành Đề tài Hà nội, 11/2009 Ch nhim ti: Lê Bá Cường Mạng neuron toán nhận dạng chữ số viết tay Chương 0: Mục tiêu, nội dung Nhóm nghiên cứu đề mục tiêu: nghiên cứu công nghệ mạng neuron toán nhận dạng chữ số viết tay, từ xây dựng phần mềm nhận dạng chữ số viết tay ứng dụng vào giảng dạy an toàn thông tin HVKTMM Để thực mục tiêu nhóm nghiên cứu xác định nội dung nghiên cứu cụ thể thực tất nội dung đề ra, cụ thể là: Nghiên cứu công nghệ xử lý ảnh, hỗ trợ cho toán nhận dạng chữ số viết tay Nghiên cứu sở lý thuyết trí tuệ nhân tạo Nghiên cứu mạng neuron toán nhận dạng chữ số viết tay - Các mô hình mạng neuron - Các thuật toán mạng neuron - Sử dụng mạng neuron vào việc nhận dạng chữ số viết tay Xây dựng chương trình demo nhận dạng chữ số viết tay Ch nhim ti: Lê Bá Cường Mạng neuron toán nhận dạng chữ số viết tay Chương 1: Nghiên cứu tổng quan công nghệ xử lý ảnh kỹ thuật nhận dạng 1.1 vấn đề xử lý ảnh 1.1.1 Một số khái niệm Pixel (Picture Element): phần tử ảnh ảnh thực tế ảnh liên tục không gian giá trị độ sáng Để xử lý ảnh máy tính cần thiết phải tiến hành số hoá ảnh Trong trình số hoá , người ta biến đổi tín hiệu liên tục sang tín hiệu rời rạc thông qua trình lấy mẫu (rời rạc hóa không gian) lượng hoá thành phần giá trị mà thể nguyên tắc mắt thường không phân biệt hai điểm kề Trong trình này, người ta sử dụng khái niệm Picture element mà ta quen gọi hay viết Pixel - phần tử ảnh cần phân biệt khái niệm pixel hay đề cập đến hệ thống đồ hoạ máy tính Để tránh nhầm lẫn ta tạm gọi khái niệm pixel pixel thiết bị Khái niệm pixel thiết bị xem xét sau: ta quan sát hình (trong chế độ đồ hoạ), hình không liên tục mà gồm nhiều điểm nhỏ, gọi pixel Mỗi pixel gồm cặp toạ độ x, y màu Cặp toạ độ x, y tạo nên độ phân giải (resolution) Như hình máy tính có nhiều loại với độ phân giải khác nhau: hình CGA có độ phân giải 320 x 200; hình VGA 640 x 350, Như vậy, ảnh tập hợp điểm ảnh Khi số hoá, thường biểu diễn bảng hai chiều I(n,p): n dòng p cột Ta nói ảnh gồm n x p pixels Người ta thường kí hiệu I(x,y) để pixel Thường giá trị n chọn p 256 Hình 1.2 cho ta thấy việc biểu diễn ảnh với độ phân giải khác Một pixel lưu trữ 1, 4, hay 24 bit Gray level: Mức xám Mức xám kết mã hoá tương ứng cường độ sáng điểm ảnh với giá trị số - kết trình lượng hoá Cách mã hoá kinh điển Ch nhim ti: Lê Bá Cường Mạng neuron toán nhận dạng chữ số viết tay thường dùng 16, 32 hay 64 mức Mã hoá 256 mức phổ dụng lý kỹ thuật Vì 28 = 256 (0, 1, , 255), nên với 256 mức, pixel mã hoá bit 1.1.2 Biểu diễn ảnh Trong biểu diễn ảnh, người ta thường dùng phần tử đặc trưng ảnh pixel Nhìn chung xem hàm hai biến chứa thông tin biểu diễn ảnh Các mô hình biểu diễn ảnh cho ta mô tả lô gic hay định lượng tính chất hàm Trong biểu diễn ảnh cần ý đến tính trung thực ảnh tiêu chuẩn thông minh để đo chất lượng ảnh tính hiệu kỹ thuật xử lý Việc xử lý ảnh số yêu cầu ảnh phải mẫu hoá lượng tử hoá Thí dụ ảnh ma trận 512 dòng gồm khoảng 512 x 512 pixel Việc lượng tử hoá ảnh chuyển đổi tín hiệu tương tự sang tín hiệu số (Analog Digital Convert) ảnh lấy mẫu sang số hữu hạn mức xám 1.1.3 Tăng cường ảnh Tăng cường ảnh bước quan trọng, tạo tiền đề cho xử lý ảnh Nó gồm loạt kỹ thuậy như: lọc độ tương phản, khử nhiễu, màu, v v f(,ò) g(x,y) h(x,y; ,) nhiu Hệ thống Thu nhận ò ò Hình 1.3 ảnh biến dạng nhiễu Hình 1.3 cho ta thí dụ biến dạng ảnh nhiễu Khôi phục ảnh nhằm loại bỏ suy giảm (degradation) ảnh Với hệ thống tuyến tính, ảnh đối tượng biểu diễn bởi: g(x,y) = h( x, y; , ) f ( , )d d ( ( x, y)) Ch nhim ti: Lê Bá Cường Mạng neuron toán nhận dạng chữ số viết tay Trong đó: - (x,y) hàm biểu diễn nhiễu cộng - f(,ò) hàm biểu diễn đối tượng - g(x,y) ảnh thu nhận - h((x,y; ,ò) hàm tán xạ điểm (Point Spread Function - PSF) Một vấn đề khôi phục ảnh tiêu biểu tìm xấp xỉ f(,ò) PSF đo lường hay quan sát được, ảnh mờ tính chất sác xuất trình nhiễu 1.1.4 Biến đổi ảnh Thuật ngữ biến đổi ảnh (Image Transform) thường dùng để nói tới lớp ma trận đơn vị kỹ thuật dùng để biến đổi ảnh Cũng tín hiệu chiều biểu diễn chuỗi hàm sở, ảnh biểu diễn chuỗi rời rạc ma trận sở gọi ảnh sở Phương trình ảnh sở có dạng: A*k,l = ak al*T, với ak cột thứ k ma trận A A ma trận đơn vị Có nghĩa A A*T = I Các A* k,l định nghĩa với k,l = 0,1, , N-1 ảnh sở Có nhiều loại biến đổi dùng : - Biến đổi Fourier, Sin, Cosin, Hadamard, - Tích Kronecker (*) - Biến đổi KL (Karhumen Loeve): biến đổi có nguồn gốc từ khai triển trình ngẫu nhiên gọi phương pháp trích chọn thành phần Do phải xử lý nhiều thông tin, phép toán nhân cộng khai triển lớn Do vậy, biến đổi nhằm làm giảm thứ nguyên ảnh để việc xử lý ảnh hiệu (*) Trong xử lý ảnh, việc phân tích đơn giản nhiều làm việc với ma trận khối goị tích Kronecker Ma trận khối ma trận mà phần tử lại ma trận Ch nhim ti: Lê Bá Cường Mạng neuron toán nhận dạng chữ số viết tay A 11 A m A 12 A m A 1, n A m n Ma trận A với Ai,j ma trận m x n; i = 1, 2, ,m j = 1, 2, , n Tích Kronecker Cho A ma trận kích thước M1 x M2 B ma trận kích thước N1 x N2 Tích Kronecker A B ký hiệu A B ma trận khối định nghĩa: a 1,1B a 1,2B A1,M2B A B = aM1,1B aM1,2B AM1,M2B với a i,j phần tử ma trận A Thí dụ ma trận A ma trận B 1 2 A B = 4 -1 -2 -3 -4 1.1.5 Phân tích ảnh Phân tích ảnh liên quan đến việc xác định độ đo định lượng ảnh để đưa mô tả đầy đủ ảnh Các kỹ thuật sử dụng nhằm mục đích xác định biên ảnh Có nhiều kỹ thuật khác lọc vi phân hay dò theo quy hoạch động Người ta dùng kỹ thuật để phân vùng ảnh Từ ảnh thu được, người ta tiến hành kỹ thuật tách (split) hay hợp (fusion) dựa theo tiêu chuẩn đánh giá như: màu sắc, cường độ, v v Các phương pháp biết đến Quad-Tree, Ch nhim ti: Lê Bá Cường Mạng neuron toán nhận dạng chữ số viết tay mảnh hoá biên, nhị phân hoá đường biên Cuối cùng, phải kể đến cac kỹ thuật phân lớp dựa theo cấu trúc 1.2 Các định dạng ảnh xử lý ảnh 1.2.1 Định dạng ảnh IMG ảnh IMG ảnh đen trắng Phần đầu ảnh IMG có 16 bytes chứa thông tin cần thiết : + bytes đầu: dùng để đánh dấu định dạng ảnh IMG Giá trị bytes viết dạng Hexa: 0x0001 0x0008 0x0001 + bytes tiếp theo: chứa độ dài mẫu tin Đó độ dài dãy bytes kề liền mà dãy lặp lại số lần Số lần lặp lưu byte đếm Nhiều dãy giống lưu byte Đó cách lưu trữ nén đề cập chi tiết chương + bytes tiếp: mô tả kích cỡ pixel + bytes tiếp : số pixel dòng ảnh + bytes cuối: số dòng ảnh ảnh ảnh IMG nén theo dòng Mỗi dòng bao gồm gói(pack) Các dòng giống nén thành gói Có loại gói sau: Loại 1: Gói dòng giống Quy cách gói tin sau: 0x00 0x00 0xFF Count Ba byte đầu cho biết số dãy giống nhau; byte cuối cho biết số dòng giống Loại 2: Gói dãy giống Quy cách gói tin sau: 0x00 Count Byte thứ hai cho biết số dãy giống nén gói Độ dài dãy ghi đầu tệp Loại 3: Dãy pixel không giống nhau, không lặp lại không nén Qui cách sau: 0x80 Count Byte thứ hai cho biết độ dài dãy pixel không giống không nén Loại 4: Dãy pixel giống Ch nhim ti: Lê Bá Cường Mạng neuron toán nhận dạng chữ số viết tay Tuỳ theo bit cao byte đầu bật hay tắt Nếu bit cao bật (giá trị 1) gói nén bytes gồm bit 0, số byte nén tính bit thấp lại Nếu bit cao tắt (giá trị 0) gói nén byte gồm toàn bit Số byte nén tính bit thấp lại Các gói tin file IMG phong phú ảnh IMG ảnh đen trắng, cần bit cho pixel thay nói Toàn ảnh có điểm sáng tối tương ứng với giá trị giá trị Tỷ lệ nén kiểu định dạng cao 1.2.2 Định dạng ảnh PCX Định dạng ảnh PCX định dạng ảnh cổ điển Nó sử dụng phương pháp mã loạt dài RLE (Run-Length-Encoded) để nén liệu ảnh Quá trình nén giải nén thực dòng ảnh Thực tế, phương pháp giải nén PCX hiệu so với kiểu IMG Tệp PCX gồm phần: đầu tệp (header), liệuảnh (image data) bảng màu mở rộng Header tệp PCX có kích thước cố định gồm 128 byte phân bố sau: + byte : kiểu định dạng Nếu kiểu PCX/PCC có giá trị 0Ah + byte: version sử dụng để nén ảnh, có giá trị sau: - 0: version 2.5 - 2: version 2.8 với bảng màu - 3: version 2.8 hay 3.0 bảng màu - 5: version 3.0 có bảng màu + byte: phương pháp mã hoá Nếu mã hoá theo phương pháp BYTE PACKED, không phương pháp RLE + byte: số bit cho điểm ảnh plane + word: toạ độ góc trái ảnh Với kiểu PCX có giá trị (0,0); PCC khác (0,0) + word: toạ độ góc phải + word: kích thước bề rộng bề cao ảnh Ch nhim ti: Lê Bá Cường 10 Mạng neuron toán nhận dạng chữ số viết tay Giống mạng cạnh tranh, vectơ trọng số nơron tương ứng với vectơ nguyên mẫu có đầu vào gây tín hiệu cực đại cho nơron Trong LVQ, đôi lúc vectơ trọng số xem vectơ tham chiếu (reference vector ) Dựa vào khoảng cách ngắn vectơ trọng số vectơ mẫu vào x, ta xác định nơron thắng Thuật toán huấn luyện mạng tương tự với luật học Kohonen: nơron thắng bị thay đổi Trọng số hiệu chỉnh theo phương trình sau: Rõ ràng thuật toán linh hoạt: đầu vào x phân lớp xác, trọng số nơron thắng di chuyển phía x Ngược lại, x bị phân lớp sai tức nơron thắng không thuộc lớp mình, di chuyển trọng số xa x (làm tăng độ khác biệt hai loại) (hình 23) Hướng di chuyển trọng số Mẫu vào Cùng chiều kim đồng hồ phân loại Ngược lại phân loại sai Hình 23: Huấn luyện mạng Gọi x(p) vectơ mẫu dạy thứ p, x (p) thuộc lớp mẫu T(p) Cj lớp chứa nơron thứ j Thuật toán LVQ gồm bước sau: Bước 1: Khởi tạo Khởi tạo giá trị trọng số, ngẫu nhiên theo kinh nghiệm Tương tự khởi tạo hệ số học Ch nhim ti: Lê Bá Cường 74 Mạng neuron toán nhận dạng chữ số viết tay Bước 2: Với vectơ mẫu x(p) thực bước 2a 2b Bước 2a Chọn nơron thắng k: Bước 2b Cập nhật trọng số wk theo công thức sau: Nếu T= Cj Nếu T Cj Bước 3: Điều chỉnh tham số học Giảm theo hàm thời gian Bước 4: Kiểm tra điều kiện dừng Quay lại bước x(p) tập mẫu chưa đưa vào mạng Ngược lại, kết thúc chương trình 3.3.5.2 Cải tiến mạng LVQ: Mạng LVQ mô tả làm việc tốt với nhiều toán, có số hạn chế Thứ nhất, tầng cạnh tranh, nơron lớp LVQ có giá trị trọng số khởi đầu làm chẳng thắng cạnh tranh Kết nơron vô tác dụng Thứ hai, phụ thuộc vào vectơ trọng số khởi tạo đặt nào, vectơ trọng số qua vùng lớp mà không biểu diễn , để đến vùng mà biểu diễn Vì trọng số nơron bị giảm vectơ vùng mà phải qua, nên không quan không phân lớp vùng mà bị hấp dẫn Các hạn chế Kohonen khắc phục thuật toán LVQ2 LVQ2.1 *LVQ2: Lượng tử vectơ học mở rộng sau: Nếu nơron thắng tầng ẩn phân lớp không đầu vào thời, ta di chuyển vectơ trọng số khỏi vectơ đầu vào, trạng thái trước Đồng thời, ta hiệu chỉnh trọng số nơron gần với vectơ đầu vào mà phân lớp Các trọng số Ch nhim ti: Lê Bá Cường 75 Mạng neuron toán nhận dạng chữ số viết tay cho nơron thứ hai di chuyển phía vectơ đầu vào Điều kiện để chuyển từ LVQ sang LVQ2 khoảng cách d c vectơ vào nơron thắng không khác biệt với khoảng cách dr từ vectơ vào đến nơron thứ hai nói Ta biểu diễn điều kiện phương trình sau: Nếu điều kiện thỏa mãn, việc hiệu chỉnh trọng số thực sau: Trong đó: WR tương ứng với nơron gần với vectơ đầu vào x (p) mà phân lớp WC tương ứng với nơron thắng *LVQ 2.1: Cải tiến LVQ2.1 thay chọn nơron thắng cuộc, Kohonen chọn hai nơron phân lớp vectơ đầu vào có trọng số gần giống đầu vào để huấn luyện Hai nơron phải thỏa mãn điều kiện sau: Với dC1 khoảng cách từ x(p) tới WC1 dC2 khoảng cách từ x(p) tới WC2 ; WC1 WC2 hai vectơ tương ứng với hai nơron Nếu thỏa mãn điều kiện, nơron hiệu chỉnh sau: Ch nhim ti: Lê Bá Cường 76 Mạng neuron toán nhận dạng chữ số viết tay 3.3.6 Tổng kết Như xem xét, cấu trúc mạng nơron vô đa dạng, thống kê hết loại mạng sử dụng thực tế Đây khó khăn không nhỏ bước tiến hành xây dựng mạng Việc lựa chọn sai cấu trúc mạng dẫn tới hoạt động mạng trở nên hiệu Nếu ta chọn mạng nhỏ chúng không biểu diễn phụ thuộc liệu mong muốn Nếu chọn mạng lớn, nhớ tất mẫu học bảng tra hoàn toàn tổng quát hóa cho tín hiệu vào chưa biết trước Nói cách khác, mô hình thống kê, mạng nơron đưa tới tình trạng thừa tham số Bài toán xác định cấu trúc mạng tốt xem toán tìm kiếm không gian tham số Phương pháp học tham số ( thuộc phương pháp học có giám sát ) nói vắn tắt sau: Giả sử có k nơron mạng, nơron có liên kết đến nơron khác ma trận trọng số W có kích thước kxl Các thủ tục học tham số nhằm mục đích tìm kiếm ma trận W cho t q= a( pq, W) mẫu học Q= {pq, tq} (Hình 24) Ch nhim ti: Lê Bá Cường 77 Mạng neuron toán nhận dạng chữ số viết tay Một cách làm tốt sử dụng giải thuật di truyền Tuy vậy, không gian tham số lớn để xác định trạng W thời gian huấn luyện mạng tăng theo cấp số nhân Có thể áp dụng tư tưởng tìm kiếm leo đồi ( hill climbing) nhằm sửa đổi cách có lựa chọn, mang tính địa phương cấu trúc mạng có Có cách làm: + Hoặc mạng lớn, sau giảm nhỏ xuống + Hoặc bắt đầu với mạng nhỏ, sau tăng dần lên Một kỹ thuật khác áp dụng gọi tổn thương tối ưu nhằm loại bỏ số liên kết trọng số mạng dựa cách tiếp cận lý thuyết thông tin Đơn giản liên kết có trọng số Quá trình tiếp tục Thực nghiệm rằng, kỹ thuật loại trừ tới 3/4 liên kết, nâng cao đáng kể hiệu mạng Ngoài việc loại trừ liên kết nơron, người ta vứt bỏ nơron không đóng góp nhiều vào trình thực mạng Trên thực tế, hầu hết mạng nơron có hai lớp ba lớp Từ bốn lớp trở lên sử dụng Mạng với lớp có khả mạnh giải nhiều toán 3.4 Bài toán nhận dạng số viết tay 3.4.1 Giới thiệu chung toán Nhận dạng toán xuất từ lâu 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, toán nhận dạng không dừng mức độ nghiên cứu mà trở thành lĩnh vực để áp dụng vào thực tế Các toán nhận dạng nghiên cứu nhiều tập trung vào nhận dạng mẫu hình học ( vân tay, mặt người, hình khối, ), nhận dạng tiếng nói nhận dạng chữ viết Chúng ứng dụng nhiều lĩnh vực y học, dự báo thời tiết, dự báo cháy rừng, , lĩnh vực tự động hóa điều khiển robot, điều khiển thiết bị giọng nói, Trong số toán nhận dạng này, toán nhận dạng chữ viết ứng dụng phổ biến Nhận dạng chữ viết ứng dụng trình tự động hóa công việc văn phòng Ch nhim ti: Lê Bá Cường 78 Mạng neuron toán nhận dạng chữ số viết tay nhập liệu, lưu trữ văn bản, sách báo, phân loại thư tín, , công việc nhàm chán chiếm nhiều thời gian người Nhận dạng chữ ( option charecter recognition) chia thành hai khía cạnh nhận dạng chữ in nhận dạng chữ viết tay Bài toán nhận dạng chữ in giải gần trọn vẹn giới Việt Nam Hệ nhận dạng chữ in dựa mô hình mạng nơron bốn lớp hai tác giả J.Wang J.S.N Jean có tỉ lệ nhận dạng xác đạt tới 99.75% Đây tỉ lệ gần tối đa hệ nhận dạng nhanh chóng áp dụng vào nhiều ứng dụng Việt Nam có sản phẩm VNDOCR Viện Công Nghệ Thông Tin nhận dạng chữ in Tiếng Việt xác tới 99% Nhận dạng chữ viết tay thực qua hai hình thức nhận dạng online nhận dạng offline Nhận dạng online có nghĩa máy tính nhận dạng chữ viết lên hình viết Đối với hệ nhận dạng này, máy tính lưu lại thông tin nét chữ thứ tự nét viết, hướng tốc độ nét viết viết Đây sở để máy tính nhận diện chữ cái, việc nhận dạng không gặp nhiều khó khăn Tuy nhiên, chưa có nhiều ứng dụng thực tế nên nhận dạng chữ viết tay trực tuyến chưa biết đến nhiều nhắc đến nhận dạng chữ viết tay thường hiểu hình thức nhận dạng offline Các kết nhận dạng chữ viết tay offline hạn chế Chúng ta chưa tìm giải pháp đủ tốt để giải hết khó khăn tiêu biểu sau toán nhận dạng chữ viết tay: o Với chữ viết tay, kích cỡ đồng việc đảm bảo Chữ viết tay từ, kí tự văn bản, người viết có kích thước khác nhau, lúc cao, lúc thấp, rộng, hẹp o Kiểu, dáng chữ người khác Có người viết nghiêng bên phải, người viết nghiêng bên trái, nghiêng nhiều, nghiêng Ch nhim ti: Lê Bá Cường 79 Mạng neuron toán nhận dạng chữ số viết tay o Nhiều thừa nét, thiếu nét Ví dụ viết số số o Ngoài ra, với chữ viết tay, nhiều bị dính nhau, dòng bị đánh chồng lên dòng Về nhận dạng văn bản, thực qua ba giai đoạn là: phân đoạn ảnh, nhận dạng từ hậu xử lý, thể mô hình sau: Bộ thống kê ngữ cảnh Văn sau scan (ảnh) Tiền nhận dạng Bộ nhận dạng từ Hậu xử lý Văn sau nhận dạng(text) Bộ nhận dạng kí tự Nhận trích dạng chọn Hình 25: Các giaiđặc đoạn trình nhận dạng ảnh mạng điểm nơron Trong phạm vi ti, coi tách rời kí tự (ảnh kí tự ) sử dụng mạng nơron để nhận dạng số viết tay (handwritten digits) Như có 10 đầu tương ứng với 10 chữ số từ đến Bổ đề: vi mi mu u vo qua mng neuron s cho mt vector u có dng {a1,a2,,aN}vi thnh phn l s thc v N l s lp cn nhn dng Khi đó: Nu (1 i N) l phn t ln nht dãy a1,a2,,aN sai s trung bình phng ca vector u ny so vi vector mc tiêu ca lp th i l nh Ch nhim ti: Lê Bá Cường 80 Mạng neuron toán nhận dạng chữ số viết tay 3.4.2 Bài toán nhận dạng chữ số viết tay a Input: Tầng đầu vào ảnh mức xám lưu kí tự viết tay Đó ảnh có kích cớ 29x29 pixel b Output: Bài toán nhận dạng số viết tay nên có 10 nơron đầu tương ứng với 10 chữ số từ đến Mỗi nơron lớp cho giá trị số thực nằm khoảng từ -1 đến Từ 10 giá trị số thực đó, nơron thứ i có giá trị số thực lớn nhận dạng chữ số i c Phương pháp: c0 Tiền xử lý Tìm giới hạn ký tự: Thut toỏn Bt u t nh ca dũng hin thi v bờn trỏi ca kớ t Quột n bờn phi ca kớ t cựng mt giỏ tr y Nu phỏt hin im en thỡ ỏnh du y v thay i li gii hn trờn Nu khụng xột im tip theo Nu khụng tỡm thy im en no tng y v ng li x, xột ng thng ngang tip theo Bt u t gii hn di ca dũng v bờn trỏi ca kớ t Quột ti bờn phi ca kớ t trờn mt giỏ tr y Nu phỏt hin im en, ỏnh du y l gii hn di ca kớ t Nu khụng phỏt hin im en gim y v ng li x xột ng thng ngang tip theo Ch nhim ti: Lê Bá Cường 81 Mạng neuron toán nhận dạng chữ số viết tay Giới hạn Quá trình tìm giới hạn Giới hạn nh x vo ma trn Thut toỏn: i vi chiu rng: Khi to vi 29 phn t tng ng nh x im u (0,y) v im cui (C_rong,y) ca nh kớ t tng ng vi giỏ tr u (0,y) v giỏ tr cui (29,y) ca ma trn Chia nh chiu rng thnh 29 giỏ tr tng ng i vi chiu cao: Khi to vi 29 phn t tng ng nh x im u (x,0) v im cui (x,C_cao) ca nh kớ t tng ng vi giỏ tr u (x,0) v giỏ tr cui (x,29) ca ma trn Chia nh chiu cao thnh 29 giỏ tr tng ng Ch nhim ti: Lê Bá Cường 82 Mạng neuron toán nhận dạng chữ số viết tay Hỡnh 2.5: Quỏ trỡnh chia li kớ t a giỏ tr vo mng neural ta cn chuyn ma trn im nh sang ma trn giỏ tr Thut toỏn: Bt u t phn t (0,0) Tng x gi nguyờn giỏ tr y cho ti bng chiu rng ca ma trn nh x mi phn t ti mt phn t ca mng tuyn tớnh Nu l im en thỡ nhn giỏ tr bng Ngc li nhn giỏ tr bng Nu x = chiu rng thỡ ng li x v tng y Lp li cho ti (x,y)=( C_Rong, C_Cao) Ch nhim ti: Lê Bá Cường 83 Mạng neuron toán nhận dạng chữ số viết tay Hỡnh 2.6: Quỏ trỡnh ỏnh x t ma trn im sang ma trn giỏ tr c1 Mô hình mạng nơron cấu trúc mạng: Chương trình sử dụng mô hình mạng nơron truyền thẳng đa tầng (Multilayer feed- forward Neural Network ) Cấu trúc mạng gồm tầng: Tầng #0: Tầng đầu vào ảnh mức xám lưu kí tự viết tay, ảnh có kích cớ 29x29 pixel Tầng đầu vào có 29x29= 841 nơron Tầng #1: Tầng #1 có 1014 nơron Kết nối tầng kết nối không đầy đủ, nơron có 26 kết nối với tầng trước( tầng #0) kể độ lệch Nên tầng liên kết với tầng đầu vào 1014 *26= 26354 kết nối Tầng #2: Tầng #2 có 1250 nơron Kết nối tầng kết nối không đầy đủ, nơron có 26 kết nối với nơron tầng #1, kể độ lệch Vì thế, tầng #2 có 1250*26= 32500 kết nối Tầng #3: Tầng tầng kết nối đầy đủ với 100 nơron Vì kết nối đầy đủ nên nơron tầng kết nối với tất 1250 nơron tầng #2 Có 100 nơron tầng ; 100*1251= 125100 kết nối Tầng #4: Là tầng cuối cùng- tầng đầu 10 chữ số cần nhận dạng tương ứng với 10 nơron đầu Liên kết kết nối đầy đủ, 10 nơron kết nối với tất 100 nơron tầng #3 Nên, tầng có 10 nơron; 10*100 = 1000 kết nối c2 Thuật toán sử dụng: thuật toán Lan truyền ngược sai số Tư tưởng thuật toán trình bày kỹ mục 3.2.5 Quá trình diễn thuật toán chia làm hai trình: + Quá trình 1: Lan truyền thuận Ch nhim ti: Lê Bá Cường 84 Mạng neuron toán nhận dạng chữ số viết tay Đây trình mà nhờ nơron tính toán giá trị đầu dựa giá trị đầu vào cung cấp đầu nơron kết nối với Thực bước này, tức hàm NeuralNetwork:: Calculate() thực Với tầng #0, hàm trả giá trị trực tiếp giá trị nơron tầng đầu vào Với tầng tiếp theo, thực gọi hàm NNLayer:: Calculate() Quá trình tính toán diễn Trên tầng, hàm NNLayer:: Calculate() tính toán đầu cho nơron tầng theo công thức: Cn xin= F( yin)= F( l wiln xln-1) có xuất hàm hoạt động F Việc chọn hàm hoạt động tốt phần quan trọng việc thiết kế mạng nơron Nói chung, hàm hoạt động nên hàm đối xứng (symmetric), nơron huấn luyện đến giá trị thấp giá trị giới hạn hàm hoạt động Một lựa chọn tốt cho hàm hoạt động hàm Hyperbolic tangent: F(y)= tang (y) Hàm hoàn toàn đối xứng, nhận giá trị từ -1 đến +1 Sử dụng hàm này, ta không nên huấn luyện mạng nơron đến +1 -1 mà nên chọn giá trị trung gian 0.8 -0.8 Ch nhim ti: Lê Bá Cường 85 Mạng neuron toán nhận dạng chữ số viết tay Thêm lý giải thích hàm tanh(y) lựa chọn tốt, dễ đạt đến giá trị đạo hàm Nó không dễ đạt đến giá trị đạo hàm mà giá trị đạo hàm thể biểu diễn thông qua đầu mà không cần quan tâm đến giá trị đầu vào Với x giá trị đầu ra, y giá trị đầu vào Hàm hoạt động sử dụng là: x= F(y)= tanh(y)= sinh( y ) cosh( y ) suy dF = 1- tanh2(y) dy Mà x=tanh(y) nên ta có dF = 1-x2 dy Ta gọi giá trị đạo hàm G(x) + Quá trình 2: Lan truyền ngược Bước thực tính toán sai số E đầu thực với đầu mong muốn truyền ngược E từ tầng cuối trở đến tầng nhằm mục đích cập nhật trọng số tầng theo thông tin phải hồi Sai số E tính theo công thức trung bình phương sai số: EPn= (xin- T in)2 (1) Suy (2) Cơ sở để cập nhật trọng số dựa phương trình sau: (3) Ch nhim ti: Lê Bá Cường 86 Mạng neuron toán nhận dạng chữ số viết tay (4) (5) Từ phương trình (4) ta có công thức cập nhật trọng số: (6) Thực bước lan truyền này, hàm NeuralNetwork:: Backpropagate() thi hành Với lần tính toán tầng #4 tầng đầu ra, hàm tính giá trị đạo hàm dựa theo công thức (2) Tại tầng này, đầu vào cho hàm đầu thực tế đầu mong muốn mạng nơron Hàm trả giá trị đạo hàm theo phương trình (2) Với tầng trước ( tầng #0, #1, #2, #3), tầng thực gọi hàm NNLayer:: Backpropagate() Hàm tính giá trị đạo hàm theo phương trình (3), (4), (5) Các giá trị đạo hàm lưu vectơ để phục vụ cho việc cập nhật trọng số Sau tính toán giá trị đạo hàm từ phương trình (4) ta cập nhật trọng số cho tầng thứ n , ta cần phải tính tiếp đạo hàm theo phương trình (5) để phục vụ cho việc tính toán tầng trước (tầng n-1) Khi lưu giá trị đạo hàm tính phương trình (4), tiến hành cập nhật trọng số theo phương trình (6) Đây công thức cập nhật trọng số tất tầng Ch nhim ti: Lê Bá Cường 87 Mạng neuron toán nhận dạng chữ số viết tay Kết luận Sau thời gian làm việc nghiêm túc nhóm đề tài đạt kết sau: o Nhóm đề tài hoàn thành báo cáo khoa học nội dung đề o Tích lũy kiến thức chuyên sâu mạng neuron, mô hình mạng neuron thuật toán mạng neuron o Xây dựng chương trình demo nhận dạng chữ viết tay kiểm thử khoa CNTT học viện KTMM Hướng phát triển : o Tiếp tục nghiên cứu mạng neuron ứng dụng o Nghiên cứu toán nhận dạng chữ viết tay tiếng việt o Nghiên cứu toán nhận dạng tiếng nói công nghệ mạng neuron Danh mục tài liệu tham khảo: Learning machine.pdf Võ Huỳnh Trâm, Trần Ngân Bình Neural Network Design Martin T.Hegan, Howard B.Demuth Giáo trình xử lý ảnh - GS Nguyễn Văn Ngọ neuron network design - Martin T Hagan, Howard B Demuth, Mark H Beale Các viết trang Web www.dieukhien.net số trang Web khác Ch nhim ti: Lê Bá Cường 88 [...]... cn mng neuron v tip cn di truyn v tin húa Trong chng tip theo chỳng ta s tỡm hiu chi tit v hng tip cn mng neuron Ch nhim ti: Lê Bá Cường 29 Mạng neuron và bài toán nhận dạng chữ số viết tay Chương 3: Mạng neuron và bài toán nhận dạng chữ số viết tay 3.1 Mạng neuron nhân tạo là gì? 3.1.1 Nguồn gốc mạng nơron nhân tạo Vào những năm thập niên 1940, Werren McCulloch và Walter Pitts chỉ ra rằng các mạng. .. thuật nhận dạng ra sao, một hệ thống nhận dạng có thể tóm tắt theo sơ đồ sau: Trích chọn đặc tính Phân lớp biểu diễn đối tượng ra quyết định Quá trình tiền xử lý trả lời Đánh giá Khối nhận dạng Hình 3.8 Sơ đồ tổng quát một hệ nhận dạng Ch nhim ti: Lê Bá Cường 19 Mạng neuron và bài toán nhận dạng chữ số viết tay Chương 2: Nghiên cứu về trí tuệ nhân tạo 2.1 Tổng quan về trí tuệ nhân tạo 2.1.1 Trí tu nhân. .. đối với sự phát triển của mạng nơron nhân tạo 3.2 Mô hình neuron và các kiến trúc mạng 3.2.1 Mô hình neuron nhân tạo Mạng nơron nhân tạo( Artificial Neural Network) bao gồm các nơron( còn gọi là một đơn vị xử lý hay một node) được nối với nhau bởi các liên kết nơron Mỗi liên kết kèm theo một trọng số nào đó, đặc trưng cho tính kích hoạt/ ức chế Ch nhim ti: Lê Bá Cường 32 Mạng neuron và bài toán nhận dạng. .. của Trí tuệ nhân tạo gắn với lý thuyết nhận dạng Các phương pháp nhận dạng chính gồm: nhận dạng hình học, nhận dạng dùng tâm lý học, nhận dạng theo phương pháp hàm thế, dùng máy nhận dạng ứng dụng của phương pháp này trong việc nhận dạng chữ viết, âm thanh Người máy: Cuối những năm 70, người máy trong công nghiệp đã đạt được nhiều tiến bộ Người máy có bộ phận cảm nhận và các cơ chế hoạt động được nối... tuệ nhân tạo là khoa học về thể hiện và sử dụng tri thức Mạng ngữ nghĩa, lược đồ, logic vị từ, khung là các phương pháp thể hiện tri thức thông dụng Việc gắn liền cách thể hiện và sử dụng tri thức là cơ sở hình thành hệ chuyên gia Ch nhim ti: Lê Bá Cường 21 Mạng neuron và bài toán nhận dạng chữ số viết tay Lý thuyết nhận dạng và xử lý tiếng nói: Giai đoạn phát triển đầu của Trí tuệ nhân tạo gắn với. .. đương với hoạt động của bộ não con người Ch nhim ti: Lê Bá Cường 31 Mạng neuron và bài toán nhận dạng chữ số viết tay Hầu hết các mạng nơron đều phải tuân thủ theo một số quy tắc(còn gọi là luật dạy-training rule) để hiệu chỉnh các trọng số liên kết trên cơ sở dữ liệu đưa vào Nói cách khác, mạng nơron học từ các ví dụ mẫu và sau đó tổng quát hoá cho các trường hợp khác 3.1.3 Triển vọng phát triển mạng. .. này, người ta xây dựng và phát triển mạng nơron nhân tạo dựa trên mô hình của nơron sinh học với mục đích là có thể huấn luyện các mạng nơron nhân tạo này để chúng có thể giải quyết một số bài toán theo cách của bộ não sinh học thực hiện đồng thời thông qua đó tìm hiểu các cơ chế nhớ và cách tính toán của bộ não 3.1.2 Mạng nơron nhân tạo là gì? Mạng nơron là một mạng của nhiều đơn vị xử lý nhỏ, mỗi.. .Mạng neuron và bài toán nhận dạng chữ số viết tay + 1 word: số điểm ảnh + 1 word: độ phân giải màn hình + 1 word + 48 byte: chia thành 16 nhóm, mỗi nhóm 3 byte Mỗi nhóm này chứa thông tin về một thanh ghi màu Như vậy ta có 16 thanh ghi màu + 1 byte: không dùng đến và luôn đặt là 0 +1 byte: số bit plane mà ảnh sử dụng Với ảnh 16 màu, giá trị này là 4, với ảnh 256 màu (1 pixel/8 bit) thì số bit... phức tạp, tạo nên chức năng của mạng nơron Một số cấu trúc thần kinh được các định ngay từ lúc sinh ra Còn lại chúng phát triển qua quá trình học, các liên kết mới được tạo ra, một số khác mất đi Các cấu trúc thần kinh liên tục thay đổi trong suốt cuộc sống Giai đoạn đầu của cuộc Ch nhim ti: Lê Bá Cường 30 Mạng neuron và bài toán nhận dạng chữ số viết tay sống là quá trình phát triển mạnh mẽ nhất, về... các cơ sở sau: Theo kiểu liên kết nơron: Mạng nơron truyền thẳng(Feed Forward NN): Các liên kết nơron đi theo một hướng nhất định, không tạo thành đồ thị có chu trình Ch nhim ti: Lê Bá Cường 35 Mạng neuron và bài toán nhận dạng chữ số viết tay Mạng nơron hồi quy( Recurrent NN) : cho phép các liên kết nơron tạo thành chu trình Theo phương pháp huấn luyện mạng: Học giám sát( supervised learning)

Ngày đăng: 22/09/2016, 22:14

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan