TỐI ƯU HOÁ CẤU TRÚC CỦA MẠNG NƠRON MỜ BẰNG GIẢI THUẬT DI TRUYỀN
Trang 1I: MẠNG NƠRON 2
I.1 Giới Thiệu Mạng Nơron 2
I.1.1 Lịch sử phát triển 2
I.1.2 Căn nguyên sinh học 3
I.1.3 Đơn vị xử lý 5
I.1.4 Hàm xử lý 6
I.1.5 Ứng dụng 11
I.2 Mạng Norn Một Lớp 11
I.3 Mạng Noron Nhiều Lớp (Multi-layer Neural Network) 12
II: MẠNG NƠRON MỜ: 12
III: GIẢI THUẬT DI TRUYỀN 15
1: Các toán tử của giải thật di truyền 16
1.1 Chọn lọc 16
1.2 Lai ghép 17
1.3 Đột biến 19
1.4 Hàm thích nghi 20
2: Xét trong mối quan hệ giữa mạng nơron và giải thuật di truyền 21
2.1 Cross-over (Lai ghép) 22
2.2 Mutation (Đột biến) 23
2.3 Fitness function (Hàm thích nghi) 23
2.4 Selection (chọn lọc) 25
3: Chiến lược điều chỉnh mờ tự động 25
IV: KẾT LUẬN 26
Trang 2BÁO CÁO NGHIÊN CỨU KHOA HỌC
Tên đề tài: TỐI ƯU HOÁ CẤU TRÚC CỦA MẠNG NƠRON MỜ BẰNG
GIẢI THUẬT DI TRUYỀN
MỞ ĐẦU
Lý do chọn đề tài: Gần đây suy diễn mờ được ứng dụng trong rất nhiều các
vấn đề khác nhau như: điều khiển máy móc hay trong các hệ thống sản xuất.Một trong những suy diễn mờ đó là mạng nơron mờ Có lẽ mạng noronkhông chỉ hấp dẫn đối với những người yêu thích công nghệ thông tin bởikhả năng do con người huấn luyện, mà còn bởi những ứng dụng thực tiễntrong cuộc sống của nó Chúng ta hoàn toàn có thể nhận dạng dấu vết vântay của tội phạm trong hình sự, có thể dự đoán thị trường chứng khoán, dựđoán thời tiết, dự toán chi phí cho một dự án đường cao tốc, khôi phụcnhững tấm ảnh, hay một chiếc xe lăn dành cho người khuyết tật có thể nhậnđược mệnh lệnh điều khiển bằng cử chỉ, hành động, thậm chí là suy nghĩ củangười ngồi trên xe v.v… nhờ có mạng noron nhân tạo Mạng nơron ban đầu
có cấu trúc thô, vấn đề quan trọng là chúng ta phải làm sao cho cấu trúc thô
đó trở thành cấu trúc tương đối thích hợp Do đó vấn đề tối ưu hoá cấu trúccủa mạng nơron là rất cần thiết Một trong những giải thuật dùng để tối ưuhoá cấu trúc của mạng nơron là giải thuật di truyền và giải thuật di truyềnđược xem là thích hợp nhất
Trang 3I: MẠNG NƠRON
I.1 Giới Thiệu Mạng Nơron
I.1.1 Lịch sử phát triển
Sự phát triển của mạng nơron trải qua cả quá trình đưa ra các khái niệm
mới lẫn thực thi các khái niệm này Dưới đây là các mốc đáng chú ý tronglịch sử phát triển của mạng nơron
* Cuối thế kỷ 19, đầu thế kỷ 20, sự phát triển chủ yếu chỉ là các côngviệc có sự tham gia của cả ba ngành Vật lý học, Tâm lý học và Thần kinhhọc, bởi các nhà khoa học như Hermann von Hemholtz, Ernst Mach, IvanPavlov Các công trình nghiên cứu của họ chủ yếu đi sâu vào các lý thuyếttổng quát về HỌC (learning), NHÌN (vision) và LẬP LUẬN (conditioning),
…và không hề đưa ra những mô hình toán học cụ thể mô tả hoạt động củacác nơron
* Mọi chuyện thực sự bắt đầu vào những năm 1940 với công trình củaWarren McCulloch và Walter Pitts Họ chỉ ra rằng về nguyên tắc, mạng củacác nơron nhân tạo có thể tính toán bất kỳ một hàm số học hay logic nào
* Tiếp theo đó là Donald Hebb, ông đã phát biểu rằng việc thuyết lậpluận cổ điển (classical conditioning) (như Pavlov đưa ra) là hiện thực bởi docác thuộc tính của từng nơron riêng biệt Ông cũng nêu ra một phương pháphọc của các nơron nhân tạo
* Ứng dụng thực nghiệm đầu tiên của các nơron nhân tạo có được vàocuối những năm 50 cùng với phát minh của mạng nhận thức (perceptronnetwork) và luật học tương ứng bởi Frank Rosenblatt Mạng này có khảnăng nhận dạng các mẫu Điều này mở ra rất nhiều hy vọng cho việc nghiêncứu mạng nơron Tuy nhiên nó có hạn chế là chỉ có thể giải quyết một số lớphữu hạn các bài toán
* Cùng thời gian đó, Bernard Widrow và Ted Hoff đã đưa ra một thuậttoán học mới và sử dụng nó để huấn luyện cho các mạng nơron tuyến tínhthích nghi, mạng có cấu trúc và chức năng tương tự như mạng củaRosenblatt Luật học Widrow-Hoff vẫn còn được sử dụng cho đến nay
Trang 4* Tuy nhiên cả Rosenblatt và Widrow-Hoff đều cùng vấp phải một vấn
đề do Marvin Minsky và Seymour Papert phát hiện ra, đó là các mạng nhậnthức chỉ có khả năng giải quyết các bài toán khả phân tuyến tính Họ cố gắngcải tiến luật học và mạng để có thể vượt qua được hạn chế này nhưng họ đãkhông thành công trong việc cải tiến luật học để có thể huấn luyện được cácmạng có cấu trúc phức tạp hơn
* Do những kết quả của Minsky-Papert nên việc nghiên cứu về mạngnơron gần như bị đình lại trong suốt một thập kỷ do nguyên nhân là không
có được các máy tính đủ mạnh để có thể thực nghiệm
* Mặc dù vậy, cũng có vài phát kiến quan trọng vào những năm 70 Năm
1972 Teuvo Kohonen và James Anderson độc lập nhau phát triển một loạimạng mới có thể hoạt động như một bộ nhớ Stephen Grossberg cũng rấttích cực trong việc khảo sát các mạng tự tổ chức (Self organizing network)
* Vào những năm 80, việc nghiên cứu mạng nơron phát triển rất mạnh
mẽ cùng với sự ra đời của PC Có hai khái niệm mới liên quan tới sự hồisinh này, đó là:
+ Việc sử dụng các phương pháp thống kê để giải thích hoạt
động của một lớp các mạng hồi quy (recurrent network) có thểđược dùng như bộ nhớ liên hợp (associative memory) trongcông trình của nhà vật lý học Johh Hopfield
+ Sự ra đời của thuật toán lan truyền ngược
(back-propagation) để luyện các mạng nhiều lớp được một vài nhànghiên cứu độc lập tìm ra như: David Rumelhart, JamesMcCelland,…Đó cũng là câu trả lời cho Minsky-Papert
I.1.2 Căn nguyên sinh học
Bộ não con người chứa khoảng 1011 các phần tử liên kết chặt chẽ vớinhau (khoảng 104 liên kết đối với mỗi phần tử) gọi là các nơron Dưới conmắt của những người làm tin học, một nơron được cấu tạo bởi các thành
Trang 5(axon) Tế bào hình cây có nhiệm vụ mang các tín hiệu điện tới tế bào thân,
tế bào thân sẽ thực hiện gộp (sum) và phân ngưỡng (threshold) các tín hiệuđến Sợi trục thần kinh làm nhiệm vụ đưa tín hiệu từ tế bào thân ra ngoài
Điểm tiếp xúc giữa một sợi trục thần kinh của nơron này và tế bào hình câycủa một nơron khác được gọi là khớp thần kinh (synapse) sự sắp xếp củacác nơron và mức độ mạnh yếu của các khớp thần kinh được quyết định bởicác quá trình hoá học phức tạp, sẽ thiết lập chức năng của mạng nơron
Một vài nơron có sẵn từ khi sinh ra, các phần khác được phát triển thông quaviệc học, ở đó có sự thiết lập các liên kết mới và loại bỏ các liên kết cũ
Cấu trúc của mạng nơron luôn luôn phát triển và thay đổi Các thay đổi saunày có khuynh hướng bao gồm chủ yếu là việc làm tăng hay giảm độ mạnhcủa các mối liên kết thông qua các khớp thần kinh
Mạng nơron nhân tạo không tiếp cận đến sự phức tạp của bộ não Mặc dùvậy có hai sự tương quan cơ bản giữa mạng nơron nhân tạo và sinh học Thứnhất, cấu trúc khối tạo thành chúng đều là các thiết bị tính toán đơn giản(mạng nơron nhân tạo đơn giản hơn nhiều) được liên kết chặt chẽ với nhau.Thứ hai, các liên kết giữa các nơron quyết định chức năng của mạng
Cần chú ý rằng mặc dù mạng nơron sinh học hoạt động rất chậm so với cáclinh kiện điện tử (10-3 so với 10-9 giây) nhưng bộ não có khả năng thực hiệnnhiều công việc nhanh hơn nhiều so với các máy tính thông thường Đó mộtphần là do cấu trúc song song của mạng nơron sinh học: toàn bộ các nơronhoạt động một cách đồng thời tại một thời điểm Mạng nơron nhân tạo cũngchia sẻ đặc điểm này Mặc dù hiện nay, các mạng nơron chủ yếu được thựcnghiệm trên các máy tính số, nhưng cấu trúc song song của chúng khiếnchúng ta có thể thấy cấu trúc phù hợp nhất là thực nghiệm chúng trên các vi
Trang 6mạch tích hợp lớn (VLSI: very large scale integrated circuit), các thiết bịquang và các bộ xử lý song song.
Mạng nơron đôi khi được xem như là các mô hình liên kết (connectionistmodels), là các mô hình phân bố song song (parallel-distributed models) cócác đặc trưng phân biệt sau:
* Tập các đơn vị xử lý;
* Trạng thái kích hoạt hay là đầu ra của đơn vị xử lý;
* Liên kết giữa các đơn vị Xét tổng quát, mỗi liên kết được
định nghĩa bởi một trọng số wjk cho ta biết hiệu ứng mà tínhiệu của đơn vị j có trên đơn vị k;
* Một luật lan truyền quyết định cách tính tín hiệu ra của từng đơn vị đầu vào của nó;
* Một hàm kích hoạt, hay hàm chuyển (activation function,transfer function), xác định mức độ kích hoạt khác dựa trênmức độ kích hoạt hiện tại;
* Một đơn vị điều chỉnh (độ lệch) (bias, offset) của mỗi đơn
vị;
* Phương pháp thu thập thông tin (luật học- learning rule);
* Môi trường hệ thống có thể hoạt động
I.1.3 Đơn vị xử lý
Một đơn vị xử lí (Hình 1) cũng được gọi là một nơron hay một nút(node), thực hiện một công việc rất đơn giản: nó nhận tín hiệu vào từ cácđơn vị phía trước hay một nguồn bên ngoài và sử dụng chúng để tính tínhiệu ra sẽ được lan truyền sang các đơn vị khác
Trang 7
aj : đầu vào mạng (net-input)
zj : đầu ra của nơron
g(x) : hàm chuyển (hàm kích hoạt)
Trong một mạng nơron có ba kiểu đơn vị:
* Các đơn vị đầu vào (input units), nhận tín hiệu từ bên ngoài;
* Cá đơn vị đầu ra (output units), gửi dữ liệu ra bên ngoài;
* Các đơn vị ẩn (hidden units), tín hiệu vào (input) và ra
(output) của nó nằm trong mạng
Mỗi đơn vị j có thể có một hoặc nhiều đầu vào: x0, x1, x2,…xn, nhưng chỉ cómột đầu ra zj Một đầu vào tới một đơn vị có thể là dữ liệu từ bên ngoàimạng, hoặc đầu ra của một đơn vị khác, hoặc là đầu ra của chính nó
I.1.4 Hàm xử lý
Hàm kết hợp
Mỗi một đơn vị trong một mạng kết hợp các giá trị đưa vào nó thông
qua các liên kết với các đơn vị khác, sinh ra một giá trị gọi là net-input.
Hàm thực hiện nhiệm vụ này gọi là hàm kết hợp (combination
Trang 8function), được định nghĩa bởi một luật lan truyền cụ thể Trong phầnlớn các mạng nơron, chúng ta giả sử rằng mỗi một đơn vị cung cấp một
bộ cộng như là đầu vào cho đơn vị mà nó có liên kết Tổng đầu vào đơn
vị j đơn giản chỉ là tổng trọng số của các đầu ra riêng lẻ từ các đơn vịkết nối cộng thêm ngưỡng hay độ lệch θj
aj = ji
1 w
n
i j i
gọi các đơn vị với luật lan truyền như trên là các sigma units Trong
một vài trường hợp người ta cũng có thể sử dụng các luật lan truyềnphức tạp hơn Một trong số đó là luật sigma-pi, có dạng như sau:
aj = ji
1 w
n i i
Hàm kích hoạt (hàm chuyển)
Phần lớn các đơn vị trong mạng nơron chuyển net-input bằng cách sửdụng một hàm vô hướng (scalar-to-scalar function) gọi là hàm kíchhoạt, kết quả của hàm này là một giá trị gọi là mức độ kích hoạt củađơn vị (unit’s activation) Loại trừ khả năng đơn vị đó thuộc lớp ra, giátrị kích hoạt được đưa vào một hay nhiều đơn vị khác Các hàm kíchhoạt thường bị ép vào một khoảng giá trị xác định, do đó thường đượcgọi là các hàm bẹp (squashing) Các hàm kích hoạt hay được sử dụnglà:
+ Hàm đồng nhất (Linear function, Identity function)
g(x) = x
Trang 9Nếu coi các đầu vào là một đơn vị thì chúng sẽ sử dụng hàm này Đôikhi một hằng số được nhân với net-input để tạo ra một hàm đồng nhất
+ Hàm bước nhị phân (binary step function, hard limit function)
Hàm này cũng được biết đến với tên “hàm ngưỡng” Đầu ra của hàmnày được giới hạn vào một trong hai giá trị:
Trang 10+ Hàm sigmoid (Sigmoid function (logsig))
( ) 1
Trang 11
Các hàm chuyển của các đơn vị ẩn (hidden units) là cần thiết để biểudiễn sự phi tuyến vào trong mạng Lý do là hợp thành của các hàmđồng nhất là một hàm đồng nhất Mặc dù vậy nhưng nó mang tính chấtphi tuyến (nghĩa là khả năng biểu diễn các hàm phi tuyến) làm cho cácmạng nhiều tầng có khả năng rất tốt trong biểu diễn các ánh xạ phituyến Tuy nhiên đối với luật học lan truyền ngược, hàm phải khả vi và
sẽ có ích nếu như hàm được gắn trong một khoảng nào đó Do vậy hàmsigmoid là lựa chọn thông dụng nhất
Đối với các đơn vị đầu ra (output units), các hàm chuyển cần được chọnsao cho phù hợp với sự phân phối của các giá trị đích mong muốn.Chúng ta đã thấy rằng đối với các giá trị ra trong khoảng [0,1], hàmsigmoid là có ích; đối với các giá trị đích mong muốn là liên tục trongkhoảng đó thì hàm này cũng vẫn có ích, nó có thể cho ta các giá trị rahay giá trị đích được căn trong một khoảng của hàm kích hoạt đầu ra.Nhưng nếu các giá trị đích không được biết trước khoảng xác định thìhàm hay được sử dụng nhất là hàm đồng nhất Nếu giá trị mong muốn
là dương nhưng không biết cận trên thì nên sử dụng một hàm kích hoạtdạng mũ (exponential output activation function)
Trang 12I.1.5 Ứng dụng
Trong quá trình phát triển, mạng nơron đã được ứng dụngthành công trong rất nhiều lĩnh vực Dưới đây là một số lĩnh vực ứngdụng chính của mạng nơron:
Aerospace: Phi công tự động, giả lập đường bay, các hệ thốngđiều khiển lái máy bay, bộ phát hiện lỗi
Automotive: Các hệ thống dẫn đường tự động cho ô tô, các bộphân tích hoạt động của xe
Banking: Bộ đọc séc và các tài liệu, tính tiền của thẻ tín dụng
Defense: Định vị- phát hiện vũ khí, dò mục tiêu, phát hiện đốitượng, nhận dạng nét mặt, các bộ cảm biến thế hệ mới, xử líảnh radar,…
Electronics: Dự đoán mã tuần tự, sơ đồ chip IC, điều khiển tiếntrình, phân tích nguyên nhân hỏng chip, nhận dạng tiếng nói,
mô hình phi tuyến
Entertaiment: Hoạt hình, các hiệu ứng đặc biệt, dự báo thịtrường
Financial: Định giá bất động sản, cho vay, kiểm tra tài sản cầm
cố, đánh giá mức độ hợp tác, phân tích đường tín dụng, chươngtrình thương mại qua giấy tờ, phân tích tài chính liên doanh, dựbáo tỉ lệ tiền tệ
Insurance: Đánh giá việc áp dụng chính sách, tối ưu hoá sảnphẩm
Trang 13 Mạng Kohonen
I.3 Mạng Noron Nhiều Lớp (Multi-layer Neural Network)
Mạng nơron có từ 2 lớp trở lên được gọi là mạng nơron nhiều lớp Mạng nơron nhiều lớp bao gồm một lớp vào, một lớp ra, một hoặc nhiều lớp ẩn
Mạng noron nhiều lớp lan truyền ngược sai số(Back- propagation Neural Network)
Mạng noron nhiều lớp ngược hướng (Counter – propagation NeuralNetwork)
II: MẠNG NƠRON MỜ:
Việc tích hợp kỹ thuật mạng nơron và logic mờ cho phép kết hợp ưu điểm của cả hai Một mặt, mạng nơron cung cấp cấu trúc tính toán dựa trên liên kết (dung thứ lỗi và các tính chất biểu diễn phân tán) và khả năng học cho các hệ logic mờ Mặt khác, các hệ logic mờ sẽ đưa vào mạng nơron cơ chế suy diễn dựa trên các luật “if…then”, chính sự kết hợp phong phú này cho phép xây dựng các hệ thống tích hợp: Hệ mờ nơron, mạng nơron mờ và các hệ lai
Trong mạng nơron mờ có thể là tín hiệu vào, tín hiệu ra hay trọng số là những số mờ Cũng có trường hợp mạng nơron mờ với tất cả các yếu tố
* Mạng nơron như một công cụ suy diễn
Nói mạng nơron như một công cụ suy diễn vì: mạng nơron có khả năngsuy diễn Với mỗi tín hiệu vào thì mạng nơron sẽ cho một đầu ra tương ứng
* Suy diễn mờ dựa trên mạng nơron:
Biểu diễn luật mờ:
Keller (1992) đề xuất mô hình mạng nơron truyền thẳng nhiều lớp biểu diễn các luật suy diễn cơ sở:
Trang 15Cách 1: w ij= 1 - aij Khi đó lớp ẩn đầu tiên đo sự bất cập giữa thông tin vào với Ai.
Ta xác định di như là di = max{(1-aij)aij '}Hoặc di = max{min(1-aij), a' ij}
Ở đây Ai’ = {ai1’,…,aimi’}là véc tơ vào tương ứng với mệnh đề X= Ai’
Cách 2 : w ij aij Khi đó, dj = max{|aij= aij '|}
Các hệ số ai xác định trọng số của mệnh đề X = Ai trong luật (ai
có thể được người thiết kế cung cấp hoặc đọc từ dữ liệu)
Ta thấy t = max {aidi}
Giả sử B tương ứng với tập mờ có độ thuộc {b1,…, bk} Khi đó trọng số ui được xác định bởi ui = 1- bi
Cuối cùng với bộ đầu vào (A1’,…, An’) ta có kết quả:
+ Lựa chọn biến vào ra trong tệp mẫu học
+ Chia tập mẫu học thành hai phần: phần huấn luyện và
phần kiểm tra