Tìm hiểu về mạng nơron kohonen (hay mạng nơron tự tổ chức SOM)

69 4 0
Tìm hiểu về mạng nơron kohonen (hay mạng nơron tự tổ chức SOM)

Đ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

Luận văn tốt nghiệp Tìm hiểu mạng nơron Kohonen (hay mạng nơron tự tổ chức – SOM) -1- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỤC LỤC MỤC LỤC CÁC HÌNH VẼ, BẢNG BIỂU TRONG LUẬN VĂN THUẬT NGỮ TIẾNG ANH Lời cảm ơn Chương Giới thiệu mạng nơron nhân tạo 1.1 Cấu trúc mơ hình mạng nơron 1.1.1 Mơ hình nơron sinh học 1.1.2 Cấu trúc mơ hình nơron nhân tạo 10 1.2 Cấu tạo phương thức làm việc mạng nơron 13 1.2.1 Mạng nơron lớp 15 1.2.2 Mạng nơron truyền thẳng nhiều lớp 16 1.2.3 Mạng nơron phản hồi 17 1.2.4 Mạng nơron hồi quy 17 1.2.5 Mạng Hopfield 17 1.2.6 Mạng BAM 19 1.3 Các luật học 20 1.3.1 Học có giám sát 21 1.3.2 Học củng cố 22 1.3.3 Học giám sát 22 1.4 Thuật toán lan truyền ngược 24 1.5 Kết luận 30 Chương Tìm hiểu mạng nơron Kohonen 32 2.1 Giới thiệu 32 2.2 Mạng nơron Kohonen 33 2.2.1 Mạng nơron Kohonen nhận dạng 35 2.2.2 Cấu trúc mạng nơron Kohonen 35 2.2.3 Chuẩn hóa liệu đầu vào 36 2.2.4 Tính tốn liệu đầu nơron 37 -2- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 2.2.5 Ánh xạ lưỡng cực 37 2.2.6 Chọn nơron thắng 38 2.2.7 Quá trình học mạng Kohonen 39 2.2.8 Tỉ lệ (tốc độ) học 40 2.2.9 Điều chỉnh trọng số (cập nhật trọng số) 41 2.2.10 Tính tốn sai số 41 2.3 Thực thi mạng nơron Kohonen 42 2.3.1 Thực thi mạng nơron truyền thẳng 42 2.3.2 Thực thi lan truyền ngược 47 2.3.3 Các tập huấn luyện 48 2.3.4 Báo cáo tiến trình 49 2.3.4.1 Lớp mạng sở 49 2.3.4.2 Lớp KohonenNetwork 51 2.4 Kết luận 59 Chương Nhận dạng ký tự quang sử dụng mạng nơron Kohonen 61 3.1 Giới thiệu chung 61 3.2 Huấn luyện mạng 62 3.3 Thử nghiệm sử dụng mạng nơron Kohonen để nhận dạng ký tự quang 63 3.4 Trường hợp ngoại lệ 66 3.5 Kết luận 66 KẾT LUẬN 68 Tài tham khảo 69 -3- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com CÁC HÌNH VẼ, BẢNG BIỂU TRONG LUẬN VĂN Hình 1.1 Một nơron sinh học 10 Hình 1.2 Sự liên kết nơron 10 Hình 1.3 Mơ hình nơron nhân tạo 11 Hình 1.4 Đồ thị dạng hàm kích hoạt 13 Hình 1.5 Mạng nơron ba lớp 14 Hình 1.6 Một số dạng mạng nơron 16 Hình 1.7 Cấu trúc mạng Hopfield 18 Hình 1.8 Cấu trúc BAM 19 Hình 1.9: Cấu trúc huấn luyện mạng nơron 20 Hình 1.10: Học có giám sát 22 Hình 1.12: Học khơng có giám sát 22 Hình 1.13: Sơ đồ cấu trúc chung trình học 23 Hình 1.14: Mạng lớp lan truyền ngược 25 Hình 2.1: Một dạng mạng nơron Kohonen 36 Hình 2.2: Sơ đồ khối biểu diễn huấn luyện mạng nơron Kohonen 40 Hình 3.1:Mơ hình chung nhận dạng chữ viết 62 Hình 3.2: Sơ đồ huấn luyện mạng 62 Hình 3.4: Biểu diễn ký tự e theo ma trận 5x7 pixcel 64 Hình 3.5: Biểu diễn ký tự e theo ma trận 5x7 giá trị 64 Hình3.6: Biểu diễn ký tự e vector đầu vào 64 Hình 3.7 Vẽ gán ký tự 65 Hình 3.8 Kết mạng nơron Kohonen nhận dạng ký tự e ký tự c 65 Hình 3.9 Đưa chữ ký vào mạng gán tên 65 Hình 3.10 Kết mạng nơron Kohonen nhận dạng chữ ký 66 THUẬT NGỮ TIẾNG ANH -4- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ANN Mạng nơron cần huấn luyện BAM Mạng BAM (Bidirectional Associative Memory) SOM Mạng nơron tự tổ chức (Self Organizing Maps) PE Phần tử xử lý (Processing Element) OCR Nhận dạng ký tự quang (optical character recognition) Lời cảm ơn Chúng ta biết rằng, não người sản phẩm hoàn hảo tạo hóa, có khả tư sáng tạo Hiện nay, người nghiên cứu -5- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com phương thức hoạt động não, sau áp dụng cho cơng nghệ đại Để tiếp cận khả học, người ta đưa mơ hình mạng nơron gồm nơron liên kết với thành mạng theo cấu trúc mạng thần kinh người Mỗi nơron riêng lẻ có khả xử lý thơng tin yếu, chúng ghép với thành mạng, khả xử lý thông tin mạnh nhiều Mỗi cấu trúc mạng có ưu điểm đặc thù, chúng cho ta công cụ mạnh lĩnh vực kỹ thuật điều khiển kỹ thuật thông tin Một mạng nơron nhân tạo tập hợp số lớn phần tử xử lý (các nút hay khối), thường tổ chức song song cấu hình theo kiến trúc đệ quy Cách ứng sử mạng nơron nhân tạo giống não người, chứng tỏ khả học, nhớ lại, tổng quát hóa từ liệu huấn luyện Mạng nơron nhân tạo công cụ tốt việc giải toán như: hợp phân lớp đối tượng, xấp xỉ hàm, tối ưu hóa, định lượng vector, phân cụm liệu, Nó thay hiệu cơng cụ tính tốn truyền thống để giải tốn Nhận dạng lĩnh vực đóng vai trị quan trọng khoa học kỹ thuật Trong hầu hết vấn đề kỹ thuật ngày nay, ta phải xác định, nhận dạng mơ hình đối tượng liên quan, để từ tìm giải pháp Nhận dạng mơ hình tốn quan trong lý thuyết hệ thống Lý đơn giản khơng thể phân tích, tổng hợp hệ thống khơng có mơ hình tốn học mơ tả hệ thống Trong q trình xây dựng mơ hình hệ thống phương diện lý thuyết, người ta thường không khảo sát ảnh hưởng mơi trường đến tính động học hệ thống, tác động qua lại bên hệ thống cách xác tuyệt đối Rất nhiều yếu tố bị bỏ qua, xem xét đến tác động ngẫu nhiên Bởi vậy, nói cách chặt chẽ hiểu biết lý thuyết ban đầu hệ thống, giúp ta khoanh lớp mơ hình thích hợp Để có mơ hình cụ thể có chất lượng phù hợp với cụ thể toán đặt lớp mơ hình thích hợp đó, phải sử dụng phương pháp nhận dạng Cịn tốn nhận dạng, phân tích phân cụm liệu, toán hay gặp -6- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com thực tế, nhìn thấy vật đó, câu hỏi thường trực người là; vật có máy loại, thuộc loại loại có Để giải toán nhận dạng, người ta đưa vào cách tiếp cận khác nhau, phương pháp tiếp cận tốn cụ thể có ưu, nhược điểm riêng Phương pháp ứng dụng mạng nơron nhận dạng cách tiếp cận đại Nó cơng cụ mạnh để giải toán lĩnh vực Nội dung đề tài vào tìm hiểu xây dựng phần tử nơron bản, xem xét nghiên cứu cấu trúc mạng nơron, giới thiệu mạng nơron nhiều lớp với thuật toán lan truyền ngược Trọng tâm đề tài vào tìm hiểu mạng nơron Kohonen (hay mạng nơron tự tổ chức – SOM) Đề tài gồm ba chương Chương 1, trình bày cấu trúc phần tử nơron bản, cấu trúc mạng nơron nhân tạo thường gặp, thuật toán học, phân tích ưu nhược điểm chúng, giới thiệu thuật tốn lan truyền ngược Chương 2, tìm hiểu mạng nơron Kohonen Chương 3, nhận dạng ký tự quang sử dụng mạng nơron Kohonen Cuối em xin cảm ơn thày cô giáo, đặc biệt PGS.TSKH Bùi Cơng Cường tận tình dẫn cho em suốt thời gian làm đề tài Xin cảm ơn bạn lớp tạo điều kiện cho học tập nghiên cứu môi trường tốt Hà nội, tháng 12 năm 2009 Chương Giới thiệu mạng nơron nhân tạo Học máy ngành khoa học nghiên cứu thuật toán cho phép máy tính học khái niệm -7- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Phân loại: Có hai loại phương pháp học máy  Phương pháp quy nạp: Máy học/phân biệt khái niệm dựa liệu thu thập trước Phương pháp cho phép tận dụng nguồn liệu nhiều sẵn có  Phương pháp suy diễn: Máy học/phân biệt khái niệm dựa vào luật Phương pháp cho phép tận dụng kiến thức chuyên ngành để hỗ trợ máy tính Hiện nay, thuật toán cố gắng tận dụng ưu điểm hai phương pháp Các ngành khoa học liên quan:  Lý thuyết thống kê: kết xác suất thống kê tiền đề cho nhiều phương pháp học máy Đặc biệt, lý thuyết thống kê cho phép ước lượng sai số phương pháp học máy  Các phương pháp tính: thuật tốn học máy thường sử dụng tính tốn số thực/số nguyên liệu lớn Trong đó, tốn như: tối ưu có/khơng ràng buộc, giải phương trình tuyến tính v.v… sử dụng phổ biến  Khoa học máy tính: sở để thiết kế thuật toán, đồng thời đánh giá thời gian chạy, nhớ thuật toán học máy Ứng dụng: Học máy có ứng dụng rộng khắp ngành khoa học/sản xuất, đặc biệt ngành cần phân tích khối lượng liệu khổng lồ Một số ứng dụng thường thấy như:  Xử lý ngôn ngữ tự nhiên: xử lý văn bản, giao tiếp người – máy, …  Nhận dạng: nhận dạng tiếng nói, chữ viết tay, vân tay, thị giác máy (Computer Vision) … -8- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com  Tìm kiếm  Chẩn đốn y tế: phân tích ảnh X-quang, hệ chuyên gia chẩn đoán tự động  Tin sinh học: phân loại chuỗi gene, trình hình thành gene/protein  Vật lý: phân tích ảnh thiên văn, tác động hạt …  Phát gian lận tài (financial fraud): gian lận thẻ tỉn dụng  Phân tích thị trường chứng khốn (stock market analysis)  Chơi trò chơi: tự động chơi cờ, hành động nhân vật ảo  Rôbốt: tổng hợp nhiều ngành khoa học, học máy tạo nên hệ thần kinh/bộ não người máy  Các nhóm giải thuật học máy: Học có giám sát, học không giám sát, học nửa giám sát, học tăng cường,… 1.1 Cấu trúc mơ hình mạng nơron 1.1.1 Mơ hình nơron sinh học Phần tử xử lý mạng nơron sinh học nơron, phần tử chia làm bốn thành phần sau: dendrites, soma, axon, synapses - Dendrites: phần nhận tín hiệu đầu vào - Soma: hạt nhân - Axon: phần dẫn tín hiệu xử lý - Synapses: đường tín hiệu điện hóa giao tiếp nơron Kiến trúc sở não người có vài đặc tính chung Một cách tổng qt, nơron sinh học nhận đầu vào từ nguồn khác nhau, kết hợp chúng với nhau, thực thi tổ hợp phi tuyến chúng kết cuối đầu Hình 1.1 mối quan hệ bốn phần tử nơron sinh học -9- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 1.1 Một nơron sinh học Một nơron sinh học có số chức vậy, ta nhận thấy khả xử lý thơng tin yếu Để có khả xử lý thơng tin hồn hảo não người, nơron phải kết hợp trao đổi thông tin với Ta hình dung sơ đồ liên kết, trao đổi thơng tin hai nơron hình 1.2 Hình 1.2 Sự liên kết nơron 1.1.2 Cấu trúc mô hình nơron nhân tạo Mơ hình tốn học mạng nơron sinh học đề xuất McCulloch Pitts, thường gọi nơron M-P, cịn gọi phần tử xử lý ký hiệu PE (Processing Element) Mơ hình nơron có m đầu vào x1, x2, , xm, đầu yi sau: - 10 - LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Phương thức thường xuyên sử dụng ta muốn đưa mẫu tới mạng nơron để phân loại Còn phương thức “thử” mà vừa xem xét sử dụng huấn luyện mạng Khi huấn luyện, quan tâm đến liệu đầu nơron Trái lại, phân loại mẫu quan tâm đến nơron thắng Phương thức winner lặp qua nơron đầu tính tốn liệu đầu cho nơron riêng biệt Trong trình lặp số nơron lưu lại Chỉ số nơron có giá trị đầu cao Nơron có số cao gọi nơron thắng Nơron thắng trả tập mẫu để tiếp tục tham gia vào trình huấn luyện Bây bắt đầu xem xét trình huấn luyện Phương thức training danh sách 2.17 Danh sách 2.17: Huấn luyện mạng nơron (KohonenNetwork.java) /** * @exception java.lang.RuntimeException */ public void learn () throws RuntimeException { int i, key, tset,iter,n_retry,nwts; int won[],winners ; double work[],correc[][],rate,best_err,dptr[]; double bigerr[] = new double[1] ; double bigcorr[] = new double[1]; KohonenNetwork bestnet; // Preserve best here totalError = 1.0 ; bestnet = new KohonenNetwork(inputNeuronCount,outputNeuronCount,owner) ; won = new int[outputNeuronCount]; correc = new double[outputNeuronCount][inputNeuronCount+1]; if ( learnMethod==0 ) work = new double[inputNeuronCount+1]; else work = null ; rate = learnRate; initialize () ; best_err = 1.e30 ; // Vịng lặp chính: n_retry = ; for ( iter=0 ; ; iter++ ) { evaluateErrors ( rate , learnMethod , won , bigerr , correc , work ) ; totalError = bigerr[0] ; if ( totalError < best_err ) { best_err = totalError ; copyWeights ( bestnet , this ) ; - 55 - LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com } winners = ; for ( i=0;i retries ) break ; initialize () ; iter = -1 ; rate = learnRate ; continue ; } if ( rate > 0.01 ) rate *= reduction ; } // Hoàn thành copyWeights( this , bestnet ) ; for ( i=0 ; i

Ngày đăng: 02/11/2022, 14:50

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

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

Tài liệu liên quan