𝑦 = 𝑓(𝑤1 𝑥 1+ 𝑤2 𝑥2 ), 𝑓(𝑥) =
VÍ DỤ VỀ HỌC BẰNG CÁCH TÍCH HỢP ANN VÀ GA
Mặc dù mạng NN được cho là công cụ tốt với các hệ nhận dạng mẫu ảnh nhưng chi phí huấn luyện dùng mạng NN là rất tốn kém.
Trong chương trước, một trong các ứng dụng quan trọng của GA là được dùng để tối ưu hóa mạng NN. Gần đây một số tác giả đã đề xuất giải pháp kết hợp mạng NN và GA để tối
118
ưu thao tác huấn luyện cho hệ thống. Ý tưởng của việc sử dụng GA là tìm trọng số tối ưu để đưa vào mạng NN. Thuật toán huấn luyện [?] sử dụng GA kết hợp tối ưu quá trình huấn luyện mạng NN bằng thuật toán BP được mô tả như dưới đây.
Thuật toán được mô tả trong hình 6.16 gồm 02 giai đoạn học. Giai đoạn thứ nhất sử dụng GA với bước truyền thẳng để tăng tốc cả quá trình học. GA thực hiện tìm kiếm toàn cục và tìm kiếm tập trọng số khởi tạo gần tối ưu cho giai đoạn học thứ hai, ở đó, mỗi cá thể được sử dụng để mã hóa các trọng số của mạng NN.
Khối học bằng GA Khối học bằng BP Hình 6.16: Lưu đồ xử lý BP - GA
Bước truyền thẳng của mạng MLP
Đ
Đ
Stop
Kết thúc
Cập nhật trọng số dùng thuật toán BP
Tính tổng lỗi đầu ra thực tế và mong muốn
S S
Dừng bước học thứ nhất Tính hàm mục tiêu
Áp dụng lai, hoán vị cho các cá thể cha mẹ và tạo thế hệ mới
Thay thế hệ hiện tại thành thế hệ mới
Khởi tạo trọng số sử dụng cá thể có hàm mục tiêu nhỏ nhất
Bắt đầu
119
Cơ sở để GA tiến hành việc trên là sử dụng hàm mục tiêu (hay hàm hợp lý) là hàm lỗi của mạng NN tương ứng: tổng bình phương lỗi tiến tới nhỏ nhất:
E = 1
2∑𝑛𝑖=1(di – yi)2
do đó, nó trở thành bài toán tối ưu không giám sát để tìm tập các tham số quyết định bằng cách tối thiểu hàm mục tiêu hay chính là tìm giá trị nhỏ nhất của hàm trên. Giá trị tốt nhất của hàm mục tiêu (Fitness Function) cho GA trong một quần thể định nghĩa là giá trị nhỏ nhất của mục tiêu trong quần thể hiện tại
Giai đoạn thứ hai sử dụng thuật toán BP để huấn luyện mạng NN. Kết thúc giai đoạn thứ nhất, bộ trọng số tốt nhất tương ứng với cá thể ưu việt trong quần thể được lựa chọn làm trọng số khởi tạo cho thuật toán BP. Nó chính là bộ tham số cho phép xác định điểm gần cực tiểu nhất của hàm mục tiêu.
Với sự kết hợp này, thuật toán BP sẽ cần phải thay đổi một số yếu tố: - Thuật toán không tự khởi tạo trọng số mà nhận các trọng số từ GA;
- Thành phần quán tính được loại bỏ để tăng tốc độ hội tụ và loại bỏ dao động.
Thuật toán BP – GA bao gồm hai giai đoạn học được mô tả bằng các bước như sau:
Giai đoạn 1: Giai đoạn học bằng GA
Thuật toán: Khởi tạo các nhiễm sắc thể ngẫu nhiên cho thế hệ hiện tại, khởi tạo các tham số làm việc và đặt nhiễm sắc thể đầu tiên là nhiễm sắc thể tốt nhất best_chromosome.
Bước 1. Lặp từ i=1 đến kích thước quần thể:
Khởi tạo sub_total_fitness bằng 0 và sub_best_chromosome là rỗng
Bước 2. Lặp từ j=1 đến độ dài của nhiễm sắc thể, thực hiện các công việc sau:
- Thực hiện thủ tục truyền thẳng cho mạng 3 lớp sử dụng hàm tương tác dạng sigmoid:
f(u) = 1
1+ 𝑒−𝜆.𝑢
- Tính hàm mục tiêu (2.13): E = 1
2∑𝑛𝑖=1(di – yi)2
- Tính tổng sai số total_fitness bằng cách tích lũy sub_total_fitness
Bước 3. Lưu best_chromosome vào sub_best_chromosome
Bước 4. So sánh các sub_best_chromosome với nhau và đặt sub_best_chromosome lớn nhất là best_chromosome.
Bước 5. Lặp từ i=0 đến kích thước quần thể/2, thực hiện các thủ tục sau: - Khởi tạo sub_total_fitness bằng 0 và sub_best_chromosome là rỗng - Lặp từ j=1 tới độ dài nhiễm sắc thể:
120
* Áp dụng các phép lai và đột biến - Lặp từ k=1 đến độ dài nhiễm sắc thể: * Thực hiện thủ tục truyền thẳng chomạng
* Tính các giá trị hàm mục tiêu cho các nhiễm sắc thể cha mẹ.
- Tính sub_total_fitness bằng cách tích lũy giá trị hàm mục tiêu của mỗi nhiễm sắc thể. - Lưu best_chromosome vào sub_best_chromosome
Bước 6. Thay thế hệ cũ bằng thế hệ mới nếu thỏa mãn điều kiện dừng.
Giai đoạn 2: Giai đoạn học bằng thuật toán BP