7

Triển khai tiến hóa phương pháp điển hình: Kiến trúc MetaDE

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

Thuật toán tiến hóa vi phân (DE) truyền thống để nhà nghiên cứu đặt trước chiến lược đột biến và các tham số điều khiển then chốt, rồi giữ nguyên trong suốt quá trình tìm kiếm. Bước chuyển cốt lõi của MetaDE là:coi chính cấu hình của thuật toán cũng là đối tượng được tiến hóa——tầng ngoài tiến hóa tìm kiếm trong không gian thuật toán, tầng trong đánh giá biểu hiện trong không gian lời giải, từ đó chuyển «cách tiến hóa» từ đặt trước thủ công sang tìm kiếm thích nghi.

Cấu trúc tiến hóa hai tầng của MetaDEDùng thuật toán tiến hóa để cải tiến thuật toán tiến hóaTầng tiến hóa ngoài · Không gian thuật toánĐối tượng tối ưu: cấu hình thuật toán1Chiến lược đột biến: rand/1Lai ghép nhị thứcF=0.5CR=0.92Chiến lược đột biến: best/1Lai ghép hàm mũF=0.8CR=0.43Chiến lược đột biến: current-to-best/1Lai ghép nhị thứcF=0.3CR=0.7Thao tác tiến hóa tầng ngoài: chọn lọc · lai ghép · đột biến · loại bỏ → sinh cấu hình thế hệ kế tiếpSự khác biệt giữa các cá thể phản ánh xu hướng hành vi của cùng một họ thuật toán dưới các đặc tính bài toán khác nhauGửi cấu hình ứng viên xuống→ Bài toán gốcTruyền ngược biểu hiện thực tế→ Độ thích nghi tầng ngoàiVòng lặp kiểm nghiệmSinh cấu hình → Kiểm nghiệm bài toán → Phản hồi chọn lọcĐộ thích nghi chỉ có thể đến từ kết quả chạy thực tếTầng bài toán trong · Không gian lời giảiĐối tượng tối ưu: lời giải bài toánBài toán tối ưu gốcThể hiện bài toán cho trướcCùng một cấu hình chạy độc lập nhiều lầnLặp lại 10 lầnThống kê độ thích nghi thực tếLấy giá trị trung bình làm độ thích nghi cá thể tầng ngoàiKênh kiểm nghiệm: mỗi cấu hình ứng viên đều phải chạy thực tế một lần trong bài toán gốcTầng ngoài tối ưu cấu hình thuật toán, tầng trong tối ưu lời giải bài toán; hai tầng được nối với nhau bằng kênh kiểm nghiệm «chạy thật một lần»

Cấu trúc hai tầng: tầng ngoài tìm thuật toán, tầng trong giải bài toán

  • Tầng trong: quá trình giải thông thường của tiến hóa vi phân trên bài toán tối ưu gốc, chịu trách nhiệm đưa ra biểu hiện thực tế của bài toán.
  • Tầng ngoài: lấy một cấu hình thuật toán DE làm một cá thể, thực hiện chọn lọc, lai ghép, đột biến và loại bỏ trên không gian cấu hình.

Không được lẫn lộn trách nhiệm của hai tầng: đối tượng tối ưu của tầng ngoài làcấu hình thuật toán, còn đối tượng tối ưu của tầng trong làlời giải bài toán. Cái trước quyết định «tìm kiếm thế nào», cái sau quyết định «tìm được tốt đến đâu».

Tầng ngoài tiến hóa cái gì

Một cá thể tầng ngoài mã hóa không phải vài con số, mà là cả một bộ hành vi thuật toán: chiến lược đột biến (rand/1, best/1, current-to-best/1, v.v.), cách lai ghép (lai ghép nhị thức, lai ghép hàm mũ), cùng các tham số điều khiển như hệ số tỷ lệ F, xác suất lai ghép CR, kích thước quần thể. Sự khác biệt giữa các cá thể chính là những xu hướng hành vi khác nhau của cùng một họ thuật toán dưới các đặc tính bài toán khác nhau.

Vòng lặp kiểm nghiệm: cấu hình ứng viên phải chạy thật một lần

Mỗi cấu hình ứng viên đều không thể quyết định giữ hay loại chỉ dựa vào chỉ số meta hay phán đoán tiên nghiệm, mà phải được đưa vào bài toán gốc để chạy thực tế, chịu sự kiểm nghiệm của biểu hiện thực tế; tầng ngoài sau đó dựa trên độ thích nghi phản hồi từ tầng trong để thực hiện chọn lọc, loại bỏ và giữ lại, quyết định cấu hình nào được kế thừa và lan truyền. Từ đó hình thành vòng lặp lặp lại «sinh cấu hình → kiểm nghiệm bài toán → phản hồi chọn lọc», độ thích nghi tầng ngoài chỉ có thể đến từ kết quả chạy thực tế của tầng trong.

Khác biệt so với DE cố định

Chiến lược và tham số của DE truyền thống do nhà nghiên cứu đặt trước và cố định suốt quá trình; MetaDE giao quyền quyết định này cho tầng tiến hóa ngoài, giúp thuật toán có khả năng thích nghi với đặc tính bài toán——chẳng hạn giai đoạn đầu tìm kiếm ưu tiên rand/1 có tính khám phá mạnh hơn cùng F lớn hơn, giai đoạn sau chuyển sang best/1 hội tụ nhanh hơn cùng F nhỏ hơn.

Chi phí và tiền đề

Mỗi cấu hình ứng viên đều phải chạy trọn vẹn một lần bài toán tầng trong (thường còn cần chạy độc lập nhiều lần rồi lấy trung bình để giảm tính ngẫu nhiên), chi phí đánh giá tăng gấp bội theo kích thước quần thể tầng ngoài và số thế hệ. Vì vậy MetaDE phụ thuộc mạnh vào nền tảng kỹ thuật như song song hóa, tensor hóa và lập lịch runtime——đây chính là lý do kỹ thuật khiến nó cần được xây dựng trên một Runtime tensor hóa.

Ví dụ chạy được tối thiểu
Lấy một nhóm bài toán tối ưu liên tục làm ví dụ: một cá thể trong quần thể tầng ngoài được mã hóa là «rand/1 + lai ghép nhị thức + F=0.5, CR=0.9», cấu hình này được đưa vào bài toán tầng trong chạy độc lập nhiều lần, lấy độ thích nghi trung bình làm độ thích nghi của cá thể tầng ngoài; tầng ngoài dựa vào đó chọn lọc, đột biến và giữ lại cấu hình tốt hơn, hình thành vòng lặp lặp lại «sinh cấu hình—kiểm nghiệm bài toán—phản hồi chọn lọc». Bước này chính là hình thái chạy được tối thiểu của «dùng thuật toán tiến hóa để cải tiến thuật toán tiến hóa».

Định vị: MetaDE là bước hiện thực hóa cụ thể «cơ chế tiến hóa và thích nghi hai tầng trong-ngoài» từ tư tưởng thành kiến trúc khả thi, đồng thời cung cấp mô thức phương pháp cho việc tiến hóa cấu trúc thuật toán tiếp theo (AutoPSO, EvoGO).