Bài giảng Tính toán tiến hóa - Chương 3: Genetic Programming
Đánh giá độ thích nghi
Các cá thể được đánh giá trên cùng tập mẫu dữ liệu và giá trình hiệu suất trung bình thu được trên mẫu đó được sử dụng là giá trị độ thích nghi
Giả sử có một tập mẫu X và mỗi mẫu chứa ba giá trị đầu vào (a,x,z) và giá trị đích y. Độ thích nghi được tính như sau:
Tính giá trị đầu y^ ra thu được của chương trình mà cá thể biểu diễn với mỗi đầu vào (a,x,z)
Tính giá trị lỗi y^ so với y
Độ sai số trung bình MSE trên toàn bộ tập dữ liệu được xem như tiêu chí để đánh giá độ thích nghiVí dụ minh họa
GP tìm Activation Function tối ưu cho Deeplearning [1]
Bước 1: Xác định tập kết thúc và tập hàm
Tập kết thúc: : 0, 1, 𝑥,−𝑥, |𝑥|, 𝑥^2, 𝑥^3, √𝑥, 𝑒^𝑥, 𝑒^(−𝑥^2 ),log(1+𝑒^𝑥 ),log(|𝑥+𝜖|),sin(𝑥),sinh(𝑥),"arcsinh(x), cos(x), cosh(x), tanh(x), arctanh(x), max{x, 0}, min{x, 0}, σ(x), erf(x), sinc(x)"
Tập hàm: x1 + x2, x1 − x2, x1 · x2, x1/(x2 + ϵ), max{x1, x2}, min{x1, x2}
23 trang |
Chia sẻ: hachi492 | Ngày: 05/01/2022 | Lượt xem: 304 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Tính toán tiến hóa - Chương 3: Genetic Programming, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Genetic Programming
Nội dung
Tổng quan Genetic Programming (GP)
Các toán tử của GP
Ví dụ minh họa
Tổng quan về Genetic Programming
Genetic Programming (Lập trình di truyền – GP) có thể coi là một thuật toán di truyền đặc biệt
Sơ đồ của GP giống s ơ đồ của thuật toán GA
Điểm khác biệt giữa GA và GP
GA: Biểu diễn mỗi cá thể (nhiễm sắc thể) d ư ới dạng chuỗi các alen
GP: Mỗi cá thể là một hàm số hay ch ư ơng trình máy tính, đ ư ợc biểu diễn d ư ới dạng cây
Mục tiêu của GP là tìm một ch ư ơng trình tối ư u trong tập không gian các ch ư ơng trình có thể, để thu đ ư ợc hiệu suất cao nhất
Ư ng dụng: Tối ư u kiến trúc mạng Neural
Tổng quan về Genetic Programming
Tại mỗi thế hệ, mỗi cá thể (hàm, ch ư ơng trình) đ ư ợc tiến hóa để tìm ra hàm số ẩn tối ư u, có độ lỗi thấp nhất cho bài toán
Ví dụ: Tìm 1 hàm số f(x) sao cho đi qua tất cả các đỉnh A1, A2, A3, A4
Các toán tử của GP
Biểu diễn cá thể
Lai ghép
Đột biến
Đánh giá độ thích nghi
Biểu diễn cá thể
Mỗi cá thể trong GP biểu diễn một ch ư ơng trình máy tính hay một hàm ẩn cần tìm
Để đảm bảo ngữ pháp của ch ư ơng trình, ta cần xác định hai tập:
Tập kết thúc ( terminal set ) chứa các biến, hằng số, modun c ơ bản có thể của ch ư ơng trình
Tập hàm ( function set ) chứa tất cả các hàm toán học c ơ bản có thể dùng: +,-,*,/, exp, log, and , or, xor hoặc các cấu trúc quyết định if-then-else,
Biểu diễn cá thể
Mỗi cá thể đ ư ợc biểu diễn d ư ới dạng một cấu trúc cây
Các nút lá của cây: Chọn từ tập kết thúc
Các nút trong của cây: Chọn từ tập hàm
Mỗi cá thể đ ư ợc khởi tạo nh ư sau:
Nút gốc: đ ư ợc chọn ngẫu nhiên trong tập hàm
Nút không phải gốc: Chọn ngẫu nhiên trong tập hàm hoặc tập kết thúc
Chọn trong tập kết thúc: Nút trở thành nút lá
Chọn trong tập hàm: Nút là nút trong
Số l ư ợng nhánh tại mỗi nút phụ thuộc vào hàm c ơ bản tại nút đó
Biểu diễn cá thể - Ví dụ
y := x * ln(a) + sin(z) / exp(-x) - 3.4
Tập kết thúc: x, a, z, 3.4
Tập hàm: *, +, - , /, ln, sin, exp
Lai ghép
Các ph ư ơng pháp chọn lọc cha mẹ sử dụng giống GA
Toán tử lai ghép trong GP:
Chọn ngẫu nhiên một cây con trong mỗi cây cha mẹ và tráo đổi chúng cho nhau
Lai ghép – Ví dụ
Đột biến
Các ph ư ơng pháp đột biến trong GP
Đột biến nút trong
Đột biến nút kết thúc
Đột biến đảo
Đột biến phát triển cây
Đột biến Gauss
Đột biến cắt tỉa cây
Đột biến - Đột biến nút trong
Thay thế hàm tại nút đó bằng một hàm khác trong tập hàm
Đột biến - Đột biến nút kết thúc
Thay thế biến, hằng tại nút đó bằng một biến, hằng khác trong tập kết thúc
Đột biến - Đột biến đảo
Chọn ngẫu nhiên một nút trong và đảo hai nút con của nó
Đột biến - Đột biến phát triển cây
Chọn ngẫu nhiên một nút và thay thế toàn bộ cây con của nút đó bằng một cây con ngẫu nhiên khác
Đột biến - Đột biến Gauss
Chọn ngẫu nhiên một nút lá chứa hằng số và thêm giá trị nhiễu Gauss vào nút đó
Đột biến - Đột biến cắt tỉa cây
Chọn ngẫu nhiên một nút và thay thế nút đó bởi một biến hay hằng số ngẫu nhiên trong tập kết thúc
Đánh giá độ thích nghi
Các cá thể đ ư ợc đánh giá trên cùng tập mẫu dữ liệu và giá trình hiệu suất trung bình thu đ ư ợc trên mẫu đó đ ư ợc sử dụng là giá trị độ thích nghi
Giả sử có một tập mẫu X và mỗi mẫu chứa ba giá trị đầu vào (a,x,z) và giá trị đích y. Độ thích nghi đ ư ợc tính nh ư sau:
Tính giá trị đầu y^ ra thu đ ư ợc của ch ư ơng trình mà cá thể biểu diễn với mỗi đầu vào (a,x,z)
Tính giá trị lỗi y^ so với y
Độ sai số trung bình MSE trên toàn bộ tập dữ liệu đ ư ợc xem nh ư tiêu chí để đánh giá độ thích nghi
Ví dụ minh họa
GP tìm Activation Function tối ư u cho Deeplearning [1]
Bước 1: Xác định tập kết thúc và tập hàm
Tập kết thúc: :
Tập hàm: x1 + x2, x1 − x2, x1 · x2, x1/(x2 + ϵ), max{x1, x2}, min{x1, x2}
[1] Bingham, Garrett, William Macke, and Risto Miikkulainen. "Evolutionary optimization of deep learning activation functions." arXiv preprint arXiv:2002.07224 (2020) (GECCO 2020)
Ví dụ minh họa
Đột biến chương trình
Ví dụ minh họa
Lai ghép
Ví dụ minh họa- Kết quả thu đ ư ợc
Thanks for your attention
Các file đính kèm theo tài liệu này:
- bai_giang_tinh_toan_tien_hoa_chuong_3_genetic_programming.ppt