Xem mẫu

  1. J NHÀ XUẤT BẢN BÁCH KHOA - HÀ NỘI
  2. PGS. TSKH. TRÀN HOÀI LINH MẠNG NƠ-RÔN VÀ ỦNG DỤNG TRONG x ử LÝ TÍN HIỆU NHÀ XUÁT BẢN BÁCH KHOA - HÀ NỘI
  3. Bán quyền thuộc về trường Đại học Bách Khoa Hà Nội. Mọi hình thức xuất bản, sao chép mà không có sự cho phép bằng văn bàn của trường là vi phạm pháp luật. Mã sổ: 22 - 2014/CXB/42 - 80/BKHN Biên mục trẽn xuất bản phám của Thư viện Quốc gia Việt Nam Trần Hoài Linh Mạng nơ-rôn và ứng dụng trong xử iý tín hiệu/Trần Hoài Linh. - H. : Bách khoa Hà Nội, 2014. - 204tr. ; 24cm Thư mục: tr. 198 ISBN 978-604-911-627-8 1. Mạng thần kinh nhân tạo 2. ứng dụng 3. Xử lý tín hiộu 4. Giáo trình 006.3 -d c 14 BKF0037p-ClP 2
  4. LỜI NÓI ĐÀU Cuốn giáo trình Mạng nơ—rôn và ứng dụng trong x ử lý tín hiệu được sử dụng để giảng dạy môn học cùng tên cho sinh viên ngành Điện của trường Đại học Bách Khoa Hà Nội. Cuốn sách bao gồm 8 chưcmg, trinh bày một số kiến thức cơ bản về một chuyên ngành tương đối mới của ngành Trí tuệ nhân tạo là các mạng nơ-rôn nhân tạo và một sổ khả năng ứng dụng thực tế của các công cụ mạng nơ-rôn nhân tạo trong các bài toán xứ lý tín hiệu thực tế. Chương 1 giới thiệu một số khái niệm cơ bản trong chuyên ngành mạng nơ-rôn nhân tạo và điểm qua về quá trình phát triển của chuyên ngành này. Chương 2 và chương 3 trình bày về mô hình toán học mô phỏng nơ-rôn và mạng nơ-rôn truyền thẳng. Chương 4 giới thiệu qua về khái niệm mạng nơ-rôn có phản hồi và một số mạng hoạt động theo mô hỉnh này. Chương 5 tóm tắt về nguyên tắc xây dựng mô hình theo thuật toán tự tổ chức và mạng Kohonen hoạt động theo nguyên tắc đó. Chương 6 tóm tắt các ý tưởng chính của lô-gic mờ và mạng nơ-rôn lô-gic mờ. Một số các ứng dụng thực tế gồm các bài toán dự báo, ước lượng, xứ lý thông tin ảnh,... được trình bày trong chương 7. Chương 8 giới thiệu một số giải pháp mạch tích hợp mô phòng nơ-rôn và mạng nơ-rôn. Thông qua giáo trinh, hy vọng người đọc có thể tìm hiểu và nắm được các ý tường chính về mạng nơ-rôn nhân tạo, từ đó cỏ thể triển khai ứng dụng các công cụ này trong các bài toán xử lý tín hiệu phức tạp khi mà các công cụ kinh điển tỏ ra không hiệu quả. Trong lần xuất bản đầu tiên, giáo trình không thể tránh khỏi các sai sót. Tác già rất mong nhận được các ý kiến đóng góp cùa bạn đọc. Các ý kiến xin gừi về Bộ môn Kỹ thuật đo và Tin học công nghiệp, Viện Điện, trường Đại học Bách Khoa Hà Nội. Xin chân thành cảm ơn. Tác giá Kính tặng ồ ng Bà nội - ngoại cùa các cháu, Tặng Em và các Con thương yêu! 3
  5. MỤC LỤC LỜI NỎIĐẰU................................................................................................................. 3 CHƯƠNG 1. MỘT SỐ CÁC KHÁI NIỆM c ơ B Ả N.................................................. 7 1.1. Vị trí của chuyên ngành mạng nơ-rỏn và ứng dụng trong xử lý tín hiệu......................................................................................................... 7 1.2. Theo dòng lịch sử..................................................................................... 12 1.3. Các quá trinh CO’ bản cùa mạng no>-rôn.............................................. 18 1.3.1. Quá trinh học................................................................................... 18 1.3.2. Quá trinh kiểm tra............................................................................ 19 1.4. Các ứng dụng của mạng no>-rỏn.......................................................... 19 CHƯƠNG 2. MÔ HÌNH NƠ-RỎN.............................................................................22 2.1. No>-rôn sinh học và mô hình toán học của no>-rôn nhản tạo...........22 2.1.1. Bộ não con người............................................................................22 2.1.2. Mô hình nơ-rôn nhân tạo cùa McCulloch - Pitts......................... 24 2.1.3. Các dạng hàm truyền đạt chính khác........................................... 27 2.1.4. Ví dụ tinh toán đáp ứng đầu ra của nơ-rỏn với các hàm truyền đạt khác nhau......................................................................29 2.2. Các quá trình học và kiểm tra cùa no>-rôn............................................ 30 2.2.1. Quá trình học cùa nơ-rôn.............................................................. 30 2.2.2. Thuật toản học có hướng dẫn của nơ-rôn...................................33 2.2.3. Một số phương pháp nâng cao chất lượng cùa quá trình học sử dụng gradient.............................................................................41 2.2.4. Quá trình kiểm tra mạng nơ-rôn và khổ năng tổng quát hóa....... 46 CHƯƠNG 3. MÓ HỈNH MẠNG PERCEPTRON MLP VÀ CÁC THUẠT TOÁN HOẠT ĐỌNG........................... 49 3.1. No>-rôn và mạng no>-rôn nhân tạ o ........................................................ 49 3.2. Các cấu trúc mạng no>-rôn......................................................................50 3.3. Cấu trúc mạng MLP.................................................................................. 52 3.4. Quá trinh học cùa mạng MLP................................................................. 55 3.5. Thuật toán học theo bước giảm cực đại cho mạng M LP.............. 58 3.6. Thuật toán Levenberg - Marquardt....................................................... 59 3.7. Thuật toán học cùa Hebb.........................................................................59 4
  6. 3.8. Vần đề mạng học quá khớp (overtitting) và mạng học không đủ (undertitting).............................................................................................61 3.9. Ví dụ minh họa ứng dụng....................................................................... 68 CHƯƠNG 4. MẠNG CÓ PHÁN HỒI....................................................................... 71 4.1. Mạng RM LP...............................................................................................71 4.1.1. Cấu trúc cùa mạng RMLP..............................................................71 4.1.2. Thuật toán học cùa mạng RMLP...................................................73 4.1.3. Ví dụ ứng dụng mạng RMLP.........................................................74 4.2. Mạng ELMAN.............................................................................................77 4.2.1. Cấu trúc của mạng Elman..............................................................77 4.2.2. Thuật toán học cùa mạng Elman...................................................79 4.2.3. Ví dụ ứng dụng mạng Elman.........................................................81 4.3. Mạng R TR N ............................................................................................... 84 4.3.1. Cấu trúc mạng RTRN..................................................................... 84 4.3.2. Thuật toán học của mạng RTRN...................................................85 4.3.3. Ví dụ ứng dụng mạng RTRN.........................................................86 4.4. Mạng HOPFIELD.......................................................................................89 4.4.1. Cấu trúc cùa mạng Hopíield...........................................................89 4.4.2. Thuật toán học của mạng Hoptield................................................91 4.4.3. Ví dụ áp dụng................................................................................. 93 4.5. Mạng HAMMING........................................................................................95 4.5.1. Cấu trúc mạng Hamming...............................................................95 4.5.2. Ví dụ minh họa............................................................................... 97 4.6. Mạng BA M ............................................................................................... 100 4.6.1. cáu trúc của mạng BAM....... ....... 100 4.6.2. Thuật toán học của mạng BAM....................................................101 4.6.3. Ví dụ minh họa..............................................................................102 CHƯƠNG 5. CÁC MẠNG HOẠT ĐỌNG THEO NGUYÊN TÁC Tự TỐ CHỨC.105 5.1. Mạng KOHONEN.....................................................................................105 5.2. Quá trình học của mạng KOHONEN....................................................111 5.2.1. Các thuật toán phân nhóm trực tuyến.........................................111 5.2.2. Thuật toán phân nhóm ngoại tuyến............................................114 5.3. Ví dụ ứng dụng mạng KOHONEN........................................................ 121 5.3.1. Xác định mẫu cho số liệu hai chiều..............................................121 5.3.2. Xác định mẫu cho số liệu đa chiều..............................................123 5
  7. CHƯƠNG 6. LÔ-GIC MỜ VÀ MẠNG NƠ-RÒN LÔ-GIC M Ờ .......................... 125 6.1. Khái niệm lô-gic m ờ .............................................................................. 125 6.2. Biều thức lô-gic mờ............................................................................... 127 6.2.1. Một số toán tử mờ cơ bản.............................................................127 6.2.2. Các toán tử cơ bản trong lô—gic m ờ............................................ 130 6.3. Quy tắc suy luận mờ và giá trị cùa quy tắc suy luận mờ................135 6.4. Tinh đáp ứng trong trường hợp hệ nhiễu quy tắc suy luận m ờ .... 137 6.5. Một số mạng nơ-rôn lò-gic mờ...........................................................139 6.5.1. Mô hình mạng Mamdani/RBF.......................................................140 6.5.2. Mô hình mạng TS K ....................................................................... 147 CHƯƠNG 7. MỘT SỐ ỨNG DỤNG THỰC TẾ CÙA MẠNG NƠ -RÓN..............165 7.1. Bài toán nhận dạng ảnh......................................................................... 165 7.2. Bài toán dự báo đình và đáy đồ thị phụ tải điện 24h......................... 167 7.3. Bài toán ước lượng trữ lượng gió....................................................... 170 7.4. Nhận dạng tín hiệu điện tâm dồ....................... ................................... 174 7.5. Bài toán phân loại các thành phần ừong hỗn họp khi............................. 178 CHƯƠNG 8. CÁC GIẢI PHÁP MẠCH MÔ PHỎNG NƠ-RÔN VÀ MẠNG NƠ-RỐN ...........................................................................................181 8.1. Giới thiệu chung..................................................................................... 181 8.2. Một số mõ hình mạch mô phòng các khối no>-rôn cơ bản..............182 8.2.1. Các khối nơ-rôn của mạng truyền thẳng....................................182 8.2.2. Mạch analog mô phỏng hoạt động cùa nơ-rôn Kohonen (mạng SOM).................................................................................. 187 8.3. Một số mạch tích hợp mỏ phỏng nơ-rôn và mạng no^-rôn............189 8.3.1. Micro Devices MD1220.................................................................191 8.3.2. NLX-420 Neural Processor Slice................................................. 191 8.3.3. MT19003 NISP Neural Instruction Set Processor....................... 191 8.3.4. 80170NW ETANN......................................................................... 191 8.3.5. NeuroClassifier.............................................................................. 192 8.3.6. Các card PC Accelerator và Neurocomputers............................ 192 TÀI LIỆU THAM KHẢO.............................................................................................198 6
  8. Chương 1 MỘT SỐ CÁC KHÁI NIỆM c ơ BẢN Trong chương này sẽ giới thiệu cho người đọc về vai trò, vị trí và các khả năng ứng dụng thực tế của chuyên ngành mạng nơ-rôn nhân tạo. Đồng thời một số mốc lịch sử trong quá trình của các mạng nơ-rôn cũng sẽ được điềm qua. 1.1. VỊ TRÍ CÙA CHUYẾN NGÀNH MẠNG NƠ-RÔN VÀ ỨNG DỤNG TRONG Xử LÝ TÍN HIỆU Xử lý thông tin (Information Processing) là một trong những nhiệm vụ cơ bản của gần như mọi lĩnh vực, xuất hiện gần như trong mọi vấn đề, bài toán. Nhìn chung để mô tả và xử lý các vấn đề, ta đều cần có thông tin đầu vào, yêu cầu về thông tin đầu ra và cách thúc chuyến đổi từ thông tin đầu vào thành thông tin đầu ra. Đặc biệt là từ khi bắt đầu xuất hiện các máy tính điện tử, với tốc độ tính toán càng ngày càng được nâng cao cũng như mật độ phần tử tích hợp thì sự tham gia của máy tính trong các quá trình hỗ trợ phân tích thông tin, đánh giá và lựa chọn giải pháp cho con người ngày càng phổ biến. Các máy tính và các hệ thống máy tính hiện nay có những khả năng tính toán cực lớn, thực hiện được những khối lượng công việc mà con người không thể nào đảm nhiệm trong thời gian ngắn. Đồng thời mức độ tích hợp của các máy tính số được tăng cao nên các thiết bị tính toán ngày càng nhỏ gọn, thích hợp cho việc xây dựng các hệ thống xử lý thông tin linh hoạt và di động. Mặc dù vậy, cho đến thời điểm này, rất nhiều khả năng của con người (và của cả nhiều sinh vật khác) vẫn chưa được thể hiện mô phòng hoặc tái tạo một cách hiệu quà trên các máy móc hoặc thiết bị. Có thể lấy ví dụ như khả năng nhận biết người qua ảnh, khả năng phân tích tiếng nói đổ hiểu được nội dung,... đặc biệt là khà năng xử lý được các tình huống mới dựa trên các kinh nghiệm đúc kết từ quá khứ,... Vì vậy song song với những phát triển của thông tin và các hệ thống xử lý thông tin, ta thấy xuất hiện một ngành mới là ngành nghiên cứu về Trí tuệ nhàn tạo (Artificial Intelligence). Một trong những mục đích chính của ngành Trí tuệ nhân tạo là nghiên cứu và phát triển các mô hình mô phỏng những khả năng về tư duy, phân tích và xừ lý 7
  9. thông tin của con người, cần nhấn mạnh rằng một trong những khó khăn cơ bản hiệm nay vẫn chưa được giải quyết đó là khi nghiên cứu về “Trí tuệ nhân tạo”, ta vẫn chưa có định nghĩa chính thức “Trí tuệ là gì”. Khái niệm này vẫn đang được các nhà khoa học của nhiều lĩnh vực (kể cả Triết học) nghiên cứu và hoàn thiện. Vì thế cũng sẽ dễ hiểu nếu như khi theo dõi các tài liệu khác nhau, ta có thể thấy được nhiều định nghĩa khác nhau về Trí tuệ (Intelligence) và Trí tuệ nhân tạo (.Artificial Intelligence). Hình 1.1. Vị trí của chuyên ngành trong tĩnh vực xừ lý tín hiệu Từ việc chưa có được các định nghĩa chuẩn về Trí tuệ dẫn tới thực tế rất khó có được chuẩn để đánh giá một giải pháp (hay một thiết bị,...) có “thông minh” hay không. Ngay cả việc so sánh trực tiếp về mức độ “thông minh” của hai giải pháp hoặc hai đối tượng khác nhau cũng đã rất khó khăn. Trong giáo trinh này, ta có thể sừ dụng quan điểm hệ thống thông minh là hệ thống mô phỏng một khả năng nào đó cùa con người hoặc của một đối tượng thông minh khác. Quá trình nghiên cứu về một khả năng trước tiên nhằm trả lời các câu hỏi “Một khả năng của con người do đâu mà có? Khả năng đó được thực hiện nhu thế nào”. Sau đó ta có thể chuyển sang quá trình tái tạo lại khả năng đó trên các máy móc, thiết bị để tạo ra các giải pháp “thông minh”. Lấy ví dụ một hệ thống cơ khí mô phỏng cơ chế dịch chuyển cùa con người. Trước tiên ta cần làm rõ để chuyển động thì con người cần các cơ cấu chấp hành gì (chân, tay,...), phối hợp các cơ cấu đó như thế nào, đặc biệt là trong những trường hợp đặc biệt thì xử lý làm sao (ví dụ giải pháp lấy thăng bằng, ước lượng các khoảng cách, xác định tuyến đường dịch chuyển,...). Sau đó ta mới tiến hành chế tạo các cơ cấu và hệ thống đó. Ta lấy một ví dụ nữa về hệ thống tự động xác định đường đi cho các rô-bốt, 8
  10. trong đó các rô-bốt cần tự phân tích các môi trường xung quanh và từ đó xác định được đường đi tối ưu cho mình. Trong các lĩnh vực của ngành Trí tuệ nhân tạo, các nghiên cứu về cơ chế hoạt động và các khả năng của bộ não con người tạo thành một chuyên ngành được gọi là Mạng nơ-rôn nhân tạo. Các kết quả cho thấy bộ não con người tính toán, tư duy theo những cơ chế khác với máy tính số. Bộ não được biết đến như là một máy tính phức hợp, phi tuyến và tinh toán song song. Hệ thống thần kinh cùa con người bao gồm khoáng 1012 nơ-rôn và khoảng 1014 các ghép nối thần kinh giữa chúng. Chính hệ thống ghép nối phức tạp này đưa lại cho chúng ta các khả năng phân tích và xử lý thông tin, các càm xúc,... Bộ não có khả năng tồ chức, điều khiển các phần tử cơ bàn cùa mình (các nơ-rôn đơn lè) để thực hiện các nhiệm vụ mà ta mong muốn như nhận dạng, điều khiển, phân tích hiệu quà hơn rất nhiều so với các máy tính hiện nay. Ta có thổ xct lại ví dụ khả năng nhìn của con người. Đây là bài toán phân tích và nhận dạng ảnh (tín hiệu hai chiều, ba chiều,...) và là một trong những nhiệm vụ cơ bản của con người, giúp cho con người giao tiếp với môi trường xung quanh. Bộ não của con người có khả năng phân tích một hình ảnh theo nhiều nhiệm vụ khác nhau (ví dụ như khi ta tìm một khuôn mặt quen trong một đám đông, ước lượng khoáng cách, ước lượng vận tốc chuyển động của các đối tượng đang quan sát,...) trong khoảng thời gian từ 100 đến 200 ms, một tốc độ mà các máy tính và phần mềm tính toán hiện nay vẫn chưa thê nào đạt tới gần được. Một ví dụ tiếp theo là khả năng nghe và phân tích âm thanh. Chì xét khả năng nghe hiểu ngoại ngừ hoặc tiếng địa phương của con người đã là một nhiệm vụ hết sức khó khăn khi xây dựng các chương trinh mô phỏng. Đen nay các chương trình này mới chi đạt được những kết quả nhất định ban đầu. Tiếp theo đó là những khả năng về chọn lọc nguồn âm thanh (ta có thể phân biệt được âm thanh cùa từng nhạc cụ trong dàn hoà tấu, tập trung nghe được những lời nói trong một môi trường nhiều tiếng ồn, phân biệt được những âm thanh bất thường xung quanh,...). Như đà đề cập ở trên, việc tìm hiểu những khả năng của bộ não con người và tìm cách tái tạo lại các khả năng đó trên các máy móc, thiết bị hay phần mềm tính toán là nhiệm vụ nghiên cứu chính của chuyên ngành “Mạng nơ-rôn nhân tạo”. Trong khuôn khổ giáo trình này, ta sẽ tập trung riêng cho lĩnh vực các khả năng xử lý tín hiệu của các hệ thống thần kinh và các phương pháp mô phỏng để tái tạo. v ề mặt cấu trúc thì từ khi sinh ra, bộ não của chúng ta đã có cấu trúc rất phức tạp. Sau đó bộ não còn tiếp tục phát triển về số lượng nơ-rôn cũng như các ghép nối trong một thời gian ngắn (đến năm 4 - 5 tuổi). Sau thời gian đó, số lượng nơ-rôn nói 9
  11. chung không phát triển thêm nữa (thậm chí còn bị giàm đi) mà chi tự điều chinh Và thay đổi thông số của các ghép nối đang có. Quá trinh tự xây dựng và tổ chức này được thực hiện trong suốt cuộc đời của chúng ta. Mạng nơ-rôn nhờ vào số lượng rất lớn các nơ-rôn và các ghép nối thần kinh của mình để tạo nên khả năng tính toán và xử lý thông tin. Bên cạnh đó mạng nơ-rôn còn có khả năng học và tải tạo thông tin. Khả năng học là khả năng mạng nơ-ron tự động điều chinh, thay đổi để xử lý được các trường hợp mẫu cho trước, còn khả năng tái tạo là khả năng mạng nơ-rôn có thể đưa ra được kết quà xử lý thông tin cho những trường hợp lạ - chưa xuất hiện trong quá trinh học. Một nơ-rôn đang “phát triển” hay đang “tiến hóa” sẽ song hành với một bộ não “mềm dẻo” - một bộ não có khả năng thích nghi với các điều kiện môi trường xung quanh. Phối hợp cả hai khả năng này cho phcp ta tạo được những mô hình đe giải quyết các vấn đề khó và lớn mà hiện nay chưa được giải quyết triệt để (ví dụ nhir lượng tập mẫu tổng cộng quá lớn, số liệu bị nhiễu lớn,...). Ta cũng cần nhớ rằng, với các công cụ toán học cũng như thiết bị hiện nay, việc có thể mô phỏng gần đúng một não bộ vẫn là một điều chưa khả thi. Neu ta nhìn mạng nơ-rôn dưới góc độ là một máy tính với khả năng thích nghi thì: Mạng nơ-rôn là một hệ thống bao gồm rắt nhiều các nơ-rôn đơn lẻ được nối với nhau, phối hợp hoạt động với nhau để lưu trữ những kiến thức, kinh nghiệm nhàm tái sừ dụng: - Kiến thức, kinh nghiệm được thu thập từ môi trường thông qua quá trình học. - Các hệ số khuếch đại tín hiệu giữa các nơ-rôn (hay còn gọi là các trọng số ghép nối) sẽ được sử dụng để lưu trữ các kinh nghiệm và kiến thức nêu trên. Một hệ trí tuệ nhân tạo hay còn gọi là hệ thông minh cần có ba khả năng chính là: 1- ghi nhớ các kiến thức; 2 - vận dụng những kiến thức đã biết dề giải quyct các vấn đề gặp phài; 3 - thông qua các kinh nghiệm, các vấn đề đà được giãi quyết cần thu thập hoặc tạo ra được các kiến thức mới. Ta cỏ thể coi hệ trí tuệ nhân tạo cũng gồm ba thành phần chính: - Thể hiện (Representation): Khả năng đặc trưng của hệ trí tuệ nhân tạo là có thể dùng một ngôn ngữ hình thức thống nhất để mô tả các vấn đề cũng như các kiến thức liên quan tới vấn đề đó. Các ngôn ngữ này trước tiên được con người sử dụng để mô tả, sau đó được chuyển đổi thành các dạng thích hợp cho việc thể hiện trong các máy tính điện từ. Kiến thức (knowledge) cũng là một dạng của thông tin. Kiến thức có thể được thổ hiện ờ nhiều dạng như các giá trị, các công thức, các thuật toán,... 10
  12. - Suy luận (Reasoning): là khả năng giãi quyết các vấn đề. Theo [Fischlerl987], một hệ thống được coi là có khả năng suy luận khi: + Hệ thống có khả năng thể hiện và giải quyết một dải rộng các vấn đề và dạng vấn đề. + Hệ thống phải có khả năng nội suy (implicit) và ngoại suy (explicit) đề tạo ra các thông tin mà hệ thống quản lý. + Hệ thống phải có một cơ chế điều khiển (control) để xác định cần phải thực hiện các thao tác gì trong quá trình giải quyết một vấn đề hoặc khi cẩn kết thúc quá trình này. - Học tập (Learning): Đặc trưng cho khả năng mở rộng, cập nhật, thay đổi các kiến thức của một hệ thống. Mô hình đơn giàn cho quá trình học của một hệ thống được thể hiện trên hình 1.2. Môi truờng bên ngoài sẽ cung cấp cho hệ thống các thông tin thông qua khối phân tích và học tập (Learning Element) để phục vụ cho việc điều chinh các phần tử tham gia vào quá trình học. Các kết quà từ khối này được chuẩn hóa và lưu trừ vào cơ sờ dữ liệu về kiến thức của hệ thống (Knowledge Base). Sau khi tổng hợp các kiến thức từ cơ sở dữ liệu này, hệ thống sẽ đưa ra quyết định về các thao tác cần dược thực hiện và truyền các thông tin này xuống cơ cấu chấp hành (Performance Element). Hình 1.2. Mô hình đon giản cho quá trình học của một hệ thống Mạng nơ-rôn nhân tạo (hay còn gọi ngan gọn là mạng nơ-rôn) là một trong những chuyên ngành của Trí tuệ nhân tạo và là ngành được phát triển mạnh hiện nay với các ứng dụng rộng rãi trong nhiều vấn đề kỹ thuật. Mạng nơ-rôn có nhiều tính chất cần thiết để có thể trở thành một công cụ tốt trong xừ lý tín hiệu: - Có khả năng tạo hàm truyền phi tuyến đa biến với độ chính xác cho trước; - Có các cấu trúc truyền thẳng và cấu trúc có phản hồi để thuận tiện lựa chọn cho các đối tượng có đặc tính có nhớ hoặc không có nhớ; - Khả năng điều chinh thích nghi các thông số để thích nghi với các bộ số liệu tĩnh cũng như các bộ sổ liệu động; - Có khả năng tổng quát hóa để có thể hoạt động hiệu quả với các tín hiệu đầu vào mới, chưa xuất hiện trong quá trình xây dựng mô hình. Il
  13. Các mạng nơ-rôn có một đặc trưng khác so với các hệ thống tính toán tuyến tính và phi tuyến trước đây là mồi mạng nơ-rôn được trang bị một hoặc nhiều thuật toán học cho mạng. Các thuật toán này cho phép chúng ta xây dựng, lựa chọn cấu trúc cho mạng cũng như điều chinh thích nghi các thông số của mạng để phù hợp với yêu cầu của các bài toán được ra cho mạng. 1.2. THEO DÒNG LỊCH s ử Các nghiên cứu cận đại về nơ-rôn được coi là bắt nguồn từ công trình [McCulloch43] của McCulloch và Pitts vào năm 1943. McCulloch đã nghiên cứu hơn 20 năm về cơ chế thể hiện một sự kiện trong hệ thần kinh. Trong công trình kinh điển của mình, McCulloch và Pitts đã mô tà quá trình tính toán lô-gic của mạng nơ-rôn trên cơ sờ tổng hợp các kết quà nghiên cứu cà về tâm - sinh học cũng như toán học. Các tác già đã xây dựng nên mô hình hoạt động theo hàm ngưỡng và dựa trên việc điều chinh các trọng số ghép nối, các mô hình mạng có khả năng mô phỏng những hàm truyền đạt bất kỳ. Đây là một bước tiến rất lern trong lịch sử nghiên cứu và đa số các nhà khoa học đều nhất trí rằng nó là mốc rất quan trọng trong lịch sừ các ngành nghiên cứu về mạng nơ-rôn nói riêng và trí tuệ nhân tạo nói chung. Cũng trong năm này đã xuất hiện khái niệm “cybernetics” do Arturo Rosenblueth, Norbert Wiener và Julian Bigelow đề xuất. Sau đó vào năm 1948, Wiener đã xuất bản cuốn sách nổi tiếng với tiêu đề Cybernetics viết về các vấn đề quan trọng trong điều khiển, truyền thông và xử lý tín hiệu. Trong chương 2, Wiener đã cố nắm bắt ý nghĩa vật lý quan trọng của chủ đề cơ chế thống kê. Tuy nhiên phải hơn 30 năm sau, Hopficld mới xây dựng được mối liên kết giữa cơ chế thống kê và các hệ thống có khả năng học. Công trình của McCulloch và Pitts không chì tác động tới chuyên ngành mạng nơ-rôn. Von Neumann đã sử dụng ý tưởng hoạt động “chuyển đổi - nghi” hay còn gọi là che độ hoạt động có trễ cùa nơ-rôn trong việc xây dựng EDVAC (Electronic Discrete Variable Automatic Computer), tiền thân của máy ENIAC (Electronic Numerical Integrator and Computer) [Aspray86] - máy tính đa năng đầu tiên được chế tạo tại Moore School of Electrical Engineering, Đại học Pennsylvania. Năm 1944, Von Neumann và nhà kinh tế học Oskar Morgenstern đã đưa ra giới thiệu Lý thuyết trò chơi, một phần rất quan trọng của lĩnh vực trí tuệ nhân tạo ngày nay trong bài báo Theory o f Games and Economic Behavior. Cũng van là Von Neumann đã đưa ra câu trả lời nổi tiếng khi có ý kiến cho rằng "Máy tính không có khả năng suy nghĩ' là “ You insist that there is something a machine cannot do. I f you will tell me precisely what it is that a machine cannot do, then I can always make a machine which will do just that' (Các ngài đang khẳng định rằng máy tính không làm được một việc gì đó. Nhưng nếu 12
  14. như các ngài có thể mô tả chính xác cho tôi rằng máy tính không làm được việc gì thì tôi sẽ luôn có thể xây dựng một máy mới để làm được chính việc đó). Sau đó ông đã phát triển tiếp ý tưởng này để đề xuất phương pháp nổi tiếng Turing Test vào năm 1950 nham kiểm tra độ thông minh của một máy tính. Bước tiến tiếp theo của các mạng nơ-rôn được nhắc tới vào năm 1949 với cuốn sách cùa Hebb có tiêu đề The Organization o f Behavior, trong đó cơ chế sinh - hóa của quá trinh học thông qua việc điều chinh trọng số ghcp nối lần đầu tiên được đề cập một cách rõ ràng và chi tiết. Cụ thể, Hebb đã trình bày về quá trình thay đổi không ngừng cùa các hệ số ghép nối giữa các nơ-rôn khi một cá thể đang học về những nhiệm vụ khác nhau và ông đã cụ thể hơn già thiết cùa Ramon y Cajal rằng kênh ghép nổi giữa hai nơ-rôn sẽ có mức độ khuếch đại tăng lên nếu như nơ-rôn nguồn luôn luôn được kích thích. Cuốn sách của Hebb đã trờ thành một nguồn cảm hứng cho các mô hình tính toán với chức năng học và thích nghi. Công trình nghiên cứu [Rochester56] vào năm 1956 là một trong những công trình đầu tiên đề cập tới việc sử dụng máy tính điện tử để mô phỏng lý thuyết nơ-rôn và quá trình học của nơ-rôn cùa Hcbb. Các kết quà tính toán cho thấy rằng để hoàn thiện hơn thì mạng nơ-rôn cần phải có cà các ghép nối với độ khuếch đại nhò hơn 1 (giảm mức tín hiệu đầu vào) và cả độ khuếch đại âm (còn gọi là các đầu vào tín hiệu hãm). Cùng năm đỏ (1956), Uttley đă công bố một mạng nơ-rôn với các trọng số ghép nối có thể thay đồi thích nghi đế thực hiện được bài toán nhận dạng các mẫu nhị phân. Đồng thời cụm từ Artificial Intelligence được sử dụng như một chủ đề tháo luận chính thức của Hội nghị Dartmounth lần thứ hai do John McCarthy tố chức. Năm 1958, trong một công trình về bài toán nhận dạng mẫu, Rosenblatt đã đưa ra khái niệm mô hình perceptron với thuật toán học có hướng dẫn (supervised learning). Công trình này dã dưa ra lý thuyết hội tụ của quá trình học cũa perceptron. Cũng trong thập ký 1950 - 1960 đã bắt đẩu xuất hiện các phần mềm trò chơi như phần mềm đánh cờ cùa Dietrich Prinz, phần mềm checkers của Christopher Strachey. Năm 1955, Arthur Samuel đã viết được một phần mềm chơi checkers với chúc năng tự học thêm trong quá trình hoạt động. Năm 1967, cuốn sách Computation: Finite and Infinite Machines của Minsky đã tồng hợp các kết quả nghicn cứu cùa Minsky và mờ rộng các đề xuất của McCulloch và Pitts, đồng thời kết hợp lý thuyết mạng nơ-rôn với lý thuyết tính toán và lý thuyết máy trạng thái. 13
  15. Thời gian này, với rất nhiều những kết quả thu được, đã từng có ý kiến cho rằng mạng nơ-rôn đơn giản có thể giải quyết được rất nhiều lớp bài toán. Nhưng trong [Minsky69], Minsky và Papert đã chứng minh bằng toán học ràng mạng nơ-rôn truyền thẳng một lớp chi có thể giải được một số dạng bài toán nhất định do không đù độ phi tuyến. Đồng thời việc sừ dụng nhiều lớp ẩn cũng không thể giải quyết hết được những tồn tại. Trong thập kỳ này, Ray Solomnoff đã bắt đầu xây dựng các nền tàng lý thuyết toán học cho AI, trong đó cần kể tới việc ứng dụng các mô hình Bayes trong quy nạp và dự báo. Những năm 70 là những năm tương đối yên tĩnh của các nghiên cứu về mạng nơ-rôn. Có một số lý do chính để các nghiên cứu này bị ảnh hưởng: 1- vì lý do kỹ thuật mà chù yếu là do các công cụ tính toán như máy tính điện từ vẫn chưa phổ biển nên các tính toán mô phỏng rất khó được thực hiện để kiểm chứng các ỷ tường của các nhà nghiên cứu; 2 - vì lý do phi kỹ thuật, trong đó có thể xét tới hai yếu tổ ảnh hường lớn là công trình [Minsky69] đã khiến nhiều nhà nghiên cứu chần chừ và các đề tài nghiên cứu cũng khó xin được tài trợ. Công trình đáng kể tới nhất trong những năm này là công trình [Malsburg73] của von der Malsburg vào năm 1973 về mạng tự to chức (.self-organising maps). Thập kỷ 80 chứng kiến sự quay trở lại của mạng nơ-rôn trên rất nhiều lĩnh \ục cùng một lúc. Năm 1980, Grossberg [Grossberg80] đã đề ra quy tắc học tự tổ chức mới mang tên ART (adaptive resonance theory). Năm 1982, Hopfield đã sử dụng ý tường hàm năng lượng để giải thích quá trình tính toán dược các mạng hồi quy sử dụng với các trọng sổ đối xứng và các mạng nơ-rôn này sau này được mang tên của ông là mạng Hopfield. Mặc dù các mạng nơ-rôn hồi quy do Hopfield đề xuất không có mô hình nơ rôn thực tế tương xứng, nhưng ý tưởng các thông tin có thể được hm trữ trrng các trạng thái động cân bằng của hệ thống mang ý nghĩa đột phá. cần lưu ý ràng ý tường này đã từng xuất hiện trước đó (có thể lấy ví dụ về trạng thái spin trong vật lý lượng tử) nhưng lần đầu tiên được ứng dụng hết sức cụ thể trong mạng nơ-rôn là trcng công trình của Hopficld. Cùng trong năm này, Kohonen đã đưa ra mô hình mạig Kohonen-SOM {Kohonen self-organising maps) cho các lưới trong không gian nột chiều và không gian hai chiều. Mạng Kohonen đã nhanh chóng trờ thành một trcng những mạng tự tổ chức được ứng dụng rộng rãi nhất và hiện nay vẫn là một trcng những ví dụ kinh điển của những mạng thuộc dạng này. Song song với các nghiên cứu về cấu trúc của nơ-rôn và tố chức của nựng nơ-rôn, cùng với sự phát triển của máy tính điện từ, hàng loạt các thuật toán mô phcng 14
  16. quá trình học và tối ưu hóa các thông số của mạng nơ-rôn đã được nghiên cứu và đề xuất. Có thề kể tới các thuật toán như Stimulated Annealing [Kirkpatrick83], Boltzmann Machines [Ackley85], Reinforcement Learning [Barto83], Năm 1986, các tác giả Rumelhart, Hinton và Williams [Rumelbart86] đã phát triển thuật toán lan truyền ngược (back-propagation algorithm) mà ý tưởng đã được Werbos đề cập tới trong luận án nghiên cứu sinh của mình [Werbos74] vào năm 1974. Thuật toán này sẽ được trình bày cụ thể trong các phần sau của cuốn sách này. Tiếp theo sau đó là việc phát minh ra hai mô hình nổi tiếng về mạng nơ-rôn là mạng RBF (Radial Basis Function) và mạng SVM (Support Vector Machines). Mạng RBF được Broomhead và Lowe giới thiệu năm 1988 [Broomhead88]. Mạng SVM [Boser92] do Vapnik đề xuất vào đầu những nãm 90 cùa thế kỷ XX để ứng dụng trong các bài toán phân loại, nhận dạng, ước lượng cũng nhưng đánh giá mật độ phân bố của sô liệu. Cơ sở của mạng SVM dựa trên lý thuyết ve xây dựng mô hình với bộ mẫu hữu hạn. Tổng kết lại ta có thổ liệt kê một số mạng nơ-rôn nhân tạo đã được đề xuất và nghiên cứu như trong bảng 1.1. Bảng 1.1. Một số mạng no>-rôn nhản tạo dã đưực nghiên cứu Cấu trúc Tên mang Tác giả để xuất Năm Tuyển tính (Linear) Hebbian Hebb 1949 Adaline Widrow và Hoff I960 Higher Order Bishop 1995 Functional Link Pao 1989 Truyền thảng đa lớp MLP Bishop 1995 (Multi-laver Feedforward) BackProp Rumelhart, Hinton và 1986 Williams Cascade Correlation Fahlman và Lebicre 1990 QuickProp Fahlman 1989 RPROP Riedmiller và Braun 1993 RBF Fausctt 1994 OLS (Orthogonal Least Chen, Cowan và 1991 Squares) Grant 15 ¥
  17. Mạng phân nhóm LVQ (Learning Vector Kohonen 1988 (Classification Only) Quantization) PNN (Probabilistic Specht 1990 Neural Networks) Mạng ước lượng GNN (General Watson và Nadaraya 1964 (Regression Only) Regression Neural Network) Mạng có phản hồi BAM (Bidirectional Kosko 1992 (Recurrent Network) Associative Memory) Boltzman Machine Ackley 1985 BTT (Back-propagation Wcrbos 1990 Through Time) Elman Elman 1990 FiR (Finite Impulse Wan 1990 Response) RTRN (Real-Time Williams và Zipser 1989 Recurrent Network) RB (Recurrent Back- Pineda 1989 propagation) TDNN (Time-Delay Lang, Waibel và 1990 Neural Network) Hinton Mạng nơ-rôn cạnh tranh Grossberg Grossberg 1976 (Competitive Vector Quantization) Kohoncn Kohonen 1984 Conscience Desieno 1988 Mạng nơ-rôn tự chức Kohonen Kohonen 1995 (Self-organizing Map) GTM Bishop, Svenson và 1997 Williams LL (Local Linear) Mulier và 1995 Cherkassky 16
  18. M ạng cộng hường thích ART1 Carpenter và 1987 nghi (Adaptive Resonance Grossberg Theory) ART2 Carpenter và 1987 Grossberg ART3 Carpenter và 1990 Grossberg Fuzzy ART Carpenter, Grossberg 1991 và Rosen DCL (Differential Kosko 1992 Competitive Learning) Mạng giám chiều không Oja Oja 1989 gian ('Dimension Reduction) Sanger Sanger 1989 Differential Hebbian Kosko 1992 Mạng tự liên kết Hopfield Hopfield 1982 (Auto-association) v ề mặt ứng dụng, ta cũng có thể nhắc tới một số công trình đă được ghi nhận trong thời gian gần đây cùa ngành Trí tuệ nhân tạo nói chung và chuyên ngành Mạng nơ-rôn nhân tạo nói riêng. Trong số đó, năm 1994, hai chiếc ô tô tự động dòng VaMP do Emst Dickmanns và Daimler-Benz thiết kế đã chở hành khách thực đi hơn 1000 km trên đường cao tốc ba làn ở khu vực Paris vào thời điểm tương đối đông xe với tốc độ có lúc đạt tới 130 km/h. Năm 1997, máy tính Deep Blue đã đánh bại Đại kiện tướng Garry Kasparov trong một cuộc thi đấu cờ chính thức cấp quốc tế. Năm 1999, Công ty SONY đã phát triển một rô-bốt nhỏ tên là AIBO thành đồ chơi tự động trong nhà. Năm 2005, rô-bốt ASIMO đă có thể đi lại tương đối giống người thật và có thề thực hiện một số thao tác phục vụ bàn trong quán ăn. Cũng trong năm 2005, dự án Blue Brain đã được bắt đầu với mục đích mô phỏng cơ chế hoạt động của bộ não con người ờ cấp độ phân tử. Các công trình nêu trên đây chi là một phần rất nhỏ những kết quả đã đạt được trong lĩnh vực nghiên cứu về mạng nơ-rôn. Từ ngày công bố công trình của McCulloch và Pitts đến nay, mạng nơ-rôn đã liên tục phát triển và trở thành một lĩnh vực liên ngành, phối hợp các kết quả nghiên cứu về toán học, vật lý, sinh học, kỹ thuật,... Trong tương lai gần, mạng nơ-rôn sẽ tiếp tục được phát triển trong cả lý thuyết, thực hành và ứng dụng. 17
  19. 1.3. CÁC QUÁ TRÌNH c ơ BẢN CỦA MẠNG NƠ-RÔN Khi nghicn cứu và phát triển các mạng nơ-rôn cho các bài toán cụ thể, ta sẽ gặp hai quá trình cơ bản sau: quá trình học (learningprocess) và quá trình kiểm tra (testing process). 1.3.1. Quá trinh học Quá trình học được hiểu là quá trình tạo ra kiến thức từ các “mẫu” thông tin đã có (trong quá khứ). Quá trình này được thực hiện cho một bộ số liệu mẫu ban đầu còn được gọi là bộ số liệu học (learning data set). Riêng đối với mạng nơ-rôn, quá trình học còn được hiểu là quá trình xác định các tham số của mạng để có thế thu được các kết quả đầu ra theo như mong muốn cho một bộ số liệu học. Để thể hiện chất lượng cùa quá trinh học, người ta sẽ định nghĩa một hàm mục tiêu, hay còn gọi là hàm sai số Ehpc. Quá trình học sẽ có xu hướng làm giảm giá trị cùa hàm sai số này, hay còn được gọi là quá trình tối ưu hóa hàm sai số. Quá trình học thường được thực hiện dựa trên các thuật toán học (learning algorithm) để tối ưu hóa các hàm mục tiêu. Bên cạnh các thuật toán điều chinh thông số, mạng nơ-rôn còn có khả năng điều chinh cả cấu trúc cùa mình để mô phỏng thực tế của bộ não là các nơ-rôn đơn lẻ có thể chết đi, hoặc các ghép nối giữa các nơ-rôn có thế được sinh ra thêm để có thế tạo ra tín hiệu đầu ra như mong muốn. Neu phân chia theo cách xừ lý bộ số liệu học thì quá trình học có thể được thực hiện theo một số cách như sau: - Quá trình học ngoại tuyến (offline)', là quá trình học với toàn bộ các số liệu mẫu đã có sẵn và các tham sổ của mô hình được cập nhật sau khi đã xem xét xong tất cà các mẫu số liệu. Phương pháp này có số lần cập nhật ít, tuy nhiên các kết quả trung gian khi đang xử lý các mẫu số liệu học cần phải được lưu giữ nên khá tốn bộ nhớ và công thức cồng kềnh hơn. - Quá trình học trực tuyến (online): là quá trình học trong đó các tham số của mô hình được cập nhật sau mồi lần xem xét, xử lý một mẫu số liệu. Phưưng pháp này có số lần cập nhật lớn nhưng lượng thông tin cần lưu trữ ít và công thức gọn nhẹ hom. -Q u á trình học phối hợp (offline + online update): là quá trình học trong đó một phần đầu của bộ số liệu mẫu được học ngoại tuyến, sau đó các số liệu còn lại (hoặc các số liệu mới) được học trực tuyến. Phương pháp này phối họp các đặc điểm của hai cách học đã nói ở trên. Neu phân chia theo dạng thông tin có trong mẫu số liệu học thì ta có những dạng học như sau: - Học có hướng dẫn (supervised learning): là quá trình học với các mẫu sổ liệu bao gồm một cặp tín hiệu đầu vào và tín hiệu đầu ra. Khi đó ta cần xây dựng một mô hình (mạng nơ-rôn) với hàm truyền đạt tái tạo lại được ánh xạ từ tín hiệu đầu vào tới tín hiệu đầu ra. I8
  20. - Học tự tồ chức (self-organized learning)', là quá trình học với các mẫu số liệu chi bao gồm tín hiệu đầu vào. Thực chất đây là bài toán phân nhóm các mẫu (data clustering), theo đó các mẫu tương tự nhau cần được quy về chung một nhóm, mỗi nhóm sẽ có một mẫu đặc trưng (còn được gọi là trọng tâm của nhóm). - Học theo định hướng (reinforcement learning): là quá trình học dựa trên một tín hiệu điều khiển mang tính định hướng (ví dụ như quá trình học đang đúng hướng hay không) từ một đối tượng “chuyên gia” bên ngoài để điều chinh thích nghi các tham số của mô hình. 1.3.2. Quá trình kiềm tra Để đánh giá mức độ hiệu quả của quá trình học, ngoài việc sử dụng hàm sai số học, trong thực tể chúng ta còn sử dụng quá trình kiềm tra. Theo đó một mạng đã được huấn luyện sẽ được kiểm tra với một bộ số liệu mới, còn được gọi là bộ sổ liệu kiểm tra (testing data set). Sai số kiểm tra sẽ cho ta thấy khả năng hoạt động của mạng nơ-rôn với các số liệu mới, chưa xuất hiện trong quá trình học. Sai số kiểm tra thấp tương ứng với khả năng xử lý các trường hợp mới tốt. Khi đánh giá về mức độ “thông minh” của một mô hình, ta sẽ ưu tiên sử dụng sai số kiểm tra trước, sai số học được sử dụng sau. Mô hình có sai số kiểm tra thấp hơn sẽ được đánh giá là “thông minh” hơn mô hình có sai số kiềm tra cao hơn. 1.4. CÁC ỨNG DỤNG CỦA MẠNG NƠ-RÔN Với khả năng xây dựng các ánh xạ, các hàm truyền đạt phi tuyến, mạng nơ-rôn đã được ứng dụng rất rộng rãi trong nhiều lĩnh vực, nhiều bài toán khác nhau. Ta có the kể tới các khả năng chính như sau: 1. Nhận dạng (Pattern Recognition): Nhận dạng có thổ được định nghĩa là quá trình phân tích tín hiệu dầu vào từ một doi tượng dẻ xác dịnh dối tượng dó thuộc vào nhóm nào trong số các nhóm đã được định nghĩa trước hoặc đưa ra đưực những đánh giá phân loại hay xếp hạng đối tượng đó. 2. Liên kết mẫu (Pattern Association): Đây là một trường hợp đặc biệt cùa bài toán nhận dạng. Bộ nhớ hoạt động theo kiểu liên kết là một trong những chức năng đặc trung của con người. Chức năng này được xác định từ thời kỳ của Aristotle và có rất nhiều các mô hình nhận dạng dã sứ dụng phương pháp hoạt động này [Anderson95]. Bộ nhớ liên kết được chia làm hai dạng chính: liên kết hai chiều (heteroassociation) và tự liên kết (autoassociation). Trong mô hình liên kết hai chiều, mạng nơ-rôn đặt yêu cầu ghi nhớ thông qua quá trình học một tập hợp các mẫu (x ^ ^ d '0 ) với /' = 1 , d0) được gọi là đầu ra liên kết với đầu vào x(l). Kết thúc quá trình học hay còn gọi là quá trình ghi nhớ (storage phase), khi đầu vào mạng nơ-rôn được cấp tín hiệu X thì 19
nguon tai.lieu . vn