1. Trang chủ
  2. » Luận Văn - Báo Cáo

Mạng nơron và ứng dụng

52 399 0

Đ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

Nội dung

3 Luận văn: Mạng nơron và ứng dụng 4 MỤC LỤC LỜI CẢM ƠN Error! Bookmark not defined. MỤC LỤC 4 I. LÍ DO CHỌN ĐỀ TÀI 6 II. MỤC ĐÍCH NGHIÊN CỨU 6 III. NHIỆM VỤ NGHIÊN CỨU 7 IV. PHƯƠNG PHÁP NGHIÊN CỨU 7 Chương I: TỔNG QUAN VỀ MẠNG NƠRON 8 I. BỘ NÃO VÀ NEURON SINH HỌC 8 1.1 Bộ não người 8 1.2 So sánh bộ não người và máy tính 10 II. NEURON NHÂN TẠO 11 2.1 Mô hình neuron tổng quát 11 2.2 Mô hình Single - Input Neuron 12 2.3 Mô hình Multiple - Input Neuron 13 2.4 Một số hàm chuyển thường dùng 13 III. MẠNG NƠRON 16 3.1 Huấn luyện mạng 17 3.2 Mạng nơron một lớp 19 3.3 Mạng nơron nhiều lớp 20 Chương II: MỘT SỐ MÔ HÌNH MẠNG NƠRON 23 I. MẠNG PERCEPTRON 23 1.1 Kiến trúc mạng 23 1.2 Huấn luyện mạng 24 1.3 Sử dụng mạng 25 II. MẠNG HOPFIELD (HF) 28 2.1 Kiến trúc mạng 28 2.2 Huấn luyện mạng 29 2.3 Sử dụng mạng 30 5 III. MẠNG NƠRON SỬ DỤNG THUẬT TOÁN HỌC CÓ THẦY HEBBIAN 31 3.1 Kiến trúc mạng 31 3.2 Huấn luyện mạng 31 3.3 Sử dụng mạng 33 IV. MẠNG NƠRON NHIỀU LỚP SỦ DỤNG THUẬT TOÁN BACKPROPAGATION 33 4.1 Kiến trúc mạng 33 4.2 Huấn luyện mạng 34 4.3 Sử dụng mạng 35 Chương 3: CÀI ĐẶT MINH HOẠ MỘT SỐ MẠNG NƠRON 37 I. BÀI TOÁN KHÁM BỆNH TRONG Y HỌC 37 1.1 Mô tả thuật toán và thiết kế mạng Nơron 37 1.2 Kết quả và đánh giá 39 1.3 Chương trình minh hoạ 43 II. BÀI TOÁN NHẬN DẠNG KÍ TỰ 47 2.1 Mô tả thuật toán và thiết kế mạng Nơron 48 2.2 Kết quả đánh giá 48 2.3 Chương trình minh hoạ 49 KẾT LUẬN 53 TÀI LIỆU THAM KHẢO 54 6 LỜI NÓI ĐẦU I. LÍ DO CHỌN ĐỀ TÀI Mạng nơron được bắt đầu nghiên cứu vào những năm 1940, trải qua nhiều giai đoạn thăng trầm ngày nay việc nghiên cứu, thiết kế mạng nơron mô phỏng theo những khả năng của não bộ đã và đang phát triển một cách mạnh mẽ và đem lại nhiều kết quả to lớn. Rất nhiều nhà khoa học đang tập trung vào nghiên lĩnh vực này và những thành tựu của nó đem lại đã và đang ảnh hưởng sâu sắc tới nhiều lĩnh vực trong đời sống xã hội và trong khoa học: Khám bệnh bằng máy trong y học, nhận dạng chữ viết, xử lý ảnh, … Việc thiết kế mạng nơron là kết quả của việc kết hợp công nghệ thông tin với một lĩnh vực khoa học khác như: Toán học, y học, … và nghiên cứu của nó được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau: kỹ thuật người máy, các chương trình trò chơi, xử lý ngôn ngữ tự nhiên… Mạng nơron đã và đang đặt ra nhiều triển vọng về khả năng chế ngự thế giới. Vì vậy, việc tìm hiểu về mạng nơron là rất cần thiết với một sinh viên thuộc chuyên ngành tin. Được sự đồng ý của Hội đồng khoa học của Khoa Toán và sự hướng dẫn của Thầy giáo - Thạc sĩ Nguyễn Văn Trường, tôi đã lựa chọn đề tài “Mạng nơron và học mạng nơron" làm đề tài nghiên cứu. Đề tài gồm những nội dung chính:  Tổng quan về mạng nơron.  Giới thiệu một số mạng nơron cơ bản.  Cài đặt minh họa một số mạng nơron. II. MỤC ĐÍCH NGHIÊN CỨU Với đề tài này mục đích nghiên cứu của tôi là: - Nắm được mô hình mạng nơron, biết cách sử dụng các mô hình mạng nơron để áp dụng vào một số bài toán thực tế. - Áp dụng mô hình mạng nơron để giải quyết một số bài toán thực tế. 7 - Nhằm tích lũy thêm kiến thức cho bản thân, nâng cao trình độ nhận thức mở rộng vốn hiểu biết cho mình. III. NHIỆM VỤ NGHIÊN CỨU Để cho quá trình nghiên cứu đạt kết quả cao tôi phải tiến hành nghiên cứu những vấn đề sau đây: - Tổng quan về mạng nơron và một số mô hình cơ bản (Mạng nơron một lớp, mạng nơron nhiều lớp, mạng nơron một đầu vào và mạng nơron một giá trị vào và mạng nơron nhiều giá trị vào…). - Các mô hình mạng nơron phổ biến. IV. PHƯƠNG PHÁP NGHIÊN CỨU Để tiến hành nghiên cứu đề tài này, chúng tôi đã sử dụng phối hợp một số phương pháp sau: - Phương pháp nghiên cứu tài liệu: nghiên cứu tài liệu mạng nơron. - Xây dựng chương trình thông qua các mô hình mạng nơron. - Phương pháp lấy ý kiến chuyên gia. 8 Chương 1 TỔNG QUAN VỀ MẠNG NƠRON I. BỘ NÃO VÀ NEURON SINH HỌC 1.1 Bộ não người Từ giữa thế kỉ XVIII người ta đã xác định được rằng bộ não thực sự đóng vai trò quan trọng bậc nhất trong hoạt động nhận thức. Các nhà nghiên cứu sinh học về bộ não cho ta biết rằng các neurons (tế bào thần kinh) là đơn vị cơ sở đảm nhiệm những chức năng xử lý nhất định trong hệ thần kinh bao gồm não, tuỷ sống và các dây thần kinh. Mỗi neuron có phần thân với nhân bên trong (gọi là soma), một đầu thân kinh ra (gọi là trục axon) và một hệ thống dạng cây các dây thần kinh vào (gọi là dendrite). Các dây thần kinh tạo thành một lưới dày đặc xung quanh thân tế bào, chiếm diện tích khoảng 0.25 mm 2 , còn dây thần kinh ra tạo thành trục dài có thể từ 1 cm cho đến hàng mét. Đường kính của nhân tế bào thường chỉ là 10 -4 m. Trục dây thần kinh ra cũng có thể phân nhánh theo dạng cây để nối với các dây thần kinh vào hoặc trực tiếp với nhân tế bào các neurons khác thông qua các khớp nối (gọi là synapse). Thông thường, mỗi neuron có thể gồm vài chục cho tới hàng trăm ngàn khớp nối để nối với các neurons khác. Người ta ước lượng rằng lưới các dây thần kinh ra cùng với các khớp nối bao phủ diện tích khoảng 90% bề mặt neuron Nhân Trục từ các neuron khác Khớp nối Soma dendrite Đầu trục thần kinh 9 Các tín hiệu truyền trong các dây thần kinh vào và dây thần kinh ra của các neurons là tín hiệu điện và được thực hiện thông qua các quá trình phản ứng và giải phóng các chất hữu cơ. Các chất này được phát ra từ các khớp nối dẫn tới các dây thần kinh vào sẽ làm tăng hay giảm điện thế của nhân tế bào. Khi điện thế này đạt tới một ngưỡng nào đó, sẽ tạo ra một xung điện dẫn tới trục dây thần kinh ra. Xung này được truyền theo trục, tới các nhánh rẽ khi chạm tới các khớp nối với các neurons khác sẽ giải phóng các chất truyền điện. Người ta chia làm hai loại khớp nối: Khớp nối kích thích (excitatory) và khớp nối ức chế (inhibitory). Phát hiện quan trọng nhất trong ngành nghiên cứu về bộ não là các liên kết khớp thần kinh khá mềm dẻo, có thể biến động và chỉnh đổi theo thời gian tuỳ thuộc vào các dạng kích thích. Hơn nữa, các neurons có thể sản sinh các liên kết mới với các neurons khác và đôi khi, lưới các neurons có thể di trú từ vùng này sang vùng khác trong bộ não. Các nhà khoa học cho rằng đây chính là cơ sở quan trọng để giải thích cơ chế học của bộ não con người. Phần lớn các quá trình xử lý thông tin đều xảy ra trên vỏ não. Toàn bộ vỏ não được bao phủ bởi mạng các tổ chức cơ sở có dạng hình thùng tròn với đường kính khoảng 0.5 mm, độ cao 4 mm. Mỗi đơn vị cơ sở này chứa khoảng 2000 neurons. Người ta chỉ ra rằng mỗi vùng não có những chức năng nhất định. Năm 1861, Prerre Paul Broca đã chỉ ra rằng phần vỏ não phía trước bên trái điều khiển khả năng nói và sự phát triển ngôn ngữ, bán cầu đại não trái chịu trách nhiệm xử lý thông tin nhận thức theo những quy trình thuật giải nhất định, còn bán cầu đại não phải gắn với các xử lý thông tin tiềm thức phi thuật giải như linh cảm, linh tính… Các nghiên cứu thực nghiệm còn chứng tỏ rằng các liên kết giữa các vùng não với các bộ phận cơ thể có thể thay đổi và đối với một số động vật cao cấp các liên kết kiểu này có thể ở dạng kép. Điều đáng ngạc nhiên chính là các neurons rất đơn giản trong cơ chế làm việc, nhưng mạng các neurons liên kết với nhau lại có khả năng tính toán, suy nghĩ, ghi nhớ và điều khiển 10 Có thể điểm qua những chức năng cơ bản của bộ não: 1. Bộ não được tổ chức theo các bó thông tin và truy nhập theo nội dung (Có thể truy xuất thông tin dựa theo giá trị các thuộc tính của đối tượng) 2. Bộ não có khả năng tổng quát hoá, có thể truy xuất các tri thức hay các mối liên kết chung của các đối tượng tương ứng với một khái niệm chung nào đó 3. Bộ não có khả năng dung thứ lỗi theo nghĩa có thể điều chỉnh hoặc tiếp tục thực hiện ngay khi có những sai lệch do thông tin bị thiếu hoặc không chính xác. Ngoài ra, bộ não còn có thể phát hiện và phục hồi các thông tin bị mất dựa trên sự tương tự giữa các đối tượng. 4. Bộ não có khả năng xuống cấp và thay thế dần dần. Khi có những trục trặc tại các vùng não (do bị bệnh, chấn thương) hoặc bắt gặp những thông tin hoàn toàn mới lạ, bộ não vẫn có thể tiếp tục làm việc. 5. Bộ não có khả năng học 1.2 So sánh bộ não người và máy tính So sánh khả năng làm việc của bộ não và máy tính Máy tính Bộ não người Đơn vị tính toán 1 bộ xử lý trung tâm với 10 5 mạch logic cơ sở Mạng 10 11 neurons Bộ nhớ 10 9 bit RAM 10 10 bit bộ nhớ ngoài 10 11 neurons với 10 14 khớp nối thần kinh Thời gian xử lý 10 -8 giây 10 -3 giây Thông lượng 10 9 bit/giây 10 14 bit/giây Cập nhật thông tin 10 5 bit/giây 10 14 neurons/giây 11 Dễ dàng thấy rằng bộ não con người có thể lưu giữ một lượng lớn thông tin. Về khả năng tính toán thì các bộ vi xử lý có thể tính 10 8 lệnh trong một giây, trong khi đó mạng nơron xử lý chậm hơn, cần khoảng vài miligiây để kích hoạt. Tuy nhiên bộ não có thể kích hoạt hầu như cùng một lúc tại rất nhiều neurons và khớp nối, trong khi đó ngay cả những máy tính hiện đại nhất cũng chỉ có một số hạn chế các bộ vi xử lý song song. Nếu chạy một mạng nơron nhân tạo trên máy tính, phải tốn hàng trăm lệnh để máy kiểm tra một neuron có được kích hoạt hay không (tiêu phí khoảng 10 -8 x10 2 giây/neuron). Do đó, dẫu bộ vi xử lý có thể tính toán nhanh hơn hàng triệu lần so với các neurons bộ não, nhưng xét tổng thể bộ não lại tính toán nhan hơn hàng tỷ lần. Cách tiếp cận mạng nơron nhân tạo có ý nghĩa thực tiễn rất lớn cho phép tạo ra các thiết bị có thể kết hợp khả năng xử lý song song cao của bộ não với tốc độ tính toán cao của máy tính. Tuy vậy, cần phải có một khoảng thời gian dài nữa để các mạng nơron nhân tạo mô phỏng được các hành vi sáng tạo của con người. Chẳng hạn, bộ não có thể thực hiện một nhiệm vụ khá phức tạp như nhận ra khuôn mặt người quen sau không quá 1 giây, trong khi đó một máy tính tuần tự phải thực hiện hàng tỷ phép tính (khoảng 10 giây) để thực hiện cùng thao tác đó, nhưng với chất lượng kém hơn nhiều, đặc biệt trong trường hợp thông tin không chính xác, không đầy đủ. II. NEURON NHÂN TẠO 2.1 Mô hình neuron tổng quát 12 Mỗi neuron được nối với các neurons khác và nhận được các tín hiệu s j từ chúng với các trọng số w j . Tổng các thông tin vào có trọng số là:   jj swNet Người ta gọi đây là thành phần tuyến tính của neuron. Hàm kích hoạt g (còn gọi là hàm chuyển) đóng vai trò biến đổi từ Net sang tín hiệu ra Out. Out=g(Net) Đây là thành phần phi tuyến của neuron Đây là mô hình chung cho tất cả các neuron nhân tạo 2.2 Mô hình Single - Input Neuron Với mô hình này, đầu vào của neuron là vectơ p gồm một thành phần. Sơ đồ mô tả một Single - Input Neuron được cho bởi hình dưới.  f w b n a p Inputs General Neuron a=f(Wp+b) Single - Input Neuron Tích vô hướng của giá trị input p với trọng số w là wp, một trong số những số hạng này sẽ được đưa đến vùng tính tổng trọng số. Giá trị input khác là b cũng được gửi đến vùng tính tổng trọng số. Giá trị Output của vùng này là n=Wp+b là giá trị input của hàm chuyển, nó sẽ tạo ra giá trị neuron output a là kết quả của phép tính: a = f(wp+b) Nếu ta có w = 3, p = 2, b = -1.5 thì [...]... tương ứng với một lần cho X(t) lan truyền trong mạng Khi đó Y(t) = out(t) = Tính(HF, X(t)) Nếu Y(t)  X(t) thì dừng và khi đó X(t) được coi là kết quả xử lý của mạng khi có tín hiệu vào X Điểm chú ý quan trọng là ma trận W không thay đổi trong quá trình sử dụng mạng Khi sử dụng mạng HF ta cũng cần chú ý một vài tình huống xảy ra: 30 1) Mạng không hội tụ 2) Mạng hội tụ và X(t) = X 3) Mạng hội tụ và X(t)... gồm nhiều lớp, Output của lớp này là Input của lớp tiếp theo 20 Mạng nơron nhiều lớp hoạt động hiệu quả hơn mạng nơron một lớp Ví dụ như mạng nơron hai lớp, lớp thứ nhất sử dụng hàm sigmoid và lớp thứ hai sử dụng hàm linear có thể huấn luyện gần như chính xác hầu hết các hàm nhưng mạng một lớp thì không thể 1.2.3 Mạng nơron hồi quy Mạng nơron hồi quy cho phép các liên kết neuron tạo thành chu trình... học và sẽ được dùng để cập nhật ma trận trọng số III MẠNG NƠRON SỬ DỤNG THUẬT TOÁN HỌC CÓ THẦY HEBBIAN 3.1 Kiến trúc mạng Thuật toán học mạng Hebbian thường được sử dụng trong mạng một lớp truyền thẳng với hàm chuyển là hàm linear Xét mạng một lớp có đầu vào là vectơ p Đầu ra a của mạng tương ứng với đầu vào p được tính bởi công thức: a = Wp (3.1) hay Q a i   wij p j (3.2) j 1 3.2 Huấn luyện mạng. .. neuron lớp trên Ở đây cũng không cho phép các liên kết neuron nhảy qua một lớp Căn cứ theo số lớp mạng ta có mạng nơron một lớp và mạng nơron nhiều lớp Hình dưới mô tả một mạng nơron nhiều lớp - Mỗi một lớp mạng bao gồm ma trận trọng số, tổng trọng số, đại lượng b và hàm chuyển f 3.1 Huấn luyện mạng Mạng nơron như một hệ thống thích nghi có khả năng học (huấn luyện) để tinh chỉnh các trọng số liên kết... tương ứng với số hạng pkjpki nếu cả hai thành phần thứ i và thứ j của mẫu học Pi bằng nhau Khi có mẫu học mới PS+1 ta chỉ cần xét các thành phần thứ i và thứ j của nó để cập nhật giá trị cho wji Có thể chứng minh được với ma trận W được xác định như trên mạng sẽ học được các ví dụ mẫu Pi 2.3 Sử dụng mạng Giả sử đưa vào mạng vectơ tín hiệu X Sử dụng mạng để tính đầu ra tương ứng với tín hiệu vào X là... huấn luyện mạng phụ thuộc vào nhiều yếu tố: Số neuron trên một lớp, số lớp mạng, hệ số tập huấn, hệ số lặp… Trong 3 loại kĩ thuật học mạng tôi chỉ chú trọng giới thiệu kĩ thuật học có giám sát vì đây là loại kĩ thuật học mạng được sử dụng chủ yếu hiện nay và sẽ được sử dụng trong việc giải quyết các bài toán mà tôi sẽ giới thiệu trong chương 3 3.2 Mạng nơron một lớp Đây là mô hình mạng nơron đầu tiên... tối và một vectơ input có mục tiêu là 1 được biểu diễn bởi Đây là một vấn đề hết sức đơn giản, và chúng ta gần như có thể đạt được một đáp án chuẩn Điều này dễ dàng thực hiện với thuật toán huấn luyện mạng perceptron Mạng nơron thiết kế để giải quyết vấn đề này có hai input và một output Để đơn giản cho việc hiểu thuật toán huấn luyện mạng, chúng ta sẽ sử dụng mạng nơron không có tham số b Mạng nơron. .. đối số có giá trị 1 và 0 trong trường hợp ngược lại Mạng Perceptron tương ứng được xây dựng với các trọng số liên kết wi = -1 và ngưỡng  = -n/2 Mô hình mạng này tôi sẽ kết hợp với mô hình mạng sử dụng thuật toán học mạng Hebbian trong bài toán nhận dạng kí tự ở chương 3 II MẠNG HOPFIELD (HF) Mạng Hopfield được nhà vật lý người Mỹ J.J Hopfield đề xuất năm 1982 Đây là mô hình mạng nơron một lớp hồi quy... chuyển được lựa chọn nhằm giải quyết một vài vấn đề đã được định rõ mà neuron đang cố gắng giải quyết Có rất nhiều hàm chuyển được sử dụng trong các mạng nơron hiện nay Ở đây tôi xin giới thiệu một vài hàm chuyển được sử dụng nhiều trong thiết kế 13 mạng Đây cũng là những hàm chuyển mà tôi sẽ sử dụng để thiết kế mạng nơron giải quyết các bài toán nhận dạng và bài toán khám sức khoẻ trong y học Các... sẽ được ứng dụng trong thiết kế mạng nơron giải quyết bài toán nhận dạng kí tự 2.4.2 Hàm chuyển Linear Hàm chuyển là hàm chuyển cho giá trị output bằng input a=n Nó có công thức: a = purelin(n) Hàm chuyển này được sử dụng trong các mạng nơron sử dụng thuật giải huấn luyện mạng ADALINE Hình dưới biểu diễn đồ thị của hàm chuyển 14 linear, biểu tượng và đồ thị của một Single - Input Neuron sử dụng hàm . về mạng nơron và một số mô hình cơ bản (Mạng nơron một lớp, mạng nơron nhiều lớp, mạng nơron một đầu vào và mạng nơron một giá trị vào và mạng nơron nhiều giá trị vào…). - Các mô hình mạng nơron. mạng 23 1.2 Huấn luyện mạng 24 1.3 Sử dụng mạng 25 II. MẠNG HOPFIELD (HF) 28 2.1 Kiến trúc mạng 28 2.2 Huấn luyện mạng 29 2.3 Sử dụng mạng 30 5 III. MẠNG NƠRON SỬ DỤNG THUẬT TOÁN HỌC CÓ. Kiến trúc mạng 31 3.2 Huấn luyện mạng 31 3.3 Sử dụng mạng 33 IV. MẠNG NƠRON NHIỀU LỚP SỦ DỤNG THUẬT TOÁN BACKPROPAGATION 33 4.1 Kiến trúc mạng 33 4.2 Huấn luyện mạng 34 4.3 Sử dụng mạng 35

Ngày đăng: 23/07/2014, 18:16

TỪ KHÓA LIÊN QUAN

w