Luận án Mạng neuron Nhân tạo

Năm 1957, Frank Rosenblatt bắt đầu nghiên cứu về mạng Perceptron và đã thành công trong việc thiết kế Mark I Perceptron neurocomputer, đó là mạng neuron cổ điển nhất vẫn còn sử dụng tới ngày nay [11]. Năm 1959, Bernard Widrow và Marcian Hoff đã xây dựng mạng ADALINE, nó là áp dụng đầu tiên của mạng neuron vào thực tế để dập tiếng vọng trên đường dây điện thoại. Năm 1967, Avalanche áp dụng các mạng neuron vào việc nhận dạng giọng nói, điều khiển motor và một số ứng dụng khác. Từ năm 1969 đến 1981 mạng neuron rơi vào trạngthái im lặng cả về nghiên cứu và ứng dụng. Tuy nhiên, có thể kể đến các bài báo của Marvin Minsky và Seymour Papert bình luận về mạng Perceptron, các nghiên cứu về quá trình học của mạng nhiều lớp, mạng tự tổ chức (Self Organization) của Teuvo Kohonen, mạng kiểu bộ nhớ kết hợp (BAM– Bidirectional Associative Memory) của Anderson và mạng ART (Adaptive Resonance Theory neural networks) của Capenter [2].

pdf39 trang | Chia sẻ: lvbuiluyen | Ngày: 16/11/2013 | Lượt xem: 1740 | Lượt tải: 11download
Bạn đang xem nội dung tài liệu Luận án Mạng neuron Nhân tạo, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Luận án Cao học Chương 2 - Mạng neuron nhân tạo 2.1 2 Mạïng neuron Nhâân tạïo Nộäi Dung 2.1 Lịch sử phát triển và các ứng dụng của mạng Neuron...............................2.2 2.2 Bộ não người và Neuron sinh học ................................................................2.5 2.3 Mô hình Neuron nhân tạo ............................................................................2.8 2.3.1 Mô hình neuron 1 ngõ vào............................................................................... 2.8 2.3.2 Mô hình neuron nhiều ngõ vào ..................................................................... 2.11 2.4 Mạng Neuron ...............................................................................................2.11 2.4.1 Phân loại mạng neuron ................................................................................. 2.11 2.4.2 Mạng neuron 1 lớp ......................................................................................... 2.12 2.4.3 Mạng neuron nhiều lớp.................................................................................. 2.13 2.5 Huấn luyện mạng ........................................................................................2.15 2.5.1 Học có giám sát .............................................................................................. 2.15 2.5.2 Học không giám sát ....................................................................................... 2.15 2.5.3 Học tăng cường............................................................................................... 2.18 2.6 Một số Giải thuật huấn luyện thông dụng.................................................2.20 2.6.1 Giải thuật gradient descent ............................................................................ 2.22 2.6.2 Giải thuật gradient descent with momentum ................................................ 2.24 2.6.3 Giải thuật gradient descent with adaptive learning rate............................... 2.25 2.6.4 Giải thuật gradient descent with momentum & adaptive lr.......................... 2.26 2.6.5 Giải thuật truyền ngược Resilient .................................................................. 2.27 2.6.6 Giải thuật BFGS Quasi-Newton .................................................................... 2.28 2.6.7 Giải thuật Levenberg-Marquardt................................................................... 2.29 2.6.8 So sánh các giải thuật .................................................................................... 2.30 2.7 Qui trình thiết kế mạng Neuron ứng dụng.................................................2.32 2.8 Vài kỹ thuật phụ trợ.....................................................................................2.33 2.8.1 Tiền xử lý dữ liệu ............................................................................................ 2.33 2.8.2 Khả năng tổng quát hóa của mạng............................................................... 2.35 2.8.3 Kích thước tối ưu của mạng ........................................................................... 2.36 2.9 Tóm tắt .........................................................................................................2.38 Tài liệu tham khảo chương 2 ............................................................................2.39 2 Luận án Cao học Chương 2 - Mạng neuron nhân tạo 2.2 2.1 Lịch sử phát triển và Các ứng dụng của mạng Neuron Lịch sử phát triển của mạng neuron được tóm tắt như hình 2.1, [1]. Năm 1890, nhà tâm lý học William James đã đưa ra nhận xét: Khi hai quá trình cơ bản của bộ não tác động lẫn nhau hoặc xảy ra lần lượt thì một trong chúng sẽ truyền kích thích đến quá trình còn lại. Năm 1936, Alan Turing là người đầu tiên sử dụng bộ não như một mô hình xử lý thông tin. Năm 1943, Warren McCulloch và Walter Pitts đã đề xuất cách thức hoạt động của các neuron, họ đã tạo ra một mạng neuron đơn giản bằng các mạch điện. Từ đó các nhà khoa học lao vào nghiên cứu chế tạo các bộ máy thông minh. Hình 2.1 Lịch sử phát triển của mạng neuron Năm 1949, Donald Hebb đề xuất một giải thuật huấn luyện mạng neuron rất nổi tiếng, mà ngày nay nó vẫn còn được sử dụng. Thập niên 50 là thời kỳ mà mạng neuron phát triển cả phần cứng lẫn phần mềm. Nathaniel Rochester và một số người khác từ các phòng thí nghiệm của IBM đã xây dựng phần mềm mô phỏng mạng neuron dựa trên giải thuật của Hebb. Cuối 1980s -nay: Ứng dụng trong nhiều lĩnh vực 1982: Mạng Hopfield 1 lớp, các nghiên cứu được tiếp tục 1970s: Các nghiên cứu đột nhiên lắng dịu 1969: Các bài báo của Minsky & Papert, Perceptrons Cuối 50s-60s: Nhiều nổ lực, AI & Neural Computing Fields được thành lập 1956: Dartmouth Summer Research Project 1950s: Phần mềm phát triển mạnh 1949: Giải thuật huấn luyện của Donald Hebb 1943: Mcculloch & Pitts công bố về mô hình neuron đơn giản 1936: Turing dùng bộ não như mô hình xử lý thông tin 1890: Khái niệm của William James. 2 Luận án Cao học Chương 2 - Mạng neuron nhân tạo 2.3 Năm 1957, Frank Rosenblatt bắt đầu nghiên cứu về mạng Perceptron và đã thành công trong việc thiết kế Mark I Perceptron neurocomputer, đó là mạng neuron cổ điển nhất vẫn còn sử dụng tới ngày nay [11]. Năm 1959, Bernard Widrow và Marcian Hoff đã xây dựng mạng ADALINE, nó là áp dụng đầu tiên của mạng neuron vào thực tế để dập tiếng vọng trên đường dây điện thoại. Năm 1967, Avalanche áp dụng các mạng neuron vào việc nhận dạng giọng nói, điều khiển motor và một số ứng dụng khác. Từ năm 1969 đến 1981 mạng neuron rơi vào trạng thái im lặng cả về nghiên cứu và ứng dụng. Tuy nhiên, có thể kể đến các bài báo của Marvin Minsky và Seymour Papert bình luận về mạng Perceptron, các nghiên cứu về quá trình học của mạng nhiều lớp, mạng tự tổ chức (Self Organization) của Teuvo Kohonen, mạng kiểu bộ nhớ kết hợp (BAM – Bidirectional Associative Memory) của Anderson và mạng ART (Adaptive Resonance Theory neural networks) của Capenter [2]. Năm 1982, John Hopfield công bố một công trình về mạng neuron một lớp trên National Academy of Sciences, nó được coi là một động cơ để lôi kéo các nhà khoa học quay trở lại nghiên cứu về mạng neuron. Đây là thời kỳ phục hưng của các nghiên cứu và ứng dụng mạnh mẽ của mạng neuron với các nghiên cứu về giải thuật lan truyền ngược sai số (backpropagation of error), mạng Boltzmann, mạng Neocognitron của Fukushima. Từ cuối thập niên 80, đầu thập niên 90 đến ngày nay, mạng neuron đã khẳng định được vị trí của mình trong nhiều ứng dụng khác nhau. Các lĩnh vực ứng dụng của mạng neuron có thể tóm tắt như sau [3]: ♦ Không gian vũ trụ: Phi thuyền không người lái, mô phỏng đường bay, tăng cường khả năng điều khiển, mô phỏng các chi tiết trong máy bay, phi thuyền, dự báo hỏng hóc … ♦ Giao thông: Hướng dẫn lưu thông tự động, phân tích cảnh báo tình trạng giao thông, xác định đường đi tối ưu. ♦ Ngân hàng: Kiểm soát các hóa đơn chứng từ và các tài liệu khác, dự báo chứng khoán, kiểm tra thẻ tín dụng, … 2 Luận án Cao học Chương 2 - Mạng neuron nhân tạo 2.4 ♦ Quân sự: Vũ khí tự động, truy tìm mục tiêu, phân biệt đối tượng, nhận dạng tín hiệu và hình ảnh, các ứng dụng trong tàu ngầm, xử lý tín hiệu radar, … ♦ Điện tử: Giải mã, dự báo lỗi chip, tổng hợp âm thanh, mô hình hóa hệ thống. ♦ Giải trí: Phim hoạt hình, kỹ xảo điện ảnh. ♦ Tài chính: Định giá bất động sản, tư vấn nợ, thế chấp, phân tích khả năng tài chính của công ty, … ♦ Công nghiệp: Kiểm soát các lò nung, kiểm soát các qui trình công nghiệp, phân tích và thiết kế sản phẩm, dự báo chất lượng sản phẩm, … ♦ Y học: Phân tích tế bào ung thư, thiết kế các bộ phận giả cho cơ thể, … ♦ Dầu khí: Thăm dò quặng. ♦ Robotics: Điều khiển tay máy, camera robots, … ♦ Ngôn ngữ: Nhận dạng giọng nói, tổng hợp âm thanh và chữ viết, nén âm thanh, phân loại nguyên âm. ♦ Thông tin: Nén âm thanh và hình ảnh, dịch máy, … Tóm lại, mạng neuron đã đang và sẽ được nghiên cứu, ứng dụng mạnh mẽ vào hầu hết các lĩnh vực công nghiệp và dịch vụ. Một số mạng neuron nổi tiếng được liệt kê trong bảng 2.1, [1]. 2 L ua än án C ao h ọc Ch ươ ng 2 - M ạn g n eu ron nh ân ta ïo 2. 5 B ản g 2. 1 M ột so á m ạn g ne ur on ti êu b ie åu M ạn g Ta ùc gi ả N ăm Ư Ùng d ụn g H ạn c he á G hi c hu ù A R T G ai l C ar pe nt er St ep he n G ro ss be rg 19 78 -8 6 N ha än da ïng (r ad ar , t àu n ga àm , a âm th an h) N ha ïy ca ûm v ới : t ha ng đ o tín h ie äu, nh ie ãu, q ua ù đ ộ C hư a đư ợc a ùp du ïng n hi ều A va la nc he St ep he n G ro ss be rg 19 67 N ha än da ïng a âm th an h tư ơn g tư ï, t ay m áy K ho âng n ha än đư ợc to ác đo ä a âm th an h kh ác n ha u D ùn g to å h ợp c ác m ạn g, k ho âng d ùn g m ạn g đơ n B ac k- pr op ag at io n Pa ul W er bo s, D av id Pa rk er , D . R um m el ha rt 19 74 -8 5 To ång h ợp a âm th an h tư ø v ăn b ản , t ay m áy , c ôn g nơ ï C hỉ h ọc c ó gi ám sa ùt, ca àn ra át n hi ều m ẫu d ữ lie äu hu ấn lu ye än Ph ổ bi ến , h oa ït đ ộn g to át, de ã h ua án lu ye än B A M B ar t K os ko 19 85 B ộ nh ớ ke át h ợp đ ịn h đị a ch ỉ đ ươ ïc D un g lư ợn g th ấp , d ữ lie äu ph ải m ã ho ùa D ễ hu ấn lu ye än nh ất B ol tz m an n & C au ch y Je ff re y H in to n, T er ry Se jn ow sk y, H ar ol d Sz u 19 85 -8 6 N ha än da ïng h ìn h ản h, ra da r, ta øu ng ầm H ua án lu ye än la âu, n hi ễu Đ ơn g ia ûn, d ễ vư ợt q ua c ác c ực ti ểu c ục bo ä B ra in S ta te in a B ox Ja m es A nd er so n 19 77 Tr íc h dư õ li ệu tư ø c ác c ơ sơ û d ữ lie äu Q uy ết đ ịn h m ột la àn, k ho âng c ho p he ùp la ëp la ïi Tư ơn g tư ï B A M C er eb el la tro n D av id M ar r, Ja m es A lb us , A nd re s P el lio ne z 19 69 -8 2 Đ ie àu kh ie ån m ot or c ủa ro bo tic a m s Tí n hi ệu đ ie àu kh ie ån ph ức ta ïp G io áng A va la nc he , c ó th ể ke át h ợp nh ie àu le änh C ou nt er - pr op ag at io n R ob er t H ec ht -N ie ls en 19 86 N én a ûnh , c ôn g nơ ï C ần n hi ều n út a ån va ø k ết n ối m ới đ ạt đo ä c hí nh x ác c ao Tư ơn g tư ï B ac k- pr op ag at io n H op fie ld Jo hn H op fie ld 19 82 Ph ục h ồi d ữ lie äu K ho âng h ua án lu ye än, c ác tr ọn g so á p ha ûi đư ợc đ ặt tr ươ ùc H oa ït đ ộn g đư ợc tr ên m ột th an g dư õ li ệu ro äng M A D A LI N E B er na rd W id ro w 19 60 -6 2 Tr ie ät n hi ễu c ho ra da r, m od em s, lo ïc đư ờn g da ây đi ện th oa ïi C ần q ua n he ä v ào ra tu ye án tín h Th ươ ng m ại tr ên 2 0 na êm , l ua ät h ọc m ạn h N eo co gn itr on K un ih ik o Fu ku sh im a 19 78 -8 4 N ha än da ïng c hư õ v ie át t ay Đ òi h ỏi n hi ều n út a ån va ø k ết n ối Ph ức ta ïp, n ha ïy ca ûm v ới k íc h th ươ ùc va ø vị tr í c ủa c ác k í t ự Pe rc ep tro n Fr an k R os en bl at t 19 57 N ha än da ïng c hư õ đ án h m áy K ho âng n ha än ca ùc ky ù tư ï p hư ùc ta ïp, n ha ïy ca ûm v ới k íc h th ươ ùc va ø n hi ễu M ạn g co å đ ie ån nh ất , v ẫn c òn đ ươ ïc sư û du ïng SO M Te uv o K oh on en 19 80 B ản đ ồ đị a ly ù, k ho âng q ua ân H ua án lu ye än la âu H ie äu qu ả hơ n nh ie àu gi ải th ua ät k ha ùc tro ng v ie äc tín h kh í đ ộn g ho ïc Luận án Cao học Chương 2 - Mạng neuron nhân tạo 2.6 2.2 Bộ não người và Neuron sinh học Hệ thần kinh của con người gồm thần kinh trung ương (não), tủy sống và các dây thần kinh. Thần kinh trung ương được cấu tạo từ 2 lớp tế bào, tế bào thần kinh (gọi là neuron) và tế bào glia. Trong đó, glia chỉ thực hiện chức năng hổ trợ, neuron mới trực tiếp tham gia vào quá trình xử lý thông tin. Bộ não người chứa khoảng 1011 neuron, với hơn 1014 liên kết giữa chúng, tạo thành một mạng tế bào thần kinh khổng lồ. Hình 2.2 cho thấy tổng thể của một bộ não người [4]. Hình 2.2 Bộ não người 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à sợi 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). Xem hình 2.3. 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ủa các neuron khác thông qua các khớp nối (gọi là synapse). Thông thường mỗi neuron có thể có từ vài chục đến vài trăm ngàn khớp nối. Hình 2.3 Cấu trúc của một neuron sinh học 2 Luận án Cao học Chương 2 - Mạng neuron nhân tạo 2.7 Các tín hiệu truyền trong các dây thần kinh vào và ra của các neuron là tín hiệu điện, được thực hiện thông qua quá trình 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, hình 2.4, 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ế đạt tới một ngưỡng nào đó (gọi là ngưỡng kích hoạt), 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 vào các khớp nối nối với các neuron khác, sẽ giải phóng các chất truyền điện, hình 2.5. Người ta chia thành 2 loại khớp nối, khớp kích thích (excitatory) và khớp ức chế (inhibitory). Hình 2.4 Khớp nối thần kinh Hình 2.5 Xung điện trên trục thần kinh Việc nghiên cứu neuron sinh học cho thấy hoạt động của nó khá đơn giản, khi điện thế ở dây thần kinh vào vượt quá một ngưỡng nào đó, neuron bắt đầu giật (firing), tạo ra một xung điện truyền trên dây thần kinh ra đến các neuron khác, cơ chế này cho phép dễ dàng tạo ra mô hình neuron nhân tạo. 2 Luận án Cao học Chương 2 - Mạng neuron nhân tạo 2.8 2.3 Mô hình Neuron nhân tạo 2.3.1 Môâ hình neuron 1 ngõõ vàøo Hình 2.6 là mô hình 1 neuron nhân tạo11 với một ngõ vào [3]. Hình 2.6 Mô hình neuron 1 ngõ vào Ngõ vào p truyền qua một kết nối có độ lợi w, gọi là trọng số kết nối (weight) tạo thành wp, sau đó wp được đưa vào hàm kích hoạt f của neuron, gọi là hàm truyền sẽ tạo thành ngõ ra a của neuron. a = f(wp) Trường hợp neuron có ngưỡng kích hoạt12 (bias), wp được cộng với b, ngõ ra của neuron sẽ là a = f(wp+b) Quá trình huấn luyện sẽ thay đổi trọng số w và ngưỡng b làm cho quan hệ vào ra p/a thay đổi theo. Thông thường có 3 hàm truyền được sử dụng nhiều trong thực tế, đó là hàm Linear, Log sigmoid và Hyperbolic tangent sigmoid. 11 kể từ đây về sau, để đơn giản ta chỉ gọi là neuron 12 tương đương với điện thế ngưỡng của neuron sinh học 2 Luận án Cao học Chương 2 - Mạng neuron nhân tạo 2.9 ♦ Hàm truyền tuyến tính – ‘purelin’: f(n) = n (2.1) Hình 2.7 Hàm truyền tuyến tính ♦ Hàm truyền Log Sigmoid – ‘logsig’ ne1 1)n(f −+= (2.2) Hình 2.8 Hàm truyền Log Sigmoid ♦ Hyperbolic tangent sigmoid – ‘tansig’ n2 n2 e1 e1)n(f − − + −= (2.3) Hình 2.9 Hàm truyền Hyperbolic tangent sigmoid 2 Luận án Cao học Chương 2 - Mạng neuron nhân tạo 2.10 Bằng cách sử dụng các hàm truyền khác nhau, ta được các neuron có tính chất khác nhau tương ứng. Neural Network ToolBox 3.0 của MATLAB 5.3 cung cấp các hàm truyền được liệt kê trong bảng 2.2. Bảng 2.2 Các hàm truyền của neuron TRANSFER FUNCTIONS compet Competitive transfer function. hardlim Hard limit transfer function. hardlims Symmetric hard limit transfer function logsig Log sigmoid transfer function. poslin Positive linear transfer function purelin Linear transfer function. radbas Radial basis transfer function. satlin Saturating linear transfer function. satlins Symmetric saturating linear transfer function softmax Soft max transfer function. tansig Hyperbolic tangent sigmoid trans. function. tribas Triangular basis transfer function. Sự tương quan giữa neuron sinh học và neuron nhân tạo như bảng 2.3 [6]. Bảng 2.3 So sánh Neuron sinh học và nhân tạo Neuron sinh học Neuron nhân tạo Tế bào Đơn vị (hay gọi là nút trong mạng) Khớp thần kinh Trọng số kết nối w Đầu vào kích thích Trọng số kết nối dương Đầu vào ức chế Trọng số kết nối âm Kích hoạt bằng tần số Trị ngưỡng b Phạm vi hoạt động giới hạn bởi lý tính của tế bào Phạm vi hoạt động giới hạn bởi hàm truyền f 2 Luận án Cao học Chương 2 - Mạng neuron nhân tạo 2.11 2.3.2 Môâ hình neuron nhiềàu ngõõ vàøo Tương tự như trên, mô hình neuron nhiều ngõ vào cho bởi hình 2.10, nhưng ngõ vào p là một véctơ R phần tử p1, p2, …, pR Các trọng số kết nối tương ứng với từng ngõ vào là w1,1, w1,2, …, w1,R Với ngưỡng kích hoạt b ta có: n = w1,1p1+ w1,2p2+ … + w1,RpR + b Biểu diễn dạng véctơ, n = Wp+b, khi đó ngõ ra của neuron vẫn là: a = f(Wp+b) Hình 2.10 Mô hình neuron nhiều ngõ vào 2.4 Mạng Neuron Mạng neuron là một hệ thống gồm nhiều neuron kết nối với nhau và hoạt động song song. Tính năng của mạng tùy thuộc vào cấu trúc của nó, các trọng số kết nối và quá trình tính toán tại các neuron đơn lẻ. Mạng neuron có thể học từ dữ liệu mẫu và tổng quát hóa dựa trên các mẫu đã học [2]. 2.4.1 Phâân loạïi mạïng neuron Người ta phân loại mạng neuron dựa vào kiểu kết nối của các neuron và dựa vào số lớp neuron trong mạng. 2 Luận án Cao học Chương 2 - Mạng neuron nhân tạo 2.12 ♦ Phân loại theo kiểu kết nối các neuron: Dựa theo kiểu kết nối, ta có mạng neuron truyền thẳng (feedforward Neural Network) và mạng hồi qui (recurrent NN). Trong mạng truyền thẳng, các kết nối đi theo một hướng nhất định, không tạo thành chu trình. Ngược lại, các mạng hồi qui cho phép các kết nối neuron tạo thành chu trình, với đỉnh là các neuron và cung là các kết nối giữa chúng. Các neuron nhận tín hiệu vào gọi là neuron vào