10

Thiết kế bản thiết kế thí nghiệm tối ưu hóa hai tầng

AI999第5课:方法演化:从优化解到优化算法本身
00:00

Bản thiết kế thí nghiệm tối ưu hóa hai tầng phải trả lời một câu hỏi cụ thể:hệ số đột biến F của Tiến hóa vi phân (DE) rốt cuộc nên được đặt bằng bao nhiêu. Cách làm của nó không phải là tiếp tục tinh chỉnh thủ công, mà là nâng F từ một siêu tham số cố định thànhđối tượng có thể tiến hóa ở tầng ngoài, lấy việc “dùng một thiết lập F nào đó để chạy một lần tác vụ giải DE” làmquá trình đánh giá ở tầng trong; tầng ngoài dựa trên hiệu suất tác vụ của tầng trong để cập nhật cấu hình. Bản thiết kế này vận hành được là nhờ nó được xây dựng trên nền tảng tính toán hiện đại của EvoX: quần thể, kết quả đánh giá và trạng thái thuật toán được tổ chức thành cáctensorcó thể tính toán toàn bộ, nhờ đó các cấu hình ứng viên có thể được đột biến hàng loạt, đánh giá hàng loạt và đi vào đồ thị tính toán để nhận tối ưu hóa biên dịch, rồi được Bộ điều phối Runtimephân phối tính toán tới GPU, thiết bị tăng tốc hoặc cụm phân tán, từ đó nén chu kỳ thí nghiệm tuần tự vốn rất dài xuống một cửa sổ thời gian có thể chấp nhận được.

Bản thiết kế thí nghiệm tối ưu hóa hai tầngTầng ngoài tiến hóa chiến lược F · Tầng trong đánh giá hiệu suất tác vụ DEĐánh giá hàng loạt dạng tensor · Điều phối RuntimeFVòng lặp tầng ngoàiTiến hóa chiến lược F, cập nhật cấu hình theo từng thế hệ1Mã hóa kiểu gen FHằng số / theo giai đoạn / hàm điều phối2Chọn lọc · Đột biến · Lai ghép · Cập nhậtQuần thể tầng ngoài lặp qua từng thế hệ, cập nhật cấu hình F3Tổng hợp độ thích nghi tầng ngoàiTrung bình / Trung vị / Phạt phương saiDETác vụ tầng trongĐánh giá hiệu suất DE dưới thiết lập F đó1Cố định bài toán chuẩn, số chiều và tập hạt giốngKhóa cấu trúc DE, chỉ thay đổi F do tầng ngoài truyền vào2Chạy DE + Đánh giá hàng loạt trên GPUPhân phối song song các cấu hình ứng viên dạng tensor3Tổng hợp chỉ sốGiá trị tối ưu / Hội tụ / Tỷ lệ thành công / Phương saiÁnh xạ cấu hìnhKiểu gen → F tại thời điểm chạyChỉ số → Độ thích nghi tầng ngoàiPhản hồi tác vụVòng kín hai tầngCác trường bắt buộc của bản thiết kếNhật ký bắt buộc ghi: Hạt giống · Ngân sách · ID tác vụ · Phần cứng · Điều kiện dừngMục tiêu tác vụ tầng trongBài toán chuẩn · Ngân sách · Tập hạt giốngĐối tượng chiến lược tầng ngoàiHằng số · Theo giai đoạn · Trạng tháiCách ánh xạ FTường minh · Có thể tái lậpChỉ số đánh giáTrung bình · Phân vị · Siêu thể tíchSong song hóa và ngân sáchĐánh giá hàng loạt trên GPUĐường cơ sở và loại bỏ thành phầnCố định F = 0.5DE thích nghi cổ điển

Tác vụ tầng trong: Biến hiệu suất thành tín hiệu có thể so sánh

Tầng trong là mộtthí nghiệm có thể tái lập. Trước tiên chọn một tác vụ tối ưu hóa hoặc tập hàm chuẩn, sau đó khóa toàn bộ cấu trúc chính của DE, số chiều, ngân sách đánh giá và tập hạt giống ngẫu nhiên — đại lượng duy nhất thay đổi chính là cấu hình F do tầng ngoài truyền vào. Mỗi lần chạy đều phải ghi lại: giá trị tối ưu, tốc độ hội tụ (số thế hệ cần để đạt ngưỡng), tỷ lệ thành công, mức vi phạm ràng buộc, chỉ số đa mục tiêu (như siêu thể tích) và độ đa dạng của ứng viên. Những ghi chép này chính là toàn bộ thông tin mà tầng ngoài có thể “nhìn thấy”, cũng là căn cứ duy nhất để tầng ngoài đánh giá tốt xấu. Việc đánh giá được thực thi hàng loạt theo dạng tensor, cùng một lô ứng viên dùng chung một đồ thị tính toán, tránh chi phí đánh giá tuần tự từng cá thể.

Đối tượng chiến lược tầng ngoài: F không còn là một hằng số

Tầng ngoài không tìm kiếm một giá trị số, mà tìm kiếm một chiến lược F. Có ba loại mã hóa phổ biến: hằng số F; hằng số theo giai đoạn, ví dụ kiểu gen [F1, F2, F3] chuyển đổi theo khoảng thế hệ; hàm điều phối do một số ít gen điều khiển, ví dụ kích hoạt F khác nhau dựa trên tỷ lệ thành công hiện tại, phương sai quần thể hoặc tỷ lệ thế hệ. Với mã hóa dạng chiến lược, ngoài bản thân gen còn phải ghi rõ đặc trưng đầu vào và quy tắc đầu ra, nếu không cùng một đoạn gen sẽ cho ra kết quả hoàn toàn khác nhau dưới các cách hiện thực khác nhau.

Cách ánh xạ: Từ kiểu gen đến cấu hình tại thời điểm chạy

Ánh xạ từ kiểu gen tầng ngoài đến cấu hình tầng trong tại thời điểm chạy phảitường minh và có thể tái lập. Ví dụ kiểu gen [Fđầu, Fcuối, suy giảm] được ánh xạ thành lịch trình suy giảm theo thế hệ: F(t) = Fđầu + (Fcuối − Fđầu) × e^(−suy giảm × t / T), trong đó t là thế hệ hiện tại, T là tổng số thế hệ; kiểu gen [F1, F2, F3] được ánh xạ thành chuyển đổi ba đoạn hằng số. Cùng một kiểu gen phải luôn ánh xạ đến cùng một cấu hình tại thời điểm chạy, nếu không những “gen tốt” mà tầng ngoài học được sẽ không thể giải thích, cũng không thể chuyển giao sang tác vụ mới.

Quy trình vòng kín và nhật ký bắt buộc ghi

Vòng lặp hoàn chỉnh là: quần thể tầng ngoài sinh ra một lô cấu hình F → Bộ điều phối Runtime phân phối song song các tác vụ DE tầng trong theo lô dạng tensor → Đánh giá hàng loạt trên GPU → Tổng hợp chỉ số → Tầng ngoài chọn lọc, đột biến, lai ghép và cập nhật → Bước vào vòng tiếp theo. Ở đây kế thừa tổ chức phân tầng của EvoX: tầng thuật toán đảm nhận tiến hóa tầng ngoài và logic DE tầng trong, mô-đun bài toán cung cấp tác vụ chuẩn, Bộ điều phối Runtime chịu trách nhiệm phân phối tính toán hàng loạt đến GPU hoặc cụm phân tán, mô-đun giám sát thu hồi chỉ số. Trên vòng kín phải lưu lại các ghi chép có thể tái lập: hạt giống ngẫu nhiên, ngân sách đánh giá, ID tác vụ, model phần cứng và điều kiện dừng. Bất kỳ kết luận “tầng ngoài thắng” nào cũng phải có thể chạy lại được dưới cùng điều kiện.

Điều kiện biên và đường cơ sở: Ba lớp bảo vệ

Bảo vệ chống nhiễu:Khi đánh giá tầng trong dao động lớn, kết quả của một lần chạy không đáng tin cậy, phải chạy độc lập nhiều lần và báo cáo khoảng tin cậy; độ thích nghi có thể được tổng hợp bằng trung bình, trung vị hoặc phân vị xấu nhất, đồng thời tách riêng tác vụ huấn luyện và tác vụ kiểm định để tránh tầng ngoài chỉ quá khớp với một vài hạt giống may mắn.Bảo vệ chi phí:Khi tác vụ tầng trong đắt đỏ, trước tiên dùng mô hình độ trung thực thấp hoặc đánh giá thay thế để sàng lọc thô, sau đó đánh giá lại độ trung thực cao với một số ít ứng viên.Bảo vệ đường cơ sở:Cố định F = 0.5 và DE thích nghi cổ điển phải được so sánh cùng nhau, và dùng thí nghiệm loại bỏ thành phần để xác nhận lợi ích đến từ chính tiến hóa tầng ngoài, chứ không phải từ việc tăng số lần đánh giá. Nếu không gian tìm kiếm tầng ngoài quá nhỏ, tối ưu hóa hai tầng sẽ thoái hóa thành tinh chỉnh thủ công; khi đó nên mở rộng không gian mã hóa thay vì chỉ đơn thuần tăng ngân sách.