Nghiên cứu, tìm hiểu về mạng neural và một vài ứng dụng của chúng

49 5 0
  • Loading ...
1/49 trang

Thông tin tài liệu

Ngày đăng: 16/03/2019, 19:49

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 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 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 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 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 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 10 11 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) 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 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 q 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 Q 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 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 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ế 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 Tên hàm Công thức a với n < hardlim a=1 với n a với n < -1 hardlims a=1 với n purelin a=n satlin satlins a=0 a=n với n < với n a=1 với n > a = -1 a=n với n < với n a=1 với n > a tansig e n e n en a với n < poslin a=n compet với n a = với neural có n lớn a = với neural lại a logsig 1 en 1 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ố vô hướng, hàm truyền f biến đổi n thành đầu neural a, trường hợp a số vơ hướng mạng neural a vec-tơ đầu Từ trở ta dùng mơ hình vắn tắt để biểu diễn mạng neural 1.3 Mạng neural nhân tạo 1.3.1 Định nghĩa Mạng neural nhân tạo kết hợp neural nhân tạo với Mỗi liên kết kèm theo trọng số đặc trưng cho đặc tính kích hoạt ức chế neural Các neural gọi nút (node) xếp mạng theo lớp, bao gồm lớp (output player) lớp ẩn (hiden layer) Các đặc điểm mang neural nhân tạo: - Mạng xây dựng neural liên kết lại với - Chức mạng xác định bởi: cấu trúc mạng, trình xử lý bên neural, mức độ liên kết neural - Mức độ liên kết neural xác định thơng qua q trình học mạng (q trình huấn luyện mạng) Có thể xem trọng số phương tiện để lưu trữ thông tin dài hạn mạng neural Nhiệm vụ trình huấn luyện mạng cập nhật trọng số có thơng tin mẫu học * Một số định nghĩa mạng neural: +Mạng neural hệ thống gồm nhiều phần tử xử lý hoạt động song song Chức xác định cấu trúc mạng, độ lớn liên kết trình xử lý nút đơn vị tính tốn +Một mạng neural xử lý song song đồ sộ, có xu hướng tự nhiên lưu trữ tri thức dựa kinh nghiệm, tạo tri thức dựa vào có Nó tương tự với não hai khía cạnh: - Tri thức có thơng qua q trình học - Độ lớn liên kết neural dùng phương tiện lưu trữ thông tin 10 ij = n + 0, 0385 ; i, j = 1, , , 26 ij n i +1 Đó ướ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 36 Từ số liệu bảng A1 i, j = 1, 2, , 26 A1 = ( aij(1) ) Trong đó: 7.lg 14, 79 b(1) ij aij(1) = if a (1) > ij i, j = , 2, , 26 if a (1) = 11 ij 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 Như vậy, phần tử A0 = ( aij(1) ) ma trận đôi dãy ngẫu nhiên 10.000 hệ số 14,79 ≈ Ví dụ 3.1: , lấy chữ số thập phân sau dấu phẩy [-1,5] = -2 [1,5] = [-1,95] = -2 [3] = Ta có bảng sau: 37 [-1] = -1 [0,3] = 38 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 fij = t =1 f t,t +1 (i, j) i,j = a,b, ,z 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 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 z f b C= jk j=a T C≥0 jk 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 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 Q 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 E A F G H I J K L M N O P Q R S T U V B C D E 1 F G 1 H I 1 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 W X Y Z Sử dụng bảng B1: tính Dòng C= z z j=a k =a f b jk jk Các phép tính tương ứng dòng bảng B1 F 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 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 P B C Q R S T U V W X Y Z 1 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 V W X Y Z 43 Sử dụng bảng B1: tính Dòng C= z z j=a k =a f b jk jk Các phép tính tương ứng dòng bảng B1 F 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 CHƢƠNG IV: CÀI ĐẶT 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 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
- Xem thêm -

Xem thêm: Nghiên cứu, tìm hiểu về mạng neural và một vài ứng dụng của chúng , Nghiên cứu, tìm hiểu về mạng neural và một vài ứng dụng của chúng

Gợi ý tài liệu liên quan cho bạn

Nhận lời giải ngay chưa đến 10 phút Đăng bài tập ngay