Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 50 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
50
Dung lượng
1,25 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG………… Luận văn Nghiên cứu, tìm hiểu mạng Neural vài ứng dụng chúng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LỜI CẢM ƠN Em xin chân thành cảm ơn thầy, cô khoa Công nghệ Thông Tin Trường Đại học Dân lập Hải Phịng tận tình dạy dỗ, truyền đạt cho chúng em nhiều kiến thức, kinh nghiệm quý báu suốt trình học trường Đặc biệt,em xin tỏ lòng biết ơn sâu sắc đến thầy giáo-Tiến sỹ Hồ Văn Canh trực tiếp dìu dắt, giúp đỡ em tận tình, chu đáo suốt thời gian em hoàn thiện đồ án tốt nghiệp Xin chân thành cảm ơn bạn khoa Công Nghệ Thơng Tin, trường Đại Học Dân Lập Hải Phịng giúp đỡ, động viên tơi nhiều q trình thực đề tài Em xin chân thành cảm ơn! Hải Phòng, tháng 06 năm 2010 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỤC LỤC LỜI MỞ ĐẦU CHƢƠNG I: GIỚI THIỆU CHUNG VỀ MẠNG NEURAL 1.1 Tổng quan mạng neural sinh học 1.1.1 Cấu trúc mạng neural sinh học 1.1.2 Khả mạng neural sinh học (bộ não) 1.1.3 Quá trình học não 1.2 Neural nhân tạo 1.2.1 Định nghĩa 1.2.2 Mơ hình neural 1.2.2.1 Neural đầu vào 1.2.2.2 Neural nhiều đầu vào 1.3 Mạng neural nhân tạo 10 1.3.1 Định nghĩa 10 1.3.2 Một số chức mạng neural nhân tạo 11 1.3.2.1 Chức phân loại mẫu 11 1.3.2.2 Học tổng quát hóa 11 1.3.3 Lịch sử phát triển mạng neural nhân tạo 11 1.4 Kiến trúc mạng neural 13 1.4.1 Lớp neural 13 1.4.2 Mạng neural nhiều lớp (Multiple Layers of Neurons) 14 1.5 Phân loại mạng neural 16 1.6 Hoạt động mạng neural nhân tạo 17 1.6.1 Hoạt động mạng neural 17 1.6.2 Luật học mạng neural 17 CHƢƠNG II: MẠNG PERCEPTRON ĐA LỚP VỚI LUẬT HỌC LAN TRUYỀN NGƢỢC SAI SỐ 20 2.1 Mạng neural nhiều lớp lan truyền ngƣợc sai số 20 2.1.1 Tổng quan mạng neural truyền thẳng nhiều lớp 20 2.1.2 Kiến trúc mạng 21 2.1.3 Cơ chế huấn luyện mạng neural lan truyền ngược sai số 21 2.2 Các nhân tố trình học lan truyền ngƣợc sai số 28 2.2.1 Khởi tạo trọng số 28 2.2.2 Hằng số học α (Anpha) 29 2.2.3 Tập mẫu học dự báo 30 2.3 Cấu trúc mạng 31 2.4 Sự hội tụ thuật toán huấn luyện mạng 32 CHƢƠNG III: KỸ THUẬT NHẬN DẠNG BẢN RÕ TIẾNG ANH 33 3.1 Bài toán 33 3.2 Thuật toán 33 3.2.1 Phần off-line 33 3.2.2 Phần on-line 39 3.2.3 Một số ví dụ 41 CHƢƠNG IV: CÀI ĐẶT VÀ THỰC NGHIỆM 45 4.1 Kết đạt đƣợc 45 4.2 Mã nguồn chƣơng trình 46 4.2.1 Thủ tục tính tần số đơi với độ dài k 46 4.2.2 Hàm tính tổng ma trận 47 4.2.3 Hàm nhận biết ngôn ngữ 47 KẾT LUẬN 48 TÀI LIỆU THAM KHẢO 49 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LỜI MỞ ĐẦU Kỹ thuật nhận dạng vấn đề quan tâm nay, đặc biệt an ninh quốc phòng: nhận dạng chữ ký, nhận dạng mẫu tóc, nhận dạng hình ảnh, nhận dạng vân lịng bàn tay, nhận dạng chữ viết, nhận dạng ngôn ngữ, nhận dạng sinh trắc học,v.v… Ngày nay, phát triển nhanh chóng khoa học cơng nghệ, đặc biệt CNTT, ngồi hai kỹ thuật nhận dạng truyền thống nhận dạng dựa vào tham số đối tượng nhận dạng theo cấu trúc, hướng quan tâm nghiên cứu nhận dạng dựa vào kỹ thuật mạng neural Kỹ thuật bước đầu ứng dụng cho kết quan trọng Điều nói lên tính cấp thiết khoa học mạng neural việc giải nhiều toán thực tiễn Khả ứng dụng mạng neural khơng cịn nằm phịng thí nghiệm mà xuất ứng dụng vào lĩnh vực thương mại Xuất phát từ lý nên em mạnh dạn chọn đề tài: Tìm hiểu mạng neural ứng dụng nó, làm đồ án tốt nghiệp Do đề tài khó em nên trình nghiên cứu chắn em gặp nhiều khó khăn Do em mong thầy, cô thông cảm cho em bảo, em xin chân thành cảm ơn! Hải Phòng, tháng 06 năm 2010 Sinh viên Bùi Duy Quảng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com CHƢƠNG I: GIỚI THIỆU CHUNG VỀ MẠNG NEURAL 1.1 Tổng quan mạng neural sinh học 1.1.1 Cấu trúc mạng neural sinh học Bộ não người có mạng lưới gồm khoảng 1011 tế bào thần kinh (gọi nơron) liên kết phức tạp với Mỗi tế bào thần kinh gồm thành phần chính: thân tế bào thần kinh (cell body gọi soma), hệ thống dây thần kinh tiếp nhận (dendrites) sợi trục thần kinh (axon) Hình 1.1 Mơ hình tế bào thần kinh Hệ thống dây thần kinh tiếp nhận lưới dày đặc dây thần kinh dạng bao bọc xung quanh thân tế bào, chúng dẫn tín hiệu đến phần thân tế bào Thân tế bào tổng hợp tín hiệu đầu vào này, làm thay đổi điện vượt qua mức ngưỡng cho xung điện sợi trục thần kinh (Axon) Các dây thần kinh axon rẽ nhiều nhánh để nối đến dây thần kinh vào nối trực tiếp với phần thân tế bào thần kinh khác thông qua khớp thần kinh (synapse) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khi tế bào thần kinh hoạt động, kích thích tạo tín hiệu điện hóa chạy dọc theo sợi axon dẫn đến khớp thần kinh Khớp thần kinh chia làm loại: khớp nối kích thích (excitalory) khớp nối ức chế (inhibitory) Tại khớp thần kinh xảy q trình phản ứng giải phóng chất hữu tạo nên tín hiệu điện kích thích tế bào thần kinh Cường độ tín hiệu mà tế bào thần kinh nhận phụ thuộc chủ yếu vào mức độ liên kết khớp nối Những nghiên cứu hoạt động hệ thần kinh trình "học" não việc hình thành thay đổi mức độ liên kết khớp nối 1.1.2 Khả mạng neural sinh học (bộ não) - Bộ nhớ tổ chức theo bó thơng tin truy nhập theo nội dung (có thể truy xuất thơng tin dựa theo giá trị thuộc tính đối tượng) - Bộ não có khả tổng quát hóa, truy xuất tri thức hay mối liên kết chung đối tượng tương ứng với khái niệm chung - Bộ não có khả học 1.1.3 Quá trình học não Khi xung tín hiệu từ "dây thần kinh vào" tới khớp nối, khớp nối cho tín hiệu qua khơng kích thích neural Do hình thành đường truyền xung định Học cho đường lặp lại nhiều lần, nên sức cản khớp nối nhỏ dần, tạo điều kiện cho lần lặp lại dễ dàng Có thể nói: Tồn kiến thức, kinh nghiệm người tích lũy lưu giữ đầu hệ thống sức cản khớp nối LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 1.2 Neural nhân tạo 1.2.1 Định nghĩa Neural nhân tạo (Atificial Neural Networks) mô đơn giản neural sinh học Mỗi neural nhân tạo thực hai chức năng: chức tổng hợp đầu vào chức tạo đầu Mỗi neural nhân tạo có số đầu vào đầu Mỗi đầu vào gắn hệ số nhân gọi trọng số (weight) có ý nghĩa mức độ liên kết khớp nối mạng neural sinh học Trọng số dương âm, giống mạng neural sinh học có hai loại khớp nối: khớp nối kích thích khớp nối ức chế Mỗi neural có giá trị ngưỡng Chức đầu vào tổng có trọng số tín hiệu vào kết hợp với ngưỡng để tạo tín hiệu đầu vào net input Sự kết hợp thực tổng hay theo số tài liệu gọi hàm PSP (Post Synapic Potential function) - hàm sau khớp nối Chức tạo đầu thể hàm truyền đạt (transfer function) Hàm nhận tín hiệu đầu vào net input tạo tín hiệu đầu neural 1.2.2 Mơ hình neural Mạng neural nhân tạo gồm hai thành phần: Các nút (đơn vị xử lý, neural) liên kết chúng gán trọng số đặc trưng cho cường độ liên kết Ta ký hiêu: Pi tín hiệu đầu vào; Xi tín hiệu đầu neural i Trạng thái đầu vào neural i xác định tổng tuyến tính tín hiệu vào có trọng số từ neural j khác LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 1.2.2.1 Neural đầu vào Hình 1.2 Mơ hình neural đầu vào Một neural đơn giản với đầu vào diễn tả hình vẽ Đầu vào vơ hướng p nhân với trọng số vô hướng w thành wp hai số hạng đưa vào tổng Một đầu vào khác nhân với hệ số bias b sau đưa vào tổng Bộ tổng cho n, thường gọi tín hiệu đầu vào net input, n cho qua hàm truyền đạt f kết đầu a neural Một số tài liệu gọi hàm f hàm hoạt hóa (activation function) Nếu liên hệ mơ hình đơn giản với neural sinh học trọng số w tương ứng với độ liên kết (độ mạnh) khớp nối (synapse), đầu vào p tương ứng với dây thần kinh tiếp nhận (dendrite), thân neural (cell body) mơ hình tổng hàm truyền đạt, đầu neural a diễn tả tín hiệu sợi trục neural sinh học (axon) Đầu neural tính bởi: a=f (wp+b) (2.1) Ví dụ: với w=3, p=2 b= -1,5 a=f (3.(2)-1,5)= f (4,5) Đầu a phụ thuộc vào hàm truyền f chọn hàm trường hợp cụ thể Hệ số chệch (bias) giống trọng số với đầu vào Neural có khơng có hệ số bias (chệch) Ta thấy rẳng w b tham số vơ hướng điều chỉnh neural Thông thường dạng hàm truyền chọn người thiết kế sau tham số w b điều chỉnh số luật học để mối quan hệ vào/ra neural thỏa mã mục địch cụ thể người thiết kế LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hàm truyền f hàm truyền tuyến tính phi tuyến n Có nhiều dạng hàm truyền sử dụng BẢNG 1.1: CÁC DẠNG HÀM TRUYỀN Công thức Tên hàm a với n < 0 hardlim a=1 với n a với n < -1 hardlims với n a=1 purelin a=n satlin satlins a=0 với n < a=n với a=1 với n > a = -1 với n < a=n với a=1 với n > tansig a a en e e n n 1 n n với n < 0 poslin với n a=n a = với neural có n lớn compet a = với neural lại logsig a 1 e n LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 1.2.2.2 Neural nhiều đầu vào Thơng thường neural có nhiều đầu vào Một neural với R đầu vào diễn tả: Hình 1.3 Mơ hình neural nhiều đầu vào Mỗi đầu vào riêng biệt p1, p2, pR tương ứng với trọng số w1,1,w1,2, w1,R ma trận trọng số W Ta có: n= w1,1 p1 + w1,2 p2 + + w1,R pR + b Hay viết dạng ma trận n=Wp + b, trơng trường hợp mà trận W gồm hàng Véc tơ tín hiều biểu diễn dạng ma trận sau: Đầu neural tính a= f (Wp + b) Đối với phần tử ma trận W, ta quy ước wi,j để trọng số nối đầu vào thứ j với neural thứ i (trong trường hợp có neural nên i=1) Mơ hình neural nhiều đầu vào ký hiệu vắn tắt sau: Hình 1.4 Mơ hình vắn tắt neural nhiều đầu vào Đầu vào a= f (Wp+b) Nhìn vào mơ hình ta biết vec-tơ đầu vào p có R phần tử Ma trận trọng số W có hàng R cột, số đầu vào nhân với hệ số bias b Bộ tổng kết hợp với hệ số bias b tịch hợp Wp tạo tín hiệu đầu vào số LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ij = n ij + 0, 0385 n i +1 ; i, j = 1, , , 26 Đó ước lượng có chênh sai số trung bình bình phương bé xác suất chuyển Pij ma trận chuyển P Kết tính ij cho bảng tương ứng sau: 35 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 36 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Từ số liệu bảng A1 (1) A1 = ( a ij ) i, j = 1, 2, , 26 Trong đó: b (1) ij = 7.lg 14, 79 a ij(1) if a ij(1) > i, j = , 2, , 26 if a ij(1) = 11 Trong lg(.) logarit số 10 [x] = số nguyên lớn không bé x Hệ số k = kết thực nghiệm giúp cho việc nhận dạng lớp tốt Gọi A = (aij)26x26 với aij = 1/26 i,j = 1, 2, , 26 Ma trận dãy ngẫu nhiên (1) Như vậy, phần tử A0 = ( a ij ) ma trận đôi dãy ngẫu nhiên hệ số 14,79 ≈ Ví dụ 3.1: 10.000 , lấy chữ số thập phân sau dấu phẩy 26* 26 [-1,5] = -2 [-1,95] = -2 [-1] = -1 [1,5] = [3] = [0,3] = Ta có bảng sau: 37 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 38 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.2.2 Phần on-line Giả sử X mẫu X = x1x2 xN với xi {a,b, ,z}, i= 1,2, N Vấn đề đặt X thuộc ngôn ngữ tiếng Anh dãy ngẫu nhiên đó? Ta tiến hành sau: Step 1: Tính tần số đơi móc xích dãy X, tức ta tính số lần xuất cặp chữ Latinh dãy Giả sử, tần số chữ ký hiệu F = (fij) với i,j = a,b, ,z Trong đó: N-1 f t,t+1 (i, j) i,j = a,b, ,z fij = t=1 Step 2: Tính Tr(F.B) cơng thức: z z C= f jk b jk j=a k=a Nếu C ≥ thuật tốn dừng kết luận X thuộc lớp dãy ngẫu nhiên Nếu C < thuật tốn kết thúc thơng báo X thuộc rõ tiếng Anh 39 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Begin X Tính tần số đơi móc xích dãy X lưu vào bảng F z B1 Tính C= f jk b jk j=a T z C≥0 k=a F X đọc (X tiếng Anh) X dãy ngẫu nhiên END Hình 3.1 Sơ đồ khối thuật toán 40 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.2.3 Một số ví dụ Ví dụ 1: Ta kiểm tra mẫu văn bản: Cho X = phooi irsia ectoi ueeso oeefp hfspa psoat ltet trpb vtqiu igdsn eknrh e Vậy với thuật tốn nhận Quá trình thực sau: Step 1: Tính tần số đơi móc xích, bảng sau (ký hiệu bảng F) A B C D A E F G H I J K L M N O P Q R S T U W X Y Z B C D E 1 F G 1 H I V 1 1 1 J K L M N O P 1 1 2 Q 1 R S 1 T U 1 1 1 V W X Y Z 41 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com z z j=a k=a Sử dụng bảng B1: tính C = f jk b jk Các phép tính tương ứng dịng bảng B1 F Dòng A 1.6 + 1.0 + 1.(-7) + B 1.11 + C 1.(-3) + D 1.(-1) + E 1.(-5) + 2.(-5) + 1.(-4) + 1.(-8) + 1.(-5) + F 1.11 + 1.1 + G 1.6 + H 1.(-9) + 1.3 + 1.(-4) + I 1.(-4) + 1.11 + 1.(-4) + K 1.6 + L 1.(-5) + N 1.(-5) + 1.2 + O 1.2 + 1.3 + 2.0 + 2.0 P 1.(-1) + 1.8 + 2.4 + 1.0 + Q 1.11 + R 1.1 + 1.4 + 1.(-3) + S 1.(-6) + 1.0 + 2.(-5) + 1.2 T 1.(-6) + 1.11 + 1.(-4) + 2.(-5) + U 1.1 + 1.1 + V 1.11 = 26 Vậy C =26 > Suy X văn không hiểu 42 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Ví dụ 2: Cho văn X = Edit windows are where you type in and edit your Turbo Pascal code You can also the following in an Edit window Tính tần số đơi móc xích, bảng sau (ký hiệu bảng F) A B C D E F G H I J A K L M N O B C P Q R S 1 T U V W X Y Z D E 3 1 F G H I J K L 1 1 M N 3 O P 1 1 1 3 Q R S 1 T U 1 1 2 V W X Y Z 43 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com z z j=a k=a Sử dụng bảng B1: tính C = f jk b jk Các phép tính tương ứng dòng bảng B1 F Dòng A 2.(-5) + 3.(-8) + 1.(-6) + 1.(-6) + B 1.0+ C 2.(-3) + 1.(-4) + D 2.(-5) + 3.(-5) + 3.(-1) + E 3.(-7) + 1.(-4) + 1.(-4) + 1.(-8) + 1.(-3) + 2.3 + F 1.(-4) + G 1.(-1) + H 2.(-9) + I 5.(-9) + 3.(-7) + L 1.3 + 1.(-4) + 1.(-2) + 1.(-1) + N 3.(-4) + 3.(-7) + 1.(-2) + 1.(-1) + O 2.(-1) + 1.(-1) + 1.4 + 1.(-4) + 3.(-5) + 3.(-2) + P 1.(-1) + 1.(-3) + R 1.(-1) + 2.(-8) + 1.(-5) + S 1.(-5) + 1.(-1) + 1.(-5) + T 1.(-10) + 1.(-2) + 2.(-3) + 2.(-2) + U 1.(1) + 2(-4) + 1.(-3) + W 1.(-3) + 31.(-3) + 1.4 + Y 3(-1) + 1.1 = -357 Vậy C = -357 < Suy X văn Tiếng Anh 44 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com CHƢƠNG IV: CÀI ĐẶT VÀ THỰC NGHIỆM 4.1 Kết đạt đƣợc Một chương trình phần mềm ngơn ngữ C++ xây dựng nhằm thử nghiệm phép kiểm định nêu Các mẫu thử lựa chọn tài liệu Tiếng Anh thuộc lĩnh vực: Chính trị, kinh tế, văn học, địa lý, quân sự, thể thao, ngoại giao, lịch sử, y tế, giáo dục, pháp luật; với độ dài khác Độ xác trƣờng hợp lấy độ dài kiểm tra khác Độ dài Tiếng Anh Dãy ngẫu nhiên (ký tự) T.Số Đúng Tỷ lệ T.Số Đúng Tỷ Lệ 50 150 148 98,67% 15 14 93% 60 150 149 99,33% 15 15 100% 70 150 150 100% 15 15 100% 80 150 150 100% 15 15 100% 45 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4.2 Mã nguồn chƣơng trình 4.2.1 Thủ tục tính tần số đơi với độ dài k int TTSBD(int A[26][26], char *Fname, int k) { FILE *F; char i,j; for(i=0;i