DANH MỤC CÁC HÌNH VẼ TRONG LUẬN VĂN Hình 1.1 Mô hình nơ ron sinh học Hình 1.2 Mô hình một nơ ron Hình 1.3 Mạng nơ ron truyền thẳng một lớp Hình 1.4 Mạng truyền thẳng nhiều lớp Hình 1.5 M
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
PHAN VIỆT CƯỜNG
LAI GHÉP NƠRON HOPFIELD VÀ GIẢI THUẬT DI TRUYỀN GIẢI BÀI TOÁN
TỐI ƯU RÀNG BUỘC
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Chuyên ngành:
Mã số: 1.01.10 Người hướng dẫn khoa học: PGS.TS ĐẶNG QUANG Á
Trang 2MỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
MỤC LỤC 3
DANH MỤC CÁC TỪ VIẾT TẮT TRONG LUẬN VĂN 5
DANH MỤC CÁC HÌNH VẼ TRONG LUẬN VĂN 6
DANH MỤC CÁC BẢNG TRONG LUẬN VĂN 7
MỞ ĐẦU 8
Chương 1 Tổng quan về mạng nơ ron 10
1.1 Giới thiệu về mạng nơ ron 10
1.1.1 Lịch sử phát triển của mạng nơ ron 10
1.1.2 Mô hình mạng nơ ron nhân tạo 11
1.2 Phạm vi ứng dụng của mạng nơ ron 19
1.2.1 Những bài toán thích hợp 19
1.2.2 Các lĩnh vực ứng dụng mạng nơ ron 22
1.2.3 Ưu và nhược điểm của mạng nơ ron 23
1.3 Mạng Hopfield 23
1.3.1 Mạng Hopfield rời rạc 24
1.3.2 Mạng Hopfield liên tục: 26
1.3.3 Mạng Hopfield với bài toán tối ưu 27
1 4 Kết luận 30
Chương 2 Giải thuật di truyền và tính toán tiến hóa 31
2 1 Giải thuật di truyền (Genetic Algorithms – GAs) 31
2.1.1 Giải thuật di truyền cổ điển 31
2.2 Tính toán tiến hóa 36
2.3 Áp dụng chương trình tiến hóa giải bài toán Knapsack0_1 37
2.3.1 Phát biểu bài toán 37
2.3.2 Thiết kế thuật toán 38
2.3 Ứng dụng của giải thuật di truyền 40
Trang 32.4 Ưu nhược điểm của giải thuật di truyền 40
Chương 3 Bài toán kết nối các thiết bị đầu cuối tới các bộ tập trung 42
3.1 Giới thiệu 42
3.2 Xác định bài toán 43
3.2.1 Phân tích các định nghĩa bài toán: 44
3.2.2 Ví dụ về bài toán TA 45
3.2.3 Các bài toán liên quan khác 46
3.3 Các cách tiếp cận trước đây 47
3.3.1 Giải thuật tham ăn 47
3.3.2 Giải thuật di truyền 48
3.3.3 Cách tiếp cận lai ghép giữa mạng nơ ron và giải thuật di truyền 49
Chương 4 Kết quả thực nghiệm và đánh giá 55
4.1 Bộ dữ liệu chuẩn 55
4.2 Kết quả thực nghiệm 56
4.2.1 Giải thuật di truyền 56
4.2.2 Giải thuật di truyền I 56
4.2.3 Giải thuật di truyền II 57
KẾT LUẬN 58
TÀI LIỆU THAM KHẢO 59
PHỤ LỤC 62
Trang 4DANH MỤC CÁC TỪ VIẾT TẮT TRONG LUẬN VĂN
Trang 5DANH MỤC CÁC HÌNH VẼ TRONG LUẬN VĂN
Hình 1.1 Mô hình nơ ron sinh học
Hình 1.2 Mô hình một nơ ron
Hình 1.3 Mạng nơ ron truyền thẳng một lớp
Hình 1.4 Mạng truyền thẳng nhiều lớp
Hình 1.5 Mạng hồi qui một lớp có nối ngƣợc
Hình 1.6 Mạng hồi quy nhiều lớp có nối
Hình 1.7 Mô hình mạng Hopfield
Hình 1.8 Biểu diễn lời giải bài toán cặp sách có trọng số
Hình 2.1 Sơ đồ tổng quát của giải thuật di truyền
Hình 3.1 Biểu diễn lời giải bài toán TA
Trang 6DANH MỤC CÁC BẢNG TRONG LUẬN VĂN
Bảng 3.1 Dung lƣợng và toạ độ của thiết bị đầu cuối
Bảng 3.2 Dung lƣợng và toạ độ của các bộ tập trung
Bảng 4.1 Các giá trị đầu vào cho thuật toán
Bảng 4.2 Kết quả đạt đƣợc bởi GA I
Bảng 4.3 Kết quả đạt đƣợc bởi GA II
Trang 7MỞ ĐẦU
Trong những năm gần đây nhu cầu sử dụng dịch vụ của mạng viễn thông càng ngày càng tăng mạnh cùng với sự phát triển và tăng trưởng của internet Nhưng tiện ích, chất lượng và khả năng của các mạng viễn thông hiện là có giới hạn, do đó yêu cầu đặt ra là phải thiết kế được những mạng viễn thông tối ưu Sự đa dạng của bài toán kết nối tối ưu đã nảy sinh không chỉ trong thiết kế, mà còn trong việc quản lý chất lượng dịch vụ của mạng viễn thông Có nhiều vấn đề mới được yêu cầu, trong nhiều trường hợp, các ứng dụng của các kỹ thuật tối ưu xuất hiện cho việc giải quyết chúng Một trong những vấn đề đó là bài toán kết nối các thiết bị đầu cuối vào các bộ tập trung (terminal assignment – TA)
Bài toán TA là một bài toán NP-đầy đủ, nó đã được rất nhiều các tác giả trên thế giới quan tâm tìm hiểu và đề xuất các cách tiếp cận khác nhau Trong luận văn này chúng tôi trình bày cách tiếp cận lai ghép giữa giải thuật di truyền và mạng nơ ron Hopfield để tối ưu hóa bài toán TA
Nội dung chính của luận văn bao gồm 4 chương
Chương 1: Tổng quan về mạng nơ ron Chương này trình bày tổng quan về cơ
sở của mạng nơ ron nhân tạo bao gồm: giới thiệu về nơ ron sinh học, mô hình mạng
nơ ron nhân tạo, phạm vi ứng dụng của mạng nơ ron, ưu nhược điểm của mạng nơ ron và trình bày về mạng nơ ron Hopfield, phương pháp ánh xạ một bài toán lên mạng nơ ron
Chương 2: Giải thuật di truyền và tính toán tiến hóa Chương này trình bày về giải thuật di truyền, tính toán tiến hóa, ưu nhược điểm của giải thuật di truyền Ứng dụng của giải thuật di truyền đối với bài toán tối ưu tổ hợp
Chương 3: Bài toán kết nối các thiết bị đầu cuối vào các bộ tập trung Trình bày các cách tiếp cận trước đây cho bài toán TA Cách tiếp cận của chúng tôi cho bài toán này, và đánh giá những ưu điểm của cách tiếp cận của chúng tôi so với các
Trang 8Chương 4: Kết quả thực nghiệm và đánh giá Chương này trình bày kết quả đạt được qua thực nghiệm, và so sánh với các phương pháp khác
Trang 9Chương 1 Tổng quan về mạng nơ ron 1.1 Giới thiệu về mạng nơ ron
1.1.1 Lịch sử phát triển của mạng nơ ron
Quá trình nghiên cứu và phát triển mạng nơ-ron nhân tạo có thể chia thành bốn giai đoạn nhƣ sau:
Giai đoạn 1: Có thể tính từ nghiên cứu của William (1890) về tâm lý học với
sự liên kết các nơ ron thần kinh Năm 1940, McCulloch và Pitts đã cho biết: nơ ron
có thể đƣợc mô hình hóa nhƣ thiết bị ngƣỡng (giới hạn) để thực hiện các phép tính logic và mô hình mạng nơ ron của McCulloch-Pitts cùng với giải thuật huấn luyện mạng của Hebb ra đời năm 1943
Giai đoạn 2: Vào khoảng gần những năm 1960, một số mô hình nơ ron hoàn thiện hơn đã đƣợc đƣa ra nhƣ: mô hình Perceptron của Rosenblatt (1958), Adaline của Widrow (1962) Trong đó mô hình Perceptron rất đƣợc quan tâm vì nguyên lý đơn giản, nhƣng nó cũng có hạn chế vì nhƣ Marvin Minsky và Seymour Papert của MIT (Massachurehs Insritute of Technology) đã chứng minh nó không dùng đƣợc cho các hàm logic phức (1969) Còn Adaline là mô hình tuyến tính, tự chỉnh, đƣợc dùng rộng rãi trong điều khiển thích nghi, tách nhiễu và vẫn phát triển cho đến nay Giai đoạn 3: Có thể tính vào khoảng đầu thập niên 80 Những đóng góp lớn cho mạng nơ ron trong giai đoạn này phải kể đến Grossberg, Kohonen, Rumelhart
và Hopfield Trong đó đóng góp của Hopfield gồm hai mạng phản hồi: mạng rời rạc năm 1982 và mạng liên tục năm 1984 Đặc biệt, ông đã dự kiến nhiều khả năng tính toán lớn của mạng nơ ron mà một nơ ron không có khả năng đó Cảm nhận của Hopfield đã đƣợc Rumelhart, Hinton và Williams đề xuất thuật toán sai số truyền ngƣợc nổi tiếng để huấn luyện mạng nơ ron nhiều lớp nhằm giải bài toán mà mạng khác không thể thực hiện đƣợc Nhiều ứng dụng mạnh mẽ của mạng nơ ron ra đời cùng với các mạng theo kiểu máy Boltzmann và mạng Neocognition của Fukushima
Trang 10Giai đoạn 4: Tính từ năm 1987 đến nay, hàng năm thế giới đều mở hội nghị toàn cầu chuyên ngành nơ ron (IJCNN) (International Joint Conference on Neural Networks) Rất nhiều công trình được nghiên cứu để ứng dụng mạng nơ ron vào các lĩnh vực, ví dụ như: kỹ thuật tính toán, tối ưu, sinh học, y học, thống kê, giao thông, hóa học… Cho đến nay, mạng nơ ron đã tìm được và khẳng định được vị trí của mình trong rất nhiều ứng dụng khác nhau
1.1.2 Mô hình mạng nơ ron nhân tạo
1.1.2.1 Nơ ron sinh học
Hệ thần kinh ở người có khoảng 1010
tế bào thần kinh được gọi là các nơ ron Mỗi nơ ron gồm có ba phần: Thân nơ ron với nhân ở bên trong (soma), một đầu thần kinh ra (axon) và một hệ thống hình cây thần kinh (dendrite) Có nhiều loại nơ ron khác nhau về kích thước và khả năng thu phát tín hiệu Tuy nhiên, chúng có cấu trúc và nguyên lý hoạt động chung Hình vẽ (1.1) là một hình ảnh đơn giản hóa của một loại nơ ron Trong thực tế có rất nhiều dây thần kinh vào và chúng bao phủ một
diện tích rất lớn (0.25 mm2) để nhận các tín hiệu từ các nơ ron khác Đầu thần kinh
ra được rẽ nhánh nhằm chuyển giao tín hiệu từ thân nơ ron tới nơ ron khác Các nhánh của đầu thần kinh được nối với các khớp thần kinh (synapse) Các khớp thần kinh này được nối với thần kinh vào của các nơ ron khác Thêm vào đó, các nơ ron
có thể sửa đổi tín hiệu tại các khớp, trong nơ ron nhân tạo được gọi là trọng số
Khớp nối dây thần kinh (đầu vào) Nhân
Trang 11Hoạt động của nơ ron sinh học có thể mô tả tóm tắt như sau:
Mỗi nơ ron nhận tín hiệu vào từ các tế bào thần kinh khác Chúng tích hợp các tín hiệu vào, khi tổng tín hiệu vượt quá một ngưỡng nào đó chúng tạo tín hiệu ra và gửi tín hiệu này tới các nơ ron khác thông qua dây thần kinh Các nơ ron liên kết với nhau thành mạng Mức độ bền vững của các liên kết này xác định một hệ số gọi
là trọng số liên kết
1.1.2.2 Nơ ron nhân tạo
a Trọng số và tổng tín hiệu đầu vào:
Mô phỏng nơ ron sinh học để tạo ra các nơ ron nhân tạo Mỗi nơ ron có rất nhiều dây thần kinh vào nghĩa là mỗi nơ ron có thể tiếp nhận đồng thời nhiều tín hiệu Giả sử tại nơ ron i có N tín hiệu vào, mỗi tín hiệu vào Sj được gán một trọng
số Wij tương ứng Ta có thể ước lượng tổng tín hiệu đi vào nơ ron neti theo một số dạng sau:
net
1 2
net Trong đó: và wij(j=1, ,N) lần lượt là bán kính và tâm mặt cầu
b Hàm kích hoạt
Hàm biến đổi tín hiệu đầu vào net cho tín hiệu đầu ra out được gọi là hàm kích
hoạt Hàm này có đặc điểm là không âm và bị chặn Có nhiều dạng hàm kích hoạt, người ta thường sử dụng một hàm kích hoạt chung cho toàn mạng
(1.2)
(1.3)(1.1)
Trang 12f out
net f
LTP net
UTP net
net f
1
(1.5)
ở đây UTP > LTP Trong đó:
UTP là ngưỡng trên (Upper Trip Point) LTP là ngưỡng dưới (Lower Trip Point)
f out
Mô hình của một nút xử lý (nút thứ i):
i j ij
U
# 1
U f
Trang 13có các đặc tính đầu vào, đầu ra và thực hiện một chức năng tính toán cục bộ
Với việc giả lập các hệ thống sinh học, các cấu trúc tính toán, mạng nơ ron có thể giải quyết đƣợc các lớp bài toán nhất định, nhƣ: bài toán xếp loại, bài toán lập lịch, bài toán tìm kiếm, bài toán nhận dạng mẫu…Các bài toán phức tạp cao, không xác định Tuy nhiên, sự liên kết giữa một bài toán bất kỳ trong thực tế với một giải pháp mạng nơ ron lại là một việc không dễ dàng
Xét một cách tổng quát, mạng nơ ron là một cấu trúc xử lý song song thông tin phân tán mang các đặc tính nổi bật sau:
- Là mô hình toán học dựa trên bản chất của nơ ron
- Bao gồm một số lƣợng rất lớn các nơ ron liên kết với nhau
- Mạng nơ ron có khả năng học, khái quát hóa tập dữ liệu học thông qua việc gán và hiệu chỉnh các trọng số liên kết
- Tổ chức theo kiểu tập hợp mang lại cho mạng nơ ron khả năng tính toán rất lớn, trong đó không có nơ ron nào mang thông tin riêng biệt
Trang 14hiệu được truyền theo một hướng nhất định nào đó Các đầu vào được nối với các
nơ ron theo các trọng số khác nhau, sau quá trình xử lý cho ra một chuỗi các tín hiệu ra Nếu mạng nơ ron là mô hình LTU thì nó được gọi là mạng Perceptron, nếu mạng nơ ron là mô hình LGU thí nó được gọi là mạng Adaline
Với mỗi giá trị đầu vào x = [x1,x2,….,xn]T Qua quá trình xử lý của mạng ta sẽ thu được một bộ tương ứng các giá trị đầu ra là y = [y1,y2,…,yn]T được xác định như sau:
n i x
w f
m j i
1, 2, , T
T
W w w w là véc tơ trọng số của nơ ron thứ i
fi: hàm kích hoạt của nơ ron thứ i
là lớp ra Các lớp ở giữa lớp vào và lớp ra được gọi là các lớp ẩn Hình (1.4) mô tả cấu trúc của mạng nơ ron truyền thẳng nhiều lớp
Trang 15b Mạng hồi quy:
- Mạng hồi qui một lớp có nối ngƣợc
- Mạng hồi qui nhiều lớp có nối ngƣợc
1.1.2.4 Luật học
Mạng nơ ron có một số ƣu điểm so với máy tính truyền thống Cấu trúc song song của mạng nơ ron rất thích hợp cho những ứng dụng đòi hỏi tốc độ nhanh theo thời gian thực Khả năng huấn luyện của mạng nơ ron có thể khai thác để phát triển
hệ học thích nghi Mặt khác, với khả năng tổng quát hóa của mạng nơ ron, nó có thể
Y1
Y2
YM
X1
X2
XN
Hình 1.6 Mạng hồi quy nhiều lớp có nối ngƣợc
Trang 16áp dụng để điều khiển nhiều tham số phức tạp đồng thời từ đó giải quyết dễ dàng một số bài toán thuộc lớp bài toán NP – đầy đủ (NP – complete)
Các luật học đóng vai trò quan trọng trong việc xác định một mạng nơ ron nhân tạo Một cách đơn giản về khái niệm học của mạng nơ ron là cập nhật trọng số trên cơ sở các mẫu Theo nghĩa rộng thì học có thể được chia làm hai loại: học tham
số trong thời gian học, còn luật Perceptron thì thêm hoặc bỏ trọng số tùy theo giá trị sai số là dương hay âm
Trang 17Một loạt các luật học khác cũng được dựa trên tư tưởng này Luật Oja là cải tiến và nâng cấp của luật Delta Luật truyền ngược là luật mở rộng của luật Delta cho mạng nhiều lớp Đối với mạng truyền thẳng thường sử dụng luật truyền ngược
để chỉnh trọng số với tín hiệu chỉ đạo từ bên ngoài và người ta gọi mạng này là mạng lan truyền ngược
+ Học không có tín hiệu chỉ đạo: luật học này sử dụng đầu ra của mạng làm cơ
sở để điều chỉnh các trọng số liên kết Hay trong luật này chính là tín hiệu ra của mạng Điển hình là luật Hebb (1949) thường dùng cho các mạng tự liên kết, luật LVQ (Learning Vectơ Quantization) dùng cho mạng tự tổ chức một lớp thuộc lớp ánh xạ đặc trưng của Kohonen
Luật học Hebb là luật sinh học xuất phát từ tiên đề của Hebb cho rằng: giữa hai nơ ron có quan hệ và có thay đổi thế năng mạng thì giữa chúng có sự thay đổi trọng số liên kết Nói cách khác, trọng số được điều chỉnh theo mối tương quan trước và sau, nghĩa là:
là sự thay đổi trọng số liên kết từ nơ ron j đến nơ ron i
xj là tín hiệu vào nơ ron j
yi là tín hiệu ra của nơ ron i
là tốc độ học, nằm trong khoảng (0,1) Luật Hebb giải thích việc chỉnh trọng số trong phạm vi cục bộ của mạng mà không cần tín hiệu chỉ đạo từ bên ngoài Hopfield cũng cải tiến luật Hebb cho các mạng tự liên kết thành 16 dạng khác nhau theo kiểu luật Hebb, luật đối Hebb, luật Hopfield…
Như vậy, ứng với mỗi nhóm mạng thường áp dụng một luật học nhất định Nếu tồn tại hàng chục loại mạng khác nhau thì các luật học dùng trong mạng nơ ron
có thể tăng lên rất nhiều lần
Trang 18Đối với mạng phản hồi thường sử dụng luật Hebb và các luật cải tiến của nó
để điều chỉnh trọng số mà không cần tín hiệu chỉ đạo từ bên ngoài
+ Học tăng cường: trong một số trường hợp, thông tin phản hồi chỉ là tín hiệu bao gồm hai trạng thái cho biết tín hiệu đầu ra của mạng là đúng hay sai Quá trình học dựa trên các thông tin hướng dẫn như vậy được gọi là học có củng cố (học tăng cường) và tín hiệu mang thông tin phản hồi được gọi là tín hiệu củng cố cho quá trình học Ta có thể thấy rằng quá trình học này là một dạng của quá trình học
có tín hiệu chỉ đạo bởi vì mạng nhận được một số thông tin phản hồi từ bên ngoài
b Học cấu trúc: tìm kiếm các tham số của cấu trúc mạng để tìm ra một cấu
trúc mạng hoạt động tốt nhất Trong thực tế, việc học cấu trúc là tìm ra số lớp ẩn và tìm ra số nơ ron trên mỗi lớp đó Giải thuật di truyền thường được sử dụng trong các cấu trúc nhưng thường chạy rất lâu, thậm chí ngay cả đối với mạng có kích thước trung bình Ngoài ra kỹ thuật gọt tỉa mạng hay mạng tăng dần cũng được áp dụng trọng việc học cấu trúc của mạng có kích thước tương đối nhỏ
1.2 Phạm vi ứng dụng của mạng nơ ron
1.2.1 Những bài toán thích hợp
Mạng nơ ron được coi như là hộp đen biến đổi vectơ đầu vào m biến thành vectơ đầu ra n biến Tín hiệu ra có thể là các tham số thực (tốt nhất nằm trong khoảng [0,1], hoặc [-1,1]), số nhị phân 0,1 hay số lưỡng cực -1;+1 Số biến của vectơ vào ra không bị hạn chế song sẽ ảnh hưởng tới thời gian tính và tải dữ liệu của máy tính Nói chung, các lớp bài toán áp dụng cho nơ ron có thể được phân chia thành bốn loại:
Phân lớp (classification)
Mô hình hóa (modeling)
Biến đổi, thực hiện ánh xạ từ một không gian đa biến vào không gian
đa biến khác tương ứng (transformation and mapping)
Liên kết và kỹ thuật dịch chuyển cửa sổ (association and moving window)
Trang 191.2.1.1 Phân loại:
Một trong các công việc đơn giản và thường được sử dụng nhiều trong việc quản lý các đối tượng đa biến là phân loại (phân lớp một đối tượng vào các nhóm, nhóm con, hay chủng loại…) Ví dụ: bài toán phân lớp ảnh, nhận dạng mẫu,… Khi phải phân loại một quyết định phức tạp, chúng ta phải bắt đầu với việc nghiên cứu thống kê các mối liên quan giữa nhiều đối tượng và thuộc tính của lớp các đối tượng Có thể nói việc xây dựng một cây phân lớp các quyết định phải được thực hiện trước khi thủ tục học được tiến hành Nếu kết quả cuối cùng không thỏa mãn, chúng ta cần phải xem xét lại cách biểu diễn các đối tượng hoặc cây phân lớp hoặc thay đổi cả hai
1.2.1.2 Mô hình hóa:
Các hệ thống phân loại đưa ra các câu trả lời rời rạc như có, không hoặc một
số nguyên định danh các đối tượng đầu vào thuộc lớp nào Mô hình hóa yêu cầu hệ thống phải sản sinh ra các câu trả lời mang tính liên tục Trong quá trình mô hình hóa, cần một số lượng nhỏ các số liệu để xây dựng mô hình
Mô hình này có thể đưa ra các dự báo cho tất cả các đối tượng đầu vào Việc tìm ra đường cong phù hợp với các số liệu thực nghiệm là một trong những ứng dụng thuộc dạng này Trong bất kỳ loại mô hình nào cũng phải tuân theo một giả định là: các thay đổi nhỏ của tín hiệu vào chỉ gây ra những biến đổi nhỏ của tín hiệu
ra
Trong các vấn đề đa biến, mạng nơ ron có nhiều lợi thế hơn so với các phương pháp mô hình hóa cổ điển sử dụng các hàm giải tích Bởi vì trong phương pháp mô hình hóa cổ điển đối với mỗi đầu ra, ta phải định nghĩa một hàm cụ thể cùng một bộ các tham số, trong khi đối với mạng nơ ron thì không phải quan tâm tới các hàm đó Tuy nhiên, trong các phương pháp mô hình hóa cổ điển, các hệ số có thể có một số
ý nghĩa nào đó đối với vấn đề cần giải quyết, trái lại các trọng số của mạng không mang một ý nghĩa nào cả
Trang 20Trong nhiều ứng dụng khá đặc biệt, khi sai số thực hiện khá lớn chúng ta có thể mô hình hóa bằng cách cân xứng hóa giữa tín hiệu vào tín hiệu ra Trong các trường hợp này, sử dụng mạng như một bảng tra là đủ, mặc dù các bảng này sẽ cho lời giải giống nhau trong một khoảng nào đó của tín hiệu vào
Đối với việc chọn chiến lược học, chúng ta cần quan tâm đến sự phân bố của các đối tượng dùng để học Nếu số lượng đối tượng dùng cho việc học là ít và được phân bố tương đối đều trong toàn không gian, khi đó số liệu có thể được dùng ngay cho việc mô hình hóa Trái lại, nếu các đối tượng là nhiều, sẵn có nhưng phân bố ngẫu nhiên trong không gian biến, đầu tiên phải giảm thiểu chúng sao cho vẫn bao trùm toàn không gian, sau đó mới dùng làm số liệu cho mô hình hóa
1.2.1.3 Biến đổi
Việc biến đổi nhằm mục đích nén các đối tượng từ không gian m chiều vào không gian có số chiều nhỏ hơn rất nhiều Qua việc nén, các đối tượng này sẽ bộc lộ các đặc điểm mà chúng ta không thể nhận thấy khi chúng thuộc không gian nhiều chiều Theo một chừng mực nào đó, biến đổi tương tự như việc nhóm các đối tượng hay phân loại thể hiện ở chỗ biểu diễn các kết quả ra Trong phân loại, chúng ta muốn định danh các nhóm hoặc lớp mà đối tượng thuộc vào, còn trong biến đổi, chúng ta quan tâm đến toàn bộ các đối tượng và từ đó chúng ta thu nhận được các nhóm từ các đối tượng học Điểm quan trọng trong biến đổi là các đối tượng được biểu diễn tọa độ của nơ ron trung tâm chứ không phải là giá trị của tín hiệu ra Một trong những ứng dụng của việc biến đổi là tiền xử lý (thường được gọi là
kế hoạch hóa thực nghiệm) Thông qua quá trình tiền xử lý, chúng ta có thể chọn ra các đối tượng điển hình từ tập vô số các đối tượng ngẫu nhiên, loại trừ các đối tượng dư thừa hay trùng lặp Điều này là cực kỳ quan trọng khi lựa chọn các đối tượng làm mẫu học cho mạng lan truyền ngược sai số
1.2.1.4 Liên kết
Liên kết là tìm ra đối tượng đích có mối quan hệ với một đối tượng vào, thậm chí cả khi đối tượng vào bị hỏng hoặc hoàn toàn không biết Theo một nghĩa nào
Trang 21đó, liên kết có thể được coi là phân loại Thủ tục học cho vấn đề này là học có tín hiệu chỉ đạo
Lĩnh vực nghiên cứu các quá trình phụ thuộc thời gian là một trong những lĩnh vực chính trong nghiên cứu quá trình điều khiển Ở đây người sử dụng dự báo được các hành vi của hệ thống đa biến dựa trên một chuỗi số liệu được ghi nhận theo thời gian Trong mô hình hóa phụ thuộc thời gian, các biến của tín hiệu vào bao gồm các giá trị hiện tại và quá khứ của các biến quá trình, trong đó tín hiệu ra dự báo giá trị trong tương lai của những biến quá trình đó Về nguyên tắc các hiểu biết này có thể
có các độ dài tùy ý nhưng trong quá trình kiểm soát hiểu biết tương lai chỉ bao gồm một bước thời gian Việc học dịch chuyển tới bước tiếp theo tạo ra các cửa sổ bao gồm số bước thời gian của vectơ ra Để tạo ra mô hình hoàn chỉnh của một quá trình, tất cả các biến quá trình phải được huấn luyện tại đầu ra của mạng, nhưng không phải tất cả các biến trong quá trình đều ảnh hưởng như nhau đối với kết quả cuối cùng, chỉ có một số biến là đáng quan tâm Do đó chúng ta chỉ phải chọn các biến đó cho quá trình học Kỹ thuật dịch chuyển cửa sổ có thể được sử dụng để giải quyết các vấn đề chuỗi các sự kiện và đối tượng như trong các lĩnh vực về môi trường theo thời gian, kiểm soát hỏng hóc
Trang 22 Giải các bài toán tối ưu: vấn đề chính là tìm những thuật toán huấn luyện mạng để góp phần tìm nghiệm cho nhiều lớp bài toán tối ưu toàn cục
1.2.3 Ưu và nhược điểm của mạng nơ ron
Không có cách tổng quát để đánh giá hoạt động bên trong mạng
Việc học đối với mạng có thể khó (hoặc không thể) thực hiện
Khó có thể dự đoán trước được hiệu quả của mạng trong tương lai (khả năng tổng quát hóa)
1.3 Mạng Hopfield
Trong mạng hồi quy tín hiệu ra của một nơ ron có thể được truyền ngược lại làm tín hiệu vào cho các nơ ron ở các lớp trước, hoặc các nơ ron trong cùng một lớp Phần này sẽ trình bày mô hình mạng tiêu biểu thuộc lớp mạng hồi quy, đó là mạng Hopfield
Mạng Hopfield được bắt đầu nghiên cứu từ năm 1982 Đây là mạng một lớp với thông tin và quá trình xử lý có nối ngược Chính công trình của Hopfield đã được áp dụng trong rất nhiều ứng dụng, đặc biệt trong bộ nhớ liên kết và trong các bài toán tối ưu
Giả sử mạng được xây dựng dưới mạng một lớp, mỗi nơ ron được truyền ngược lại làm tín hiệu vào cho các nơ ron khác, nhưng bản thân các nơ ron không tự liên kết với chính nó Khi đó mô hình mạng Hopfield được biểu diễn như hình 1.7
Trang 23Tín hiệu ra của nơ ron thứ j nào đó được truyền ngược lại làm tín hiệu vào cho
các nơ ron khác trong mạng một cách đầy đủ thông qua các trọng số tương ứng
Ký hiệu Wij là liên kết giữa hai nơ ron i và j (Wij = Wji), Vi là đầu ra của nơ ron i Ta coi vectơ (V1,V2,…,Vn) là trạng thái của mạng Tại mỗi thời điểm t mỗi nơ ron i tổng hợp các tín hiệu Vj từ các nơ ron khác và tín hiệu từ bên ngoài (bias)
Mạng đạt trạng thái cân bằng nếu Vi(t+1) = Vi(t), i
Ta định nghĩa hàm năng lượng của mạng
1
1
1( , , )
Tuỳ theo phương thức hoạt động của mạng mà người ta phân mạng Hopfield
ra thành mạng Hopfield rời rạc và mạng Hopfield liên tục
Trang 24
Việc cho hàm kích hoạt (1.13) tương đương với quy tắc chuyển trạng thái của mạng Vi(t+1) = Vi(t) + V i;
Trong đó V iđược cho bởi công thức (quy tắc)
Định lý: Giả sử Wii = 0 (ii n, ) Khi đó với quy tắc chuyển trạng thái như trên và cập nhật không đồng bộ thì năng lượng của mạng không tăng (tức là giảm hoặc giữ nguyên) [13]
Chứng minh: Giả sử nơ ron k thay đổi trạng thái từ thời điểm t đến t+1 Khi
đó mạng sẽ thay đổi năng lượng và
nếu ngược lại
1 0 ( )
Trang 25Sự hội tụ của mạng Hopfield liên tục được cho bởi định lý sau:
Định lý: (Xem Takefuji [22]) Nếu fi(Ui) (i 1 ,n) là các hàm khả vi và không
Với tư cách là hàm kích hoạt người ta thường chọn hàm Sigmoid:
)) 2 tanh(
1 ( 2
1 1
1 )
U λ i
e U
Sigmoid V
i i
i
dV V
E dt
dU dU
dV V
E dt
dE
2
0.5 0.6 0.7 0.8 0.9 1
0.5 0.6 0.7 0.8 0.9 1
Trang 26Đồ thị sigmoid Với hàm kích hoạt Sigmoid thì cực tiểu địa phương của hàm năng lượng buộc xảy ra với các giá trị của Vi bằng 0 hoặc 1 Chính vì vậy mạng Hopfield được sử dụng cho các bài toán tối ưu tổ hợp {0,1}
Nhận xét rằng hàm kích hoạt sigmoid được định nghĩa bởi (1.16) là một hàm nén (squashing function) trong dải [0,1] và vì thế thích hợp cho các bài toán tối ưu {0,1} Nếu cần giải bài toán tối ưu {-1,1} cần sử dụng hàm nén trong dải [-1,1], chẳng hạn, hàm tanh(x)
1.3.3 Mạng Hopfield với bài toán tối ưu
Sau công trình của Hopfield và Tank (1985) mạng Hopfield đã được sử dụng nhiều vào việc giải bài toán tối ưu tổ hợp
Như đã biết, mạng Hopfield sẽ đạt tới trạng thái cân bằng khi hàm năng lượng của nó đạt tới giá trị cực tiểu Vì vậy, từ bài toán cho trước, ta xây dựng một hàm mục tiêu F nào đó (đã được xử lý các ràng buộc) và đặt F = E (E là hàm năng lượng), sau đó tìm mối liên hệ giữa các biến của chúng Chính vì vậy mà mạng Hopfield rất phù hợp với các bài toán tối ưu tổ hợp, đặc biệt là đối với một số bài toán thuộc lớp NP - đầy đủ như bài toán người bán hàng, bài toán phân các thiết bị đầu cuối tới các bộ tập trung có trọng số…
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Đồ thị hàm y = tanh(x)
Trang 27Tuy nhiên, khi sử dụng mạng Hopfield vào việc giải quyết các bài toán tối ưu trong thực tế còn gặp một số hạn chế sau:
Mạng Hopfield không đảm bảo cho hội tụ toàn cục Để khắc phục, người ta kết hợp mạng Hopfield với một số giải thuật khác, ví dụ: giải thuật di truyền,…, hoặc dựa vào phương trình động học một số hạng đặc biệt gọi là số hạng leo đồi Từ
đó hàm năng lượng của mạng có thể thay đổi đến một trạng thái cao hơn, tránh được hội tụ địa phương và tiến tới hội tụ toàn cục
Việc chọn hệ số của hàm mục tiêu và hệ số của hàm ràng buộc để nhận được một lời giải tốt là hết sức khó khăn Cho đến nay, việc chọn nó vẫn chủ yếu dựa vào kinh nghiệm Hiện nay, đã có một số phương pháp điều khiển các hệ số này bằng cách dùng điều khiển mờ
Một cách tổng quát, có thể xây dựng một số bước cần phải thực hiện khi sử dụng mạng Hopfield vào việc giải bài toán tối ưu như sau (ánh xạ bài toán tối ưu lên mạng nơ ron, xem [2]):
Lập sơ đồ biểu diễn các đầu ra của mạng sao cho nó có thể giải mã thành nghiệm của bài toán tối ưu
Tạo hàm năng lượng sao cho giá trị cực tiểu của nó ứng với nghiệm tốt nhất của bài toán cần ánh xạ
Gán giá trị cho các tham số của hàm năng lượng, điều này xác định các trọng
số tương đối gán cho các thành phần khác nhau của hàm năng lượng
Đưa ra phương trình động học cho các nơ ron
Khởi tạo các giá trị đầu vào
Chú ý: không có phương pháp ánh xạ trực tiếp các bài toán tối ưu có ràng
buộc lên mạng nơ ron Cho nên phải thêm vào hàm mục tiêu các thành phần phạt khi các ràng buộc bị phá vỡ Khi đó hàm năng lượng được biểu diễn như tổng của hàm mục tiêu và các thành phần phạt
* Ví dụ: Xét bài toán cặp sánh có trọng số
Trang 28nếu nối với nếu khác
Phát triển bài toán: Cho n điểm i = 1 ,n khoảng cách giữa hai điểm i và j là dij
Phải nối các điểm thành từng cặp, mỗi điểm chỉ nối với đúng một điểm khác sao cho tổng độ dài của đường nối là nhỏ nhất
Hình vẽ dưới đây chỉ là ví dụ khi n = 6
(a) Lời giải tốt (b) Lời giải xấu
Ánh xạ bài toán lên mạng nơ ron:
Ta gán cho mỗi cặp điểm (i, j) với i<j một nơ ron ij với đầu ra là V ij Như vậy
cần tất cả
2 1
n n
nơ ron Mỗi phương án của bài toán ứng với một trạng thái của
ij V d
1
1, i 1 ,n, (1 19)
Các ràng buộc trên chỉ ra rằng mỗi điểm chỉ được nối với đúng một điểm khác Ta định nghĩa V ij V ji khi j<i và Vii= 0 Đưa ra thành phần phạt vào hàm cần cực tiểu hoá ta đi đến hàm năng lượng:
Hình 1 8 Biểu diễn lời giải bài toán cặp sách có trọng số
Trang 29d E
,
122
E
ta xác định được phương trình động học của các nơ ron
V V γ
V
E dt
dU
ij k ik ij
Có thể chọn hàm kích hoạt là hàm McCulloch – Pitts hay hàm Sigmoid Và
như vậy ta đã ánh xạ được bài toán sánh cặp có trọng lên mạng nơ ron nhân tạo
1 4 Kết luận
Mạng truyền thẳng một lớp dễ phân tích nhưng không mô tả được mọi hàm Mạng nhiều lớp khắc phục được điều này, nhưng lại rất khó phân tích và gặp khó khăn trong quá trình xây dựng mạng (số lớp ẩn và số phần tử trong lớp) Hơn nữa, mạng truyền thẳng nhiều lớp có thể gây sai số tích luỹ qua các lớp
Mạng phản hồi một lớp (nổi bật là mạng Hopfield) có cấu trúc đơn giản vì thế
dễ phân tích, không chứa sai số tích luỹ Mạng được nghiên cứu và thực hiện với phần động học tuyến tính vì vậy nó rất thích hợp với các loại mô hình toán tối ưu tổ hợp, điều khiển v v…
Mạng nơ ron truyền thẳng chỉ đơn thuần tính toán các tín hiệu ra dựa trên các tín hiệu vào và trọng số liên kết nơ ron đã xác định sẵn ở trong mạng Do đó chúng không có trạng thái bên trong nào khác ngoài vectơ trọng số W Đối với mạng hồi quy, trạng thái bên trong của mạng được lưu trữ tại các ngưỡng của nơ ron Nói chung các mạng hồi quy không ổn định, thậm chí còn rối loạn, mạng cần phải tính toán rất lâu, thậm chí cố thể lặp vô hạn trước khi đưa ra kết quả mong muốn Quá trình học của mạng hồi quy cũng phức tạp hơn hơn mạng truyền thẳng rất nhiều Tuy vậy, các mạng hồi quy có thể cho phép mô phỏng các hệ thống tương đối phức
Trang 30Chương 2 Giải thuật di truyền và tính toán tiến hóa
2 1 Giải thuật di truyền (Genetic Algorithms – GAs)
Giải thuật di truyền (Genetic Algorithms - GA) là kỹ thuật phỏng theo quá trình tiến hóa tự thích nghi của các quần thể sinh học dựa trên học thuyết Darwin Thoạt tiên, nó đƣợc sử dụng để giải quyết các bài toán riêng rẽ xuất phát từ sinh học vào cuối những năm 50 và đƣợc Holland trình bày một cách có hệ thống trong [9]
để giải quyết bài toán tối ƣu hàm nhiều biến nhờ kiểu gene nhị phân (nay đƣợc gọi
là GA cổ điển) Nó nhanh chóng đƣợc nhiều tác giả cải tiến một cách phong phú để giải quyết các bài toán khó trong thực tiễn với tên gọi chung là tính toán tiến hóa (xem [10]) Việc giải quyết các bài toán tuy đa dạng nhƣng thủ tục áp dụng vẫn dựa trên lƣợc đồ GA cổ điển
2.1.1 Giải thuật di truyền cổ điển
GA cổ điển đƣợc Holland giới thiệu (chi tiết xem [23]) để giải bài toán tối ƣu:
Ví dụ: về một nhiễm sắc thể trong GA cổ điển:
0 0 1 1 1 0 1 0 1 1
Trang 31Mỗi kiểu gene (tức một nhiễm sắc thể cụ thể) biểu thị một lời giải có thể của bài toán, một quá trình tiến hóa được thực hiện trên một quần thể (một tập hợp nhiễm sắc thể) tương đương với sự tìm kiếm trong không gian các lời giải có thể
Sự tìm kiếm này đòi hỏi sự cân bằng giữa hai mục đích: tìm lời giải tốt nhất
và khám phá không gian tìm kiếm
Thuật toán di truyền cổ điển thực hiện tìm kiếm theo nhiều hướng bằng cách duy trì một tập lời giải có thể, khuyến khích sự hình thành và trao đổi thông tin giữa các hướng Tập lời giải trải qua các quá trình tiến hóa và cuối cùng cho ta một lời giải đủ tốt tùy theo yêu cầu Tại mỗi thế hệ các lời giải tương đối tốt được tái sinh, trong khi đó các lời giải tương đối tồi bị loại bỏ dần
Hình 2.1 Sơ đồ tổng quát của giải thuật di truyền
Trên tập nhiễm sắc thể , người ta xác định hàm eval để đánh giá độ “thích
nghi” của mỗi cá thể hay chính là độ tốt, xấu của từng lời giải (hàm này đóng vai trò của một môi trường sống trong thuyết tiến hóa):
Trang 32 Tạo quần thể ban đầu P(0) gồm N phần tử và thực hiện quá trình tiến hóa theo cấu trúc:
Các thủ tục chọn lọc một quần thể theo phương pháp bánh xe xổ số và tái tạo
nhờ các toán tử di truyền được thực hiện như sau:
2.1.1.1 Thủ tục chọn lọc
Phép chọn lọc là một quá trình chọn lọc các cá thể để tham gia vào các pha tiếp theo của quá trình tiến hóa Việc lựa chọn các cá thể từ một quần thể dựa trên
độ thích nghi của cá thể đó, nghĩa là những cá thể nào có giá trị hàm thích nghi cao
có nhiều khả năng được chọn để tái tạo trong các thế hệ tiếp theo
Với mỗi quần thể P(t-1) gồm N nhiễm sắc thể: P(t-1)= {v1, v2,…,vn} ta xây
dựng bánh xe xổ số và thực hiện quá trình chọn lọc: