Trong đề tài này tác giả đề xuất thiết kế bộ điều khiển neuron dùng mạng truyền thẳng nhiều lớp được tối ưu trọng số bằng giải thuật bầy đàn dành cho điều khiển Mobile robot... Trang 11
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ GIAO THÔNG VẬN TẢI
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM
- oOo -
VŨ NGỌC HUYÊN
ỨNG DỤNG MẠNG NEURON
ĐIỀU KHIỂN MOBILE ROBOT
LUẬN VĂN THẠC SĨ KỸ THUẬT
TP HCM 08 - 2013
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ GIAO THÔNG VẬN TẢI
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM
- oOo
-VŨ NGỌC HUYÊN
ỨNG DỤNG MẠNG NEURON
ĐIỀU KHIỂN MOBILE ROBOT
CHUYÊN NGÀNH: KỸ THUẬT ĐIỀU KHIỂN & TỰ ĐỘNG HÓA
MÃ SỐ: 60520216
LUẬN VĂN THẠC SĨ KỸ THUẬT
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS NGUYỄN THIỆN THÀNH
TP HCM 08 – 2013
Trang 3Trang 1
LỜI CAM ĐOAN
Tên tôi là: Vũ Ngọc Huyên
Sinh ngày 12 tháng 05 năm 1979
Học viên lớp cao học khoá 2008-2011 - Chuyên ngành Kỹ thuật điều khiển & Tự động hoá - TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM
Xin cam đoan đề tài “Ứng dụng mạng neuron và giải thuật bầy đàn trong điều khiển Mobile robot” do TS Nguyễn Thiện Thành hướng dẫn, là công trình nghiên cứu của riêng tôi Tất cả các tài liệu tham khảo đều có nguồn gốc, xuất xứ
Tác giả xin cam đoan tất cả những nội dung trong luận văn đúng như nội dung trong đề cương và yêu cầu của thầy giáo hướng dẫn Nếu sai tôi hoàn toàn chịu trách nhiệm trước Hội đồng khoa học và trước pháp luật
TP.HCM, ngày 22 tháng 08 năm 2013
Người viết cam đoan
Vũ Ngọc Huyên
Trang 4Trang 2
MỤC LỤC
LỜI CAM ĐOAN 1
MỤC LỤC 2
DANH MỤC TỪ VIẾT TẮT 4
DANH MỤC BẢNG BIỂU 5
DANH MỤC HÌNH VẼ 6
MỞ ĐẦU 9
Chương 1: TỔNG QUAN 10
1.1 Đặt vấn đề 10
1.2 Tổng quan chung về lĩnh vực nghiên cứu 11
1.3 Mục tiêu và phạm vi nghiên cứu 12
1.3.1 Mục tiêu nghiên cứu 12
1.3.2 Phạm vi nghiên cứu 12
1.4 Tóm lược nội dung luận văn 12
Chương 2: MẠNG NEURON NHÂN TẠO 14
2.1 Giới thiệu về mạng neuron nhân tạo 14
2.1.1.Khái niệm cơ bản 14
2.1.2 Mô hình mạng neuron nhân tạo 17
2.1.3 Khả năng ứng dụng của mạng neuron nhân tạo 20
2.2 Mạng neuron lan truyền thẳng nhiều lớp 22
2.2.1 Mạng perceptron một lớp 22
2.2.2 Mạng receptron nhiều lớp 25
2.2.3 Một số vấn đề cần chú ý khi sử dụng mạng MLP 25
Chương 3: GIẢI THUẬT TỐI ƯU HÓA BẦY ĐÀN 30
3.1 Giới thiệu thuật toán tối ưu bầy đàn 30
3.2 Giải thuật cho thuật toán tối ưu bày đàn 33
3.3 Những vấn đề cần quan tâm khi xây dựng giải thuật tối ưu bầy đàn 34
3.3.1.Hàm thích nghi (fitness ) 34
3.3.2.Hàm vận tốc 35
3.3.3 Số lượng cá thể 35
3.3.4.Trọng số quán tính ω 36
3.3.5 Các hệ số gia tốc c1 và c2 36
Trang 5Trang 3
3.3.6 Điều kiện dừng 36
3.4 Đặc điểm và ứng dụng của giải thuật tối ưu bầy đàn 37
Chương 4: ỨNG DỤNG ĐIỀU KHIỂN MOBILE ROBOT 39
4.1 Mô hình toán của mobile robot 39
4.1.1 Mô hình vật lý mobile robot 39
4.1.2 Mô hình toán mô tả mobile robot 40
4.2 Mục tiêu điều khiển 41
4.3 Thiết kế bộ điều khiển neuron 42
4.3.1 Ứng dụng mạng neuron chỉnh định thông số bộ điều khiển mobile robot theo thuật toán tối ưu bày đàn 42
4.3.2 Chỉnh định thông số bộ điều khiển neuron dùng thuật toán PSO 45
4.3.3 Sơ đồ mô phỏng Matlab simulink 46
4.4 Tối ưu trọng số bộ điều khiển neuron dùng giải thuật bầy đàn 49
4.4.1 Thiết kế giải thuật PSO chỉnh định các trọng số mạng neuron 49
4.4.2 Lưu đồ giải thuật 50
4.5 Kết quả mô phỏng trên phần mềm matlab 52
4.5.1 Các thông số mobile robot 52
4.5.2 Giao diện chương trình điều khiển 53
4.5.3 Kết quả mô phỏng bộ điều khiển neuron 54
4.5.3.1 Điểm tham chiếu chạy theo đường thẳng 54
4.5.3.2 Điểm tham chiếu chạy theo đường tròn 56
4.5.3.3 Điểm tham chiếu chạy theo đường số 8 59
4.5.3.4 Điểm tham chiếu chạy theo đường sin 62
4.5.3.5 Điểm tham chiếu chạy theo đường lưới 64
4.5.3.6 Hàm tích hợp lớp ẩn là tansig 67
4.6 Nhận xét 68
Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 69
5.1 Kết luận 69
5.1.1.Kết quả đạt được 69
5.1.2 Hạn chế của đề tài 69
5.2 Hướng phát triển của đề tài 70
TÀI LIỆU THAM KHẢO 71
PHỤ LỤC 72
Trang 6Trang 4
DANH MỤC TỪ VIẾT TẮT
1 ACO Ant Colony Optimization
9 SIMO Single Input Multi Output
10 PSO Particle Swarm Optimization
Trang 7Trang 5
DANH MỤC BẢNG BIỂU
Bảng 4.1 Qũy đạo chuyển động của điểm tham chiếu………52
Trang 8Trang 6
DANH MỤC HÌNH VẼ
Hình 2.1 Cấu tạo của tế bào neuron sinh học 15
Hình 2.2 Mô hình neuron nhân tạo ……… 15
Hình 2.3 Mạng neuron chỉ có một nút và có sự phản hồi …… 18
Hình 2.4 Mạng neuron truyền thẳng một lớp…… 18
Hình 2.5 Mạng neuron truyền thẳng nhiều lớp…… 19
Hình 2.6 Mạng neuron hồi quy một lớp …… 20
Hình 2.7 Mạng perceptron một lớp …… 23
Hình 2.8 Hàm sigmoid g(x) = 1/(1+e-x ) …… 26
Hình 3.1 Sơ đồ cập nhật vị trí của mỗi cá thể PSO…… 31
Hình 3.2 Lưu đồ thuật toán PSO …… 33
Hình 4.1 Sơ đồ phác họa mobile robot 2 bánh…… 39
Hình 4.2 Vị trí hiện hành p(x, y, θ) và vị trí tham chiếu pd(xd, yd,θd) 41
Hình 4.3 Vị trí mobile robot và điểm tham chiếu…… 41
Hình 4.4 Sơ đồ luật điều khiển NN-PSO controller …… 43
Hình 4.5 Cấu trúc mạng neuron truyền thẳng …… 44
Hình 4.6 Xác định mô hình NN-Controller tối ưu sử dụng thuật toán PSO như một động cơ tối ưu …… ……
45 Hình 4.7 Sơ đồ mô phỏng simulink…… …… 46
Hình 4.8 Khối Mobile robot …… …… 47
Hình 4.9 Bộ điều khiển bám theo đường tròn…… …… 47
Hình 4.10 Bộ điều khiển bám theo đường thẳng…… 48
Hình 4.11 Bộ điều khiển bám theo đường lưới …… … 48
Hình 4.12 Tín hiệu ngõ vào…… …… 49
Hình 4.13 Lưu đồ thuật toán chỉnh định thông số NN-Controller dùng thuật toán PSO …… ……
51 Hình 4.14 Giao diện điều khiển…… …… 53
Trang 9Trang 7
Hình 4.15 Tọa độ x và xr theo thời gian …… …… 54
Hình 4.16 Tọa độ y và yr theo thời gian…… …… 54
Hình 4.17 Góc theta và thetad theo thời gian…… …… 54
Hình 4.18 Vị trí robot và vị trí điểm tham chiếu…… 55
Hình 4.19 Sai số góc alpha theo thời gian …… …… 55
Hình 4.20 Khoảng cách d theo thời gian …… …… 55
Hình 4.21 Tốc độ bánh phải ωR theo thời gian …… … 56
Hình 4.22 Tốc độ bánh trái ωL theo thời gian …… …… 56
Hình 4.23 Tọa độ x và xr theo thời gian …… …… 56
Hình 4.24 Tọa độ y và yr theo thời gian…… ….… 57
Hình 4.25 Góc theta và thetad theo thời gian …… …… 57
Hình 4.26 Vị trí robot và vị trí điểm tham chiếu…… … 57
Hình 4.27 Sai số góc alpha theo thời gian …… …… 58
Hình 4.28 Khoảng cách d theo thời gian …… …… 58
Hình 4.29 Tốc độ bánh phải theo thời gian …… …… 58
Hình 4.30 Tốc độ bánh trái theo thời gian …… …… 59
Hình 4.31 Tọa độ x và xr theo thời gian …… …… 59
Hình 4.32 Tọa độ y và yr theo thời gian…… …… 59
Hình 4.33 Góc theta và thetad theo thời gian …… …… 60
Hình 4.34 Vị trí robot và vị trí điểm tham chiếu …… 60
Hình 4.35 Sai số góc alpha theo thời gian…… …… 60
Hình 4.36 Góc theta và thetad theo thời gian …… …… 61
Hình 4.37 Vị trí robot và vị trí điểm tham chiếu …… 61
Hình 4.38 Sai số góc alpha theo thời gian…… …… 61
Hình 4.39 Góc theta và thetad theo thời gian …… …… 62
Hình 4.40 Vị trí robot và vị trí điểm tham chiếu …… 62
Hình 4.41 Sai số góc alpha theo thời gian…… …… 62
Trang 10Trang 8
Hình 4.42 Vị trí robot và vị trí điểm tham chiếu …… 63
Hình 4.43 Vị trí robot và vị trí điểm tham chiếu …… 63
Hình 4.44 Khoảng cách d theo thời gian …… …… 63
Hình 4.45 Tốc độ bánh phải theo thời gian…… …… 64
Hình 4.46 Tốc độ bánh trái theo thời gian …… …… 64
Hình 4.47 Tọa độ x và xr theo thời gian…… …… 64
Hình 4.48 Tọa độ y và yr theo thời gian …… …… 65
Hình 4.49 Góc theta và thetad theo thời gian …… …… 65
Hình 4.50 Vị trí robot và vị trí điểm tham chiếu …… 65
Hình 4.51 Vị trí robot và vị trí điểm tham chiếu…… … 66
Hình 4.52 Khoảng cách d theo thời gian …… …… 66
Hình 4.53 Tốc độ bánh phải theo thời gian…… …… 66
Hình 4.54 Tốc độ bánh trái theo thời gian…… …… 67
Hình 4.55 Tọa độ x và xr theo thời gian …… …… 67
Hình 4.56 Tọa độ y và yr theo thời gian …… …… 67
Hình 4.57 Vị trí robot và vị trí điểm tham chiếu…… 68
Trang 11Trang 9
MỞ ĐẦU
Trong thiết kế mạng Neuron có hai vấn đề lớn được đặt ra Đó là thiết kế cấu trúc mạng và thiết lập ma trận trọng số cho cấu trúc đó Việc xác định ma trận trọng số của mạng neuron có vai trò vô cùng quan trọng vì mọi phương
án thiết kế đều phải sử dụng một thuật toán huấn luyện trọng số để lựa chọn các kết nối trong neuron Hiện nay người ta áp dụng rộng rãi một số phương pháp huấn luyện trọng số, trong đó nổi bật nhất là thuật toán lan truyền ngược sai số (BP), giải thuật di truyền (GA), thuật toán giả luyện kim (SA) Các thuật toán cổ điển thường tìm được lời giải cục bộ nên quá trình tìm kiếm các phương án tối ưu toàn cục vẫn đang tiếp tục được nghiên cứu
Gần đây một phương pháp mới dùng để tìm ma trận trọng số của mạng neuron sử dụng thuật toán tối ưu hóa Bầy đàn (Particles Swarm Optimization
- PSO) được xem là rất hiệu quả PSO là một kỹ thuật ngẫu nhiên dựa vào quần thể được phát triển bởi Kennedy và Eberhart vào năm 1995, là phần thuộc lĩnh vực nghiên cứu quần thể thông minh (Swarm Intelligence SI), nằm trong tính toán tiến hóa – Evolution computation Những ý tưởng nghiên cứu trong quần thể thông minh dựa trên quan hệ, cách ứng xử của các cá thể trong quần thể và cách thức tự tổ chức, hoạt động của quần thể PSO là một hướng nghiên cứu mới đang phát triển rất nhanh và được rất nhiều nhà nghiên cứu quan tâm
Trong đề tài này tác giả đề xuất thiết kế bộ điều khiển neuron dùng mạng truyền thẳng nhiều lớp được tối ưu trọng số bằng giải thuật bầy đàn dành cho điều khiển Mobile robot
Trang 12nó đã dần khẳng định vai trò quan trọng không thể thiếu trong nhiều lĩnh vực, thu hút được rất nhiều sự đầu tư nghiên cứu Mà tập trung chủ yếu vào việc xây dựng chương trình điều khiển hoạt động cho mobile robot
Xuất phát từ thực tế này giải pháp điều khiển mobile robot dùng bộ điều khiển neuron đã được đề xuất Tuy nhiên quá trình thiết kế và huấn luyện mạng phải thực thi hai nhiệm vụ, đầu tiên là việc lựa chọn kiến trúc cho mạng một cách phù hợp và thứ hai là việc điều chỉnh trọng số kết nối của mạng Vấn đề điều chỉnh trọng số liên kết của mạng để đạt tối ưu đã được nghiên cứu và đề xuất Thuật toán dùng để huấn luyện mạng neuron rất nổi tiếng là thuật toán lan truyền ngược Tuy nhiên tốc độ hội tụ của thuật toán thường rất chậm và dễ rơi vào điểm cực trị địa phương Trong nỗ lực mở rộng không gian tìm kiếm và tối ưu trọng số của mạng Có rất nhiều thuật toán đã được đề xuất chẳng hạn như giải thuật di truyền (GA), mô phỏng luyện kim (SA), tối
ưu hóa đàn kiến (ACO)…
Trang 13Trang 11
Gần đây một phương pháp mới được sử dụng để tối ưu trọng số bộ điều khiển neuron dùng thuật toán tối ưu hóa bầy đàn (Particles Swarm Optimization - PSO) được xem là rất hiệu quả thể hiện sự vượt trội so với thuật toán lan truyền ngược và một số thuật toán khác trong huấn luyện mạng neuron PSO là một hướng nghiên cứu mới và đang phát triển rất nhanh trong những năm gần đây Do tính đơn giản của thuật toán và hiệu suất cao, nên nó
đã được áp dụng thành công để giải nhiều bài toán tìm cực trị hàm số học phức tạp, cũng như một số bài toán tối ưu khác
Trong luận văn này, học viên xây dựng bộ điều khiển neuron sử dụng mạng truyền thẳng nhiều lớp và các trọng số bộ điều khiển được tối ưu bằng giải thuật bầy đàn để ứng dụng trong điều khiển mobile robot Kết quả mô phỏng thu được đã chứng tỏ phương pháp điều khiển là rất hiệu quả
1.2 Tổng quan chung về lĩnh vực nghiên cứu
Lĩnh vực thông minh bầy đàn đã phát triển rất nhanh chóng trong thời gian qua và được ứng dụng thành công trong nhiều lĩnh vực Có rất nhiều sách, báo viết về vấn đề này Hằng năm có rất nhiều hội nghị thảo luận về sự phát triển cũng như những ứng dụng của các thuật toán thông minh bầy đàn Hầu hết các bài viết đều tập trung vào các vấn đề so sánh chất lượng giữa các thuật toán (tốc độ hội tụ, thời gian thực thi,…) và ứng dụng để giải các bài toán tối ưu như thiết kế mạng viễn thông, tự động nghiên cứu robot, xây dựng
mô hình giao thông (traffic pattern) trong bài toán vận chuyển, ứng dụng trong quân sự, điều khiển động cơ, xây dựng các mô hình thực nghiệm trong giảng dạy và nghiên cứu…
Dựa trên cơ sở lý thuyết và kết quả từ các bài báo ‘Neural Network Predictive Control for Mobile Robot Using PSO with Controllable Random Exploration Velocity’ của Xin CHEN and Yangmin LI, ‘Neural Network
Trang 14Trang 12
Controller for Mobile Robot Motion Control’ của Jasmin Velagic, Nedim
Osmic, and Bakir Lacevic, tác giả đã đưa ra phương pháp tối ưu trọng số bộ điều khiển neuron dùng giải thuật bầy đàn ứng dụng trong điều khiển Mobile robot
1.3 Mục tiêu và phạm vi nghiên cứu
1.3.1 Mục tiêu nghiên cứu
Nghiên cứu mạng truyền thẳng nhiều lớp Từ đó xây dựng bộ điều khiển neuron cho mobile robot
Nghiên cứu thuật toán tối ưu bầy đàn và ứng dụng để tối ưu được trọng
số bộ điều khiển neuron sử dụng mạng truyền thẳng nhiều lớp
Xây dựng sơ đồ Simulink và mô phỏng được hoạt động điều khiển của mobile robot bằng phần mềm Matlab Simulink
1.4 Tóm lược nội dung luận văn
Luận văn gồm 5 chương với nội dung như sau:
Chương 1: Tổng quan, đặt vấn đề cũng như mục tiêu và phạm vi
nghiên cứu của luận văn
Trang 15Trang 13
Chương 2: Trình bày cơ sở lý thuyết về mạng neuron, mạng truyền
thẳng nhiều lớp và các yếu tố ảnh hưởng đến quá trình huấn luyện mạng
Chương 3: Giới thiệu thuật toán tối ưu hóa bầy đàn và ảnh hưởng của
các thông số trong thuật toán
Chương 4: Giới thiệu mô hình toán của mobile robot Mục tiêu điều
khiển và ứng dụng thuật toán PSO để tối ưu trọng số bộ điều khiển neuron sử dụng mạng truyền thẳng nhiều lớp Kết quả mô phỏng thu được trong huấn luyện mạng neuron và điều khiển mobile robot
Chương 5: Kết luận và hướng phát triển đề tài Những kết quả đạt
được và những giới hạn của đề tài, để làm cơ sở cho các đề xuất về hướng phát triển
Trang 16Trang 14
Chương 2: MẠNG NEURON NHÂN TẠO
Mạng neuron nhân tạo được coi là một công cụ mạnh để giải quyết các bài toán có tính phi tuyến, phức tạp và đặc biệt trong các trường hợp mà mối quan hệ giữa các quá trình không dễ thiết lập một cách tường minh Có nhiều loại mạng neuron khác nhau trong đó mạng neuron truyền thẳng nhiều lớp là một trong những mạng neuron thông dụng nhất
2.1 Giới thiệu về mạng neuron nhân tạo
2.1.1.Khái niệm cơ bản
Theo các nhà nghiên cứu sinh học về bộ não, hệ thống thần kinh của con người bao gồm khoảng 100 tỷ tế bào thần kinh, thường gọi là các neuron Mỗi tế bào neuron gồm ba phần:
• Thân neuron với nhân bên trong (gọi là soma), là nơi tiếp nhận hay phát ra các xung động thần kinh
• Một hệ thống dạng cây các dây thần kinh vào (gọi là dendrite) để đưa tín hiệu tới nhân neuron Các dây thần kinh vào tạo thành một lưới dày đặc xung quanh thân neuron, chiếm diện tích khoảng 0,25 mm2
• Đầu dây thần kinh ra (gọi là sợi trục axon) phân nhánh dạng hình cây, có thể dài từ một cm đến hàng mét Chúng 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 cho tới hàng trăm ngàn khớp nối để nối với các neuron khác Có hai loại khớp nối, khớp nối kích thích (excitatory) sẽ cho tín hiệu qua nó để tới neuron còn khớp nối ức chế (inhibitory) có tác dụng làm cản tín hiệu tới neuron Người ta ước tính mỗi neuron trong bộ não của con người có khoảng 104 khớp nối (Hình 2.1)
Trang 17Trang 15
Chức năng cơ bản của các tế bào neuron là liên kết với nhau để tạo nên hệ thống thần kinh điều khiển hoạt động của cơ thể sống Các tế bào neuron truyền tín hiệu cho nhau thông qua các dây thần kinh vào và ra, các tín hiệu
đó có dạng xung điện và được tạo ra từ các quá trình phản ứng hoá học phức tạp Tại nhân tế bào, khi điện thế của tín hiệu vào đạt tới một ngưỡng nào đó thì nó sẽ tạo ra một xung điện dẫn tới trục dây thần kinh ra Xung này truyền theo trục ra tới các nhánh rẽ và tiếp tục truyền tới các neuron khác
Hình 2.1 Cấu tạo của tế bào neuron sinh học
Với mục đích tạo ra một mô hình tính toán phỏng theo cách làm việc của neuron trong bộ não con người, vào năm 1943, các tác giả McCulloch và Pitts
đã đề xuất một mô hình toán cho một neuron như sau:
Hình 2.2 Mô hình neuron nhân tạo
W1
Wm
out
Trang 18Trang 16
Trong mô hình này, một neuron thứ i sẽ nhận các tín hiệu vào xj với các trọng
số tương ứng là wij , tổng các thông tin vào có trọng số là:
Thông tin đầu ra ở thời điểm t+1 được tính từ các thông tin đầu vào như sau:
Trong đó g là hàm kích hoạt (còn gọi là hàm truyền) có dạng là hàm bước nhảy, nó đóng vai trò biến đổi từ thông tin đầu vào thành tín hiệu đầu ra
ế
ế
Như vậy, out = 1 (ứng với việc neuron tạo tín đầu ra) khi tổng các tín hiệu
vào lớn hơn ngưỡng θi, còn out = 0 (neuron không tạo tín hiệu ở đầu ra) khi
tổng các tín hiệu vào nhỏ hơn ngưỡng θi
Trong mô hình neuron của McCulloch và Pitts, các trọng số wij thể hiện ảnh hưởng của khớp nối trong liên kết giữa neuron j (neuron gửi tín hiệu) và neuron i (neuron nhận tín hiệu) Trọng số wij dương ứng với khớp nối kích thích, trọng số âm ứng với khớp nối ức chế còn wij bằng 0 khi không có liên
kết giữa hai neuron Hàm truyền g ngoài dạng hàm bước nhảy còn có thể chọn
nhiều dạng khác nhau và sẽ được đề cập ở các phần sau Thông qua cách mô hình hoá đơn giản một neuron sinh học như trên, McCulloch và Pitts đã đưa
ra một mô hình neuron nhân tạo có tiềm năng tính toán quan trọng Nó có thể thực hiện các phép toán logic cơ bản như AND, OR và NOT khi các trọng số
và ngưỡng được chọn phù hợp Sự liên kết giữa các neuron nhân tạo với các cách thức khác nhau sẽ tạo nên các loại mạng neuron nhân tạo (Artificial Neural Network - ANN) với những tính chất và khả năng làm việc khác nhau
Trang 19Trang 17
2.1.2 Mô hình mạng neuron nhân tạo
Như đã được giới thiệu, mạng neuron nhân tạo là một hệ thống xử lý thông tin được xây dựng trên cơ sở tổng quát hoá mô hình toán học của neuron sinh học và phỏng theo cơ chế làm việc của bộ não con người Mạng neuron nhân tạo được thể hiện thông qua ba thành phần cơ bản: mô hình của neuron, cấu trúc và sự liên kết giữa các neuron, phương pháp học được áp dụng cho mạng neuron
2.1.2.1 Các phần tử xử lý
Việc xử lý thông tin tại mỗi neuron có thể xem là gồm hai phần: xử lý tín hiệu vào (input) và đưa tín hiệu ra (output) Tương ứng với phần vào của
mỗi neuron là một hàm tương tác (interaction) f, hàm này kết hợp các thông
tin truyền tới neuron và tạo thành thông tin đầu vào tổng hợp (gọi là net input) của neuron đó
Một neuron thứ i trong mạng thường có hàm fi ở dạng tuyến tính như sau :
Thao tác thứ hai trong mỗi neuron là tính giá trị đầu ra tương ứng với giá trị
đầu vào f thông qua hàm kích hoạt hay còn gọi là hàm truyền g(f) (hàm kích
hoạt) Một số hàm truyền thường được sử dụng:
Trang 20Trang 18
2.1.2.2 Liên kết trong mạng neuron nhân tạo
Mạng neuron nhân tạo gồm các neuron và liên kết có trọng số giữa chúng ANN tạo nên một hệ thống xử lý thông tin làm việc trên cơ sở phỏng theo cách làm việc của hệ thống các neuron trong bộ não con người Tuy nhiên, trong bộ não của con người, các tế bào neuron liên kết với nhau chằng chịt và tạo nên một mạng lưới vô cùng phức tạp Các loại mạng neuron nhân tạo được xác định bởi cách liên kết giữa các neuron, trọng số của các liên kết
đó và hàm chuyển tại mỗi neuron Các hình vẽ dưới đây thể hiện các cách kết nối khác nhau
Hình 2.3 Mạng neuron chỉ có một nút và có sự phản hồi
Hình 2.4 Mạng neuron truyền thẳng một lớp
Trang 21Trang 19
Mạng neuron truyền thẳng một lớp là loại mạng chỉ có lớp neuron đầu vào và một lớp neuron đầu ra (thực chất lớp neuron đầu vào không có vai trò
xử lý, do đó ta nói mạng chỉ có một lớp) Loại mạng này còn được gọi là mạng perceptron một lớp Mỗi neuron đầu ra có thể nhận tín hiệu từ các đầu
vào x 1 , x 2 , …, x m để tạo ra tín hiệu đầu ra tương ứng
Hình 2.5 Mạng neuron truyền thẳng nhiều lớp
Trong mạng neuron truyền thẳng nhiều lớp, lớp nhận tín hiệu vào của mạng gọi là lớp vào (input layer), nó thường không thực hiện việc chuyển đổi thông tin mà chỉ làm chức năng nhận tín hiệu Tín hiệu ra của mạng được đưa
ra từ lớp ra (outputlayer) Các lớp ở giữa lớp vào và lớp ra gọi là các lớp ẩn Trong mạng truyền thẳng (feedforward network) không có nút nào mà đầu ra của nó là đầu vào của một nút khác trên cùng lớp với nó hoặc lớp trước
Mạng có phản hồi (feedback network) là mạng mà đầu ra của một neuron có thể trở thành đầu vào của neuron trên cùng một lớp hoặc của lớp trước đó Mạng feedback có chu trình khép kín gọi là mạng quy hồi (recurrent network)
Trang 22Trang 20
Hình 2.6 Mạng neuron hồi quy một lớp
2.1.2.3 Các luật học của mạng neuron nhân tạo
Như đã được đề cập ở phần đầu luật học là một trong ba yếu tố quan trọng tạo nên một mạng neuron nhân tạo Có hai vấn đề cần học đối với mỗi mạng neuron nhân tạo đó là học tham số (parameter learning) và học cấu trúc (structure learning) Học tham số là việc thay đổi trọng số của các liên kết giữa các neuron trong một mạng, còn học cấu trúc là việc điều chỉnh cấu trúc của mạng bao gồm thay đổi số lớp neuron, số neuron của mỗi lớp và cách liên kết giữa chúng Hai vấn đề này có thể được thực hiện đồng thời hoặc tách biệt
Về mặt phương pháp học, có thể chia ra làm ba loại: học có giám sát hay còn gọi là học có thầy (supervised learning), học tăng cường (reinforcement learning) và học không có giám sát hay còn gọi là học không
có thầy (unsupperviced learning)
2.1.3 Khả năng ứng dụng của mạng neuron nhân tạo
Đặc trưng của mạng neuron nhân tạo là khả năng học và xử lý song song Nó có thể gần đúng mối quan hệ tương quan phức tạp giữa các yếu tố đầu vào và đầu ra của các quá trình cần nghiên cứu và khi đã học được thì
Trang 23Trang 21
việc kiểm tra độc lập thường cho kết quả tốt Sau khi đã học xong, mạng neuron nhân tạo có thể tính toán kết quả đầu ra tương ứng với bộ số liệu đầu vào mới Về mặt cấu trúc, mạng neuron nhân tạo là một hệ thống gồm nhiều phần tử xử lý đơn giản cùng hoạt động song song Tính năng này của ANN cho phép nó có thể được áp dụng để giải các bài toán lớn
Về khía cạnh toán học, theo định lý Kolmogorov, một hàm liên tục bất
kỳ f( x 1 ,x 2 , , x n ) xác định trên khoảng I n ( với I =[0,1]) có thể được biểu diễn
Do đó, mạng neuron nhân tạo có thể tính toán trên bộ số liệu đầu vào mới để đưa ra kết quả đầu ra tương ứng
Với những đặc điểm đó, mạng neuron nhân tạo đã được sử dụng để giải quyết nhiều bài toán thuộc nhiều lĩnh vực của các ngành khác nhau Các nhóm ứng dụng mà mạng neuron nhân tạo đã được áp dụng rất có hiệu quả là:
• Bài toán phân lớp: Loại bài toán này đòi hỏi giải quyết vấn đề phân loại
các đối tượng quan sát được thành các nhóm dựa trên các đặc điểm của các
Trang 24Trang 22
nhóm đối tượng đó Đây là dạng bài toán cơ sở của rất nhiều bài toán trong thực tế: nhận dạng chữ viết, tiếng nói, phân loại gen, phân loại chất lượng sảnphẩm,…
• Bài toán dự báo: Mạng neuron nhân tạo đã được ứng dụng thành công
trong việc xây dựng các mô hình dự báo sử dụng tập dữ liệu trong quá khứ để
dự đoán số liệu trong tương lai Đây là nhóm bài toán khó và rất quan trọng trong nhiều ngành khoa học
• Bài toán điều khiển và tối ưu hoá: Nhờ khả năng học và xấp xỉ hàm mà
mạng neuron nhân tạo đã được sử dụng trong nhiều hệ thống điều khiển tự động cũng như góp phần giải quyết những bài toán tối ưu trong thực tế
Tóm lại, mạng neuron nhân tạo được xem như là một cách tiếp cận đầy tiềm năng để giải quyết các bài toán có tính phi tuyến, phức tạp và đặc biệt là trong tình huống mối quan hệ bản chất vật lý của quá trình cần nghiên cứu không dễ thiết lập tường minh
2.2 Mạng neuron lan truyền thẳng nhiều lớp
là 0
ế
ế
Với à ổ ô đầ à ủ
Trang 25Trang 23
Ngay từ khi mạng Perceptron một lớp được đề xuất nó đã được sử dụng
để giải quyết bài toán phân lớp Một đối tượng sẽ được neuron i phân vào lớp
A nếu tổng thông tin đầu vào : Σw ij x j > θi
Trong đó w ij là trọng số liên kết từ neuronj tới neuron i, x j là đầu vào từ
neuron j, và θ là ngưỡng của neuron i Trong trường hợp trái lại đối tượng sẽ
được phân vào lớp B
Việc huấn luyện mạng dựa trên phương pháp học có giám sát với tập mẫu học là{(x(k), d(k))}, k= 1,2, …, p Trong đó d(k)
= [y1(k), y2(k), …, yn(k)]T sẽ bằng với đầu ra của mẫu học d(k)
Trang 26Trang 24
Để bắt đầu quá trình luyện mạng, các trọng số được gán giá trị ngẫu nhiên trong khoảng [-3, 3] Sau đó hiệu chỉnh các trọng số cho phù hợp với mẫu học để làm sai số giữa y(k) và d(k)
Các bước tiến hành :
• Xác định ngẫu nhiên bộ trọng số
• Với mỗi mẫu học (x(k)
, d(k)) , k=1,2, …, p thực hiện các bước:
- Tính giá trị y(k) theo công thức
- Xác định sai số δi tại neuroni: δi = di – yi , trong đó di là giá trị đầu ra quan sát được và y i là giá trị đầu ra tính toán tại neuron thứ i
- Tính Δw ij là số gia của trọng số w ij (trọng số liên kết giữa đầu vào j tới
neuron i) theo công thức: Δ w ij =ηδixj trong đó η là tốc độ học (0<η<1)
- Hiệu chỉnh w ij (t+1) = w ij (t) + Δw ij =w ij (t) +ηδ i (t)x(t)
Trong đó wij(t+1) là trọng số sau khi điều chỉnh ở lần học tại thời điểm t
Rosenblatt đã chứng minh rằng quá trình học của mạng Perceptron sẽ hội tụ tới bộ trọng số W, biểu diễn đúng các mẫu học với điều kiện là các mẫu này biểu thị các điểm rời rạc của một hàm khả tách tuyến tính nào đó (f: Rn→ R được gọi là khả tách tuyến tính nếu các tập {F-1
(xk)}, với xk thuộc miền trị của f, có thể tách được với nhau bởi các siêu phẳng trong không gian Rn)
Năm 1969, Minsky và Papert đã chứng minh một cách chặt chẽ rằng lớp hàm thể hiện sự phụ thuộc giữa đầu vào và đầu ra có thể học bởi mạng Perceptron một lớp là lớp hàm khả tách tuyến tính Khả tách tuyến tính là trường hợp tồn tại một mặt siêu phẳng để phân cách tất cả các đối tượng của một lớp này với một lớp khác, ví dụ một mặt phẳng sẽ phân chia không gian
ba chiều thành hai vùng riêng biệt
Mở rộng ra, nếu có n đầu vào , n>2 thì công thức:
Trang 27
Trang 25
Tạo nên một siêu phẳng có n-1 chiều trong không gian n chiều, nó chia không gian đó thành hai nửa Trong nhiều bài toán thực tế đòi hỏi chia các vùng của các điểm trong một siêu không gian thành các lớp riêng biệt Loại bài toán này gọi là bài toán phân lớp Bài toán phân lớp có thể giải quyết bằng cách tìm các tham số thích hợp cho một siêu phẳng để nó có thể chia không gian n chiều thành các vùng riêng biệt
Với tính chất của như đã nêu trên, mạng perceptron một lớp có thể mô
tả các hàm logic như AND, OR và NOT Tuy nhiên nó không thể hiện được hàm XOR
Như vậy chứng tỏ mô hình perceptron một lớp không thể giải quyết bài toán này Vấn đề này sẽ được giải quyết bằng mô hình mạng neuron perceptron nhiều lớp (Multilayer Perceptron - MLP)
2.2.2 Mạng receptron nhiều lớp
Mạng perceptron nhiều lớp (Multilayer Perceptron –MLP) còn được gọi là mạng truyền thẳng nhiều lớp là sự mở rộng của mô hình mạng perceptron với sự bổ sung thêm những lớp ẩn và các neuron trong các lớp ẩn này có hàm chuyển (hàm kích hoạt) dạng phi tuyến Mạng MLP có một lớp
ẩn là mạng neuron nhân tạo được sử dụng phổ biến nhất, nó có thể xấp xỉ các hàm liên tục được định nghĩa trên một miền có giới hạn cũng như những hàm
là tập hợp hữu hạn của các điểm rời rạc
2.2.3 Một số vấn đề cần chú ý khi sử dụng mạng MLP
Mạng neuron perceptron nhiều lớp là loại mạng neuron được sử dụng trong nhiều ứng dụng thực tế Tuy nhiên, để mạng có thể đưa ra kết quả tốt, chúng ta cần quan tâm đến một số vấn đề có ảnh hưởng khá quan trọng đến hiệu quả làm việc của nó bao gồm: vấn đề chuẩn hoá số liệu đầu vào, vấn đề
Trang 28Trang 26
học chưa đủ và học quá của mạng, vấn đề lựa chọn một cấu trúc mạng phù hợp với bài toán
2.2.3.1 Vấn đề chuẩn hoá số liệu đầu vào
Mạng MLP thường sử dụng hàm truyền là hàm sigmoid có dạng như sau:
)
Với dạng hàm này, giá trị ở đầu ra của mỗi neuron nằm trong phạm vi khoảng (0,1) và nó đạt các giá trị bão hoà (xấp xỉ 0 hay 1) khi ⎢x ⎢lớn Do đó, khi đầu vào của mạng có giá trị tuyệt đối lớn thì ta cần chuẩn hoá nó về khoảng có giá trị nhỏ, nếu không thì các neuron tại các lớp ẩn ngay ban đầu
đã có thể đạt giá trị bão hoà và quá trình học của mạng không đạt kết quả mong muốn Với dạng hàm như trên thì giá trị đầu vào của mạng thường được chuẩn hoá về khoảng thuộc đoạn [-3, 3] Mặt khác, do tín hiệu đầu ra của neuron nằm trong khoảng giá trị (0,1) nên các giá trị đầu ra thực tế trong các mẫu học cũng cần chuẩn hoá về khoảng giá trị này để có thể dùng cho quá trình luyện mạng Do vậy trong quá trình tính toán, để có các giá trị thực tế ở đầu ra của mạng chúng ta cần phải chuyển các giá trị trong khoảng (0,1) về miền các giá trị thực tế
2.2.3.2 Vấn đề học chưa đủ và học quá thuộc của mạng
Vấn đề mấu chốt khi xây dựng một mạng neuron nhân tạo là làm thế nào mạng có khả năng tổng quát hoá cao để đưa ra kết quả tốt cả với những
Trang 29Trang 27
trường hợp đầu vào của mạng không nằm trong tập mẫu đã dùng để luyện mạng Giống như các mô hình hồi quy phi tuyến khác, đối với mạng neuron nhân tạo ta cũng phải giải quyết hai vấn đề là ANN học chưa đủ (underfitting)
và học quá (overfitting) Khi mạng có cấu trúc (số nút ẩn và liên kết) cũng như số lần học chưa đủ so với nhu cầu của bài toán thì sẽ dẫn tới tình trạng mạng không đủ khả năng mô tả gần đúng mối quan hệ tương quan giữa đầu vào và đầu ra của quá trình cần dự báo và dẫn tới học chưa đủ Trái lại, nếu mạng quá phức tạp (quá nhiều nút ẩn và quá nhiều tham số) và được học “quá khít” đối với các mẫu dùng để luyện mạng thì có thể dẫn tới tình trạng mạng học cả thành phần nhiễu lẫn trong các mẫu đó, đây là tình trạng “học quá thuộc” của mạng Vấn đề nêu trên có thể làm cho nhiều loại mạng neuron, đặc biệt là mạng MLP có thể có những trường hợp cho kết quả dự đoán rất sai lệch với thực tế
Một số giải pháp cho vấn đề học quá của mạng:
• Sử dụng tập số liệu có tính đại diện tốt để luyện mạng: Đây được xem là
một cách khá tốt để tránh hiện tượng overfitting Khi tập mẫu dùng để luyện mạng thể hiện được nhiều trạng thái có thể xẩy ra của quá trình cần nghiên cứu thì sau khi học mạng sẽ có khả năng tổng quát hoá tương đối tốt từ tập dữ liệu đó và sẽ không chịu ảnh hưởng nhiều của hiện tượng overfitting Ngoài ra một số biện pháp dưới đây cũng có thể góp phần quan trọng giúp khắc phục hiện tượng overfitting của mạng
• Lựa chọn cấu trúc mô hình phù hợp: Việc lựa chọn mô hình của mạng (số
lớp ẩn, số neuron trên mỗi lớp ẩn) có ảnh hưởng quan trọng đến hiện tượng học chưa đủ (underfitting) và học quá (overfitting) của mạng Nghiên cứu của Steve Lawrence và C.Lee Giles [11] về bài toán nội suy hàm y = sin(x/3) + v, 0≤ x ≤20, với v là biến ngẫu nhiên nằm trong khoảng (- 0.25 , 0.25) cho thấy nếu mạng chỉ gồm một nút ẩn thì mạng không thể học được hàm này Mạng
Trang 30Trang 28
có hai nút ẩn có khả năng tổng quát hoá tốt nhất (tuy không chính xác hoàn toàn với các mẫu nhưng nó tạo nên giáng điệu gần với hàm cần xấp xỉ nhất và
nó đã không quá khít với nhiễu của mẫu học) Các mạng có độ phức tạp hơn (10 nút ẩn, 50 nút ẩn) tuy nó có thể học khá chính xác các mẫu được sử dụng nhưng chính điều này lại làm cho nó học quá nhiều cả thành phần nhiễu nên khả năng tổng quát hoá giảm và dẫn tới hiện tượng học quá (overfitting)
• Dừng học đúng lúc: Năm 1991, trong một nghiên cứu về vấn đề học quá
của mạng, hai tác giả Nelson và Illingworth đã đưa ra giải pháp dừng học đúng lúc để tránh hiện tượng học quá của mạng như sau:
- Tập mẫu được chia làm hai phần: một phần dùng để luyện mạng và phần còn lại để kiểm thử
- Sử dụng các giá trị khởi tạo nhỏ
- Sử dụng hằng số tốc độ học có giá trị thấp
- Tính toán sự thay đổi lỗi kiểm thử trong quá trình luyện mạng
- Dừng học khi thấy lỗi kiểm thử bắt đầu tăng
2.2.3.3 Lựa chọn kích thước mạng
Các công trình dựa trên định lý của Kolmogorov dự kiến rằng toàn bộ các ánh xạ liên tục từ [0,1]p đến [0,1]n đều có thể được xấp xỉ bằng một mạng perceptron ba lớp có lớp vào gồm p neuron, lớp ra gồm n neuron và lớp ẩn gồm (2p+1) neuron Tuy nhiên không thể chỉ ra được chính xác số lượng neuron tối ưu trong mạng, tính chất của các neuron, tức là dạng phi tuyến cụ thể thực hiện phép xấp xỉ này
Một số công trình nghiên cứu về chủ đề này cho rằng số neuron tối ưu
ở lớp ẩn thường nhỏ hơn (2p+1) Ngoài ra cũng cần phải nói cơ sở dữ liệu học phải có kích thước phù hợp với kiến trúc mạng Theo Vapnik và Chervonenkis, cơ sở dữ liệu học phải có số mẫu thoả mãn: N ≈ 10.Nw, ở đó
Nw là số trọng số của mạng
Trang 31Trang 29
Gọi số neuron thuộc lớp ẩn là L, số neuron ở lớp vào là p thì trọng số của các kết nối giữa lớp vào và lớp ẩn thứ nhất (kể cả ngưỡng) là:
D=(p+1).L Theo một số kết quả nghiên cứu, số mẫu của cơ sở dữ liệu học cần phải thoả mãn:
N ≈ 4.D Khi số lượng mẫu của cơ sở dữ liệu học chưa đạt đến giới hạn cần thiết thì ta nên làm giảm số lượng các kết nối để tránh hiện tượng học thuộc lòng
Kết luận chương
Trong chương này chúng ta đã tìm hiểu các khái niệm, cấu trúc và khả năng ứng dụng của mạng neuron nhân tạo Luận văn đã trình bày chi tiết về mạng neuron nhiều lớp truyền thẳng và các thuật toán học đối với loại mạng này Mạng neuron nhân tạo được coi là một công cụ mạnh, mềm dẻo để giải quyết các bài toán có tính phi tuyến, phức tạp và đặc biệt trong các trường hợp mà mối quan hệ giữa các quá trình không dễ thiết lập một cách tường minh Do đó, khả năng ứng dụng của nó là rất lớn đặc biệt trong bài toán dự báo Trong chương tiếp theo, chúng ta sẽ nghiên cứu giải thuật tối ưu hóa bầy đàn và ứng dụng để tối ưu hoá trọng số của mạng neuron nhân tạo
Trang 32Trang 30
Chương 3: GIẢI THUẬT TỐI ƯU HÓA BẦY ĐÀN
3.1 Giới thiệu thuật toán tối ưu bầy đàn
Phương pháp tối ưu bầy đàn là một dạng của các thuật toán tiến hóa quần thể đã được biết đến trước đây như thuật giải di truyền (GA), thuật toán đàn kiến (Ant colony algorithm) Tuy vậy PSO khác với GA ở chỗ nó thiên về sử dụng sự tương tác giữa các cá thể trong một quần thể để khám phá không gian tìm kiếm PSO là kết quả của sự mô hình hóa việc đàn chim bay đi tìm kiếm thức ăn cho nên nó thường được xếp vào các loại thuật toán có sử dụng trí tuệ bầy đàn Được giới thiệu vào năm 1995 tại một hội nghị của IEEE bởi James Kennedy và kỹ sư Russell C Eberhart Thuật toán có nhiều ứng dụng quan trọng trong tất cả các lĩnh vực mà ở đó đòi hỏi phải giải quyết các bài toán tối
ưu hóa Để hiểu rõ thuật toán PSO hãy xem một ví dụ đơn giản về quá trình tìm kiếm thức ăn của một đàn chim Không gian tìm kiếm thức ăn lúc này là toàn bộ không gian ba chiều mà chúng ta đang sinh sống Tại thời điểm bắt đầu tìm kiếm cả đàn bay theo một hướng nào đó, có thể là rất ngẩu nhiên Tuy nhiên sau một thời gian tìm kiếm một số cá thể trong đàn bắt đầu tìm ra được nơi có chứa thức ăn Tùy theo số lượng thức ăn vừa tìm kiếm, mà cá thể gửi tín hiệu đến các cá thể khác đang tìm kiếm ở vùng lân cận Tín hiệu này lan truyền trên toàn quần thể Dựa vào thông tin nhận được mỗi cá thể sẽ điều chỉnh hướng bay và vận tốc theo hướng về nơi có nhiều thức ăn nhất Cơ chế truyền tin như vậy thường được xem như là một kiểu hình của trí tuệ bầy đàn
Cơ chế này giúp cả đàn chim tìm ra nơi có nhiều thức ăn nhất trên không gian tìm kiếm vô cùng rộng lớn Như vậy đàn chim đã dùng trí tuệ, kiến thức và kinh nghiệm của cả đàn để nhanh chóng tìm ra nơi chứa thức ăn
Trang 33Trang 31
PSO học từ kịch bản này và được sử dụng để giải các bài toán tìm kiếm ngẫu nhiên Trong PSO, mỗi lời giải là một con chim trong không gian tìm kiếm, gọi là cá thể Tất cả các cá thể có giá trị thích nghi được đánh giá bởi hàm thích nghi cần tối ưu và có vận tốc hướng theo chiều bay của các cá thể Các cá thể bay qua không gian bài toán bằng cách bám theo các cá thể tối ưu hiện tại
PSO là một kỹ thuật tìm kiếm song song, được khởi tạo bằng một nhóm
cá thể (nghiệm) ngẫu nhiên và sau đó tìm nghiệm tối ưu bằng cách cập nhật các thế hệ Trong mỗi thế hệ, mỗi cá thể được cập nhật theo hai giá trị tốt nhất Giá trị thứ nhất là nghiệm tốt nhất đạt được cho tới thời điểm hiện tại, gọi là PPbest Một nghiệm tối ưu khác mà cá thể này bám theo là nghiệm tối ưu toàn cục PGbest, đó là nghiệm tốt nhất mà cá thể lân cận cá thể này đạt được cho tới thời điểm hiện tại Nói cách khác, mỗi cá thể trong quần thể cập nhật
vị trí của nó theo vị trí tốt nhất của nó và của cá thể trong quần thể tính tới thời điểm hiện tại như hình 3.1
Hình 3.1 Sơ đồ cập nhật vị trí của mỗi cá thể PSO
Trang 34Trang 32
Vận tốc và vị trí của mỗi cá thể được tính như sau :
Trang 35
Trang 33
3.2 Giải thuật cho thuật toán tối ưu bày đàn
Lưu đồ thuật toán PSO được trình bày như hình 3.2
Hình 3.2 Lưu đồ thuật toán PSO
Trang 36Trang 34
3.3 Những vấn đề cần quan tâm khi xây dựng giải thuật tối ưu bầy đàn
Việc thiết lập các thông số chính của thuật toán PSO cũng như lựa chọn tiêu chuẩn đánh giá của hàm mục tiêu như thế nào để tối ưu không gian tìm kiếm và có thể áp dụng thiết lập chung cho hầu hết nhiều vấn đề, nhưng hiếm khi thực sự tối ưu Vì thông số thiết lập giống nhau không có gì bảo đảm thành công trong những bài toán khác Như vậy cần có sự hiểu biết về tác dụng của các thông số cũng như tiêu chuẩn đánh giá của hàm mục tiêu thì chúng ta mới có thể lựa chọn và thiết lập thích hợp cho từng bài toán cụ thể Dưới đây là những thông số ảnh hưởng đến hiệu quả làm việc của thuật toán PSO
3.3.1.Hàm thích nghi (fitness )
Hàm thích nghi là một trong những yếu tố quan trọng quyết định sự thành công của giải thuật Nó đánh giá các cá thể tốt trong quần thể Hàm thích nghi được xây dựng sao cho giá trị thích nghi phải phản ánh được đúng giá trị thực của cá thể trong việc đáp ứng yêu cầu của bài toán
Do chất lượng điều khiển mong muốn thông thường là tối thiểu sai số ngõ ra nên hàm thích nghi có thể chọn theo các tiêu chuẩn khác nhau Trong Luận văn này tác giả sử dụng phương pháp tối thiểu bình phương sai số (MSE) là hàm thích nghi cho việc đánh giá
Trong đó, y (t) – đầu ra mong muốn
– đầu ra thực tế của mô hình
K – số điểm dữ liệu được đưa ra để đánh giá
Trang 37Trang 35
- Hướng chuyển động hiện thời v
- Vị trí tốt nhất trong quá khứ của cá thể, đây là vị trí tốt nhất mà cá thể đã đi qua cho tới thời điểm hiện tại Trong tự nhiên thì yếu tố này như là
“kinh nghiệm” bản thân của mỗi cá thể trong quần thể, là các tri thức, hiểu biết mà cá thể đó đã tích lũy được
- Vị trí tốt nhất của cả quần thể, là vị trí tốt nhất mà cả quần thể đã khám phá ra cho tới thời điểm hiện tại Yếu tố này đóng vai trò như là “xu hướng” của cả quần thể Quần thể sẽ đi theo cá thể nào tốt nhất trong quần thể
để đưa cả quần thể tới vị trí tốt hơn Điều này cũng giống như trong thực tế: Mỗi cá nhân sẽ tự quyết định hướng đi của mình dựa trên vị trí hiện tại mà mình đang đứng, kinh nghiệm bản thân và xu thế chung của bầy đàn
cụ thể mà ta chọn kích thước quần thể thích hợp Một chọn lựa tốt nhất cho
Trang 38Trang 36
hầu hết các ứng dụng thực tế của số lượng cá thể trong khoảng [20 50] Tuy nhiên, trong trường hợp đối với những bài toán khó, phức tạp số lượng cá thể cũng có thể chọn lên tới 100 hoặc 200 mới cho kết quả tốt
3.3.4.Trọng số quán tính ω
Ảnh hưởng vận tốc sau vào vận tốc hiện hành có thể được điều khiển bởi trọng số quán tính ω càng lớn khả năng tìm kiếm toàn cục của PSO càng lớn, và ω càng nhỏ khả năng tìm kiếm cục bộ càng lớn Các kết quả thực nghiệm cho thấy PSO có tốc độ hội tụ lớn nhất khi ω ở giữa 0.8 và 1.2 Trong khi thử nghiệm, ω được chọn bằng 0.9, điều đó làm không gian tìm kiếm PSO lớn hơn ở lúc khởi đầu và xác định vị trí một cách nhanh chóng nơi có các giải pháp là tối ưu nhất Khi ω giảm, vận tốc của cá thể cũng sẽ giảm xuống gây ra tìm kiếm cục bộ
Phương pháp này làm tăng nhanh tốc độ hội tụ và chức năng của PSO được cải thiện Khi giải quyết một bài toán phức tạp, phương pháp thực hiện khả năng tìm kiếm toàn cục của PSO ở một loạt chu kì sau một vài thế hệ này
là không đủ, lời giải tối ưu nhất có thể không được tìm thấy, khi đó trọng số quán tính có thể được dùng để giải bài toán này
3.3.5 Các hệ số gia tốc c1 và c2
Tùy theo yêu cầu của những bài toán khác nhau mà các hệ số c1, c2
được thiết lập cho phù hợp và thông thường được chọn trong khoảng từ [0 4]
3.3.6 Điều kiện dừng
Điều kiện dừng này có thể là một trong những tiêu chuẩn sau:
- Quá trình có thể được hoàn thành sau một số cố định của các thế hệ như
20, 30 thế hệ ,…
Trang 39Trang 37
- Quá trình có thể được hoàn thành khi sai số giữa giá trị hàm mục tiêu và giá trị hàm fitness tốt nhất là ít hơn một ngưỡng giá trị ấn định trước
3.4 Đặc điểm và ứng dụng của giải thuật tối ưu bầy đàn
PSO không có tính toán lai ghép và đột biến Sự tìm kiếm có thể được đưa ra bởi vận tốc của cá thể Trong quá trình phát triển của một vài thế hệ, chỉ cá thể tối ưu nhất có thể truyền thông tin đến những cá thể khác và tốc độ tìm kiếm là rất nhanh Việc tính toán trong PSO rất đơn giản So sánh với các phương pháp tính khác đang phát triển, nó chiếm khả năng tối ưu lớn hơn và hoàn thành một cách dễ dàng
Dưới đây là những đặc điểm nổi bật của thuật toán PSO:
- Giải thuật PSO tìm kiếm nhiều điểm tối ưu cùng một lúc Các cá thể trao đổi thông tin với nhau nhờ vậy mà giảm bớt khả năng kết thúc tại một điểm cực trị địa phương
- Giải thuật PSO chỉ làm việc với các cá thể là mã của các lời giải Do
đó với một PSO có sẵn, đôi khi chỉ cần thay đổi cách biểu diễn là có giải thuật cho một bài toán mới
- Giải thuật PSO chỉ cần đánh giá hàm mục tiêu để phục vụ quá trình tìm kiếm chứ không đòi hỏi các thông tin bổ trợ khác
- Các thao tác cơ bản trong giải thuật PSO dựa trên khả năng tích hợp tính ngẫu nhiên trong quá trình xử lý
Trang 40Trang 38
Với đặc điểm là đơn giản, dễ cài đặt, không cần tính toán các đạo hàm và
dễ song song hóa PSO đã được ứng dụng vào để giải nhiều lớp bài toán như:
Tối ưu hóa không ràng buộc – Unconstrained Optimization
Tối ưu hóa ràng buộc – Constrained Optimization
Tối ưu đa mục tiêu – Multi Objective Optimization
Bài toán nhiều lời giải – Multi Solution Problem
Tối ưu hóa động – Dynamic Optimization Problem