8

Sự tự cải thiện của phương pháp giải và tiến hóa thuật toán

AI999第1课:智能演化的源流与 EvoX 的诞生背景
00:00

Thuật toán tiến hóa có một thiết lập mặc định rất dễ bị bỏ qua:đối tượng được tiến hóa là các lời giải ứng viên, còn phương pháp tạo ra chúng thì giữ nguyên không đổi. Nói cách khác,thuật toán tiến hóa truyền thống thường giữ cố định phương pháp tìm kiếm, chỉ để lời giải ứng viên thay đổi qua các vòng lặp——trong suốt quá trình tìm kiếm, thứ "động" là lời giải, còn thứ "đứng yên" là các quy tắc. Trang này muốn giới thiệu một góc nhìn khác nằm ngoài thiết lập đó: để chính phương pháp giải cũng bước vào quá trình tìm kiếm và cải thiện.

Sự tự cải thiện của phương pháp giải và tiến hóa thuật toánSo sánh giữa mô thức mặc định và tiến hóa thuật toánGiải bằng thuật toán cố địnhMô thức mặc địnhTầng phương pháp · Khóa trong khi chạyKhóaChiến lược đột biếnCách lai ghépSiêu tham sốSinhTầng lời giải · Lặp từng vòngLời giải ứng viênLời giải ứng viênLời giải ứng viênSinh → Đánh giá → Chọn lọc → Kế thừaTầng phương pháp giữ nguyên, chỉ có lời giải được cập nhậtThuật toán tự tham gia tìm kiếmTiến hóa thuật toánTầng phương pháp · Bước vào tìm kiếmCó thể ứng viênChiến lược đột biếnCách lai ghépSiêu tham sốSinh lời giải ứng viênTầng lời giải · Lặp thông thườngSinh → Đánh giá → Chọn lọc → Kế thừaLời giải ứng viênLời giải ứng viênLời giải ứng viênĐánh giáĐánh giá hiệu quả giảiGiữ tốt · Thay kémPhương pháp cập nhật theoCập nhật phương phápCập nhật tầng lời giảiCập nhật tầng phương pháp

Mô thức mặc định: Phương pháp bị khóa, lời giải tiến hóa

Trong cách làm truyền thống, cách lai ghép, chiến lược đột biến và siêu tham số thường được chọn một lần trước khi chạy, rồi sau đó giữ nguyên suốt quá trình tìm kiếm. Chúng trực tiếp quyết định cơ chế sinh lời giải ứng viên và ảnh hưởng rõ rệt đến kết quả giải: dù hiệu quả trên nhiệm vụ tốt hay xấu, phương pháp vẫn đứng yên tại chỗ.

  • Tầng lời giảiđang động: lời giải ứng viên → đánh giá → chọn lọc → kế thừa, lặp hết vòng này đến vòng khác.
  • Tầng phương phápđứng yên: chiến lược đột biến, cách lai ghép, siêu tham số được đặt trước và khóa lại.
  • Hệ quả: nếu chỉ dựa vào thiết lập trước và tinh chỉnh thủ công, bản thân phương pháp giải sẽ không tiến hóa liên tục theo phản hồi từ nhiệm vụ; việc cải thiện chủ yếu dựa vào kinh nghiệm con người và tinh chỉnh thủ công, tốc độ tinh chỉnh thường không theo kịp sự thay đổi của nhiệm vụ.

Tiến hóa thuật toán: Biến phương pháp thành đối tượng có thể tìm kiếm

Cách làm của tiến hóa thuật toán là: không còn coi cách lai ghép, chiến lược đột biến, siêu tham số như cấu hình cố định, mà xem chúng như những đối tượng có thể đượcứng viên, đánh giá và thay thế, cùng với lời giải ứng viên chịu sự kiểm nghiệm của hiệu quả giải — tức là để chính thuật toán giải bước vào quá trình tìm kiếm và cải thiện, khiến "phương pháp" cũng trở thành đối tượng có thể tiến hóa. Như vậy, ngoài vòng lặp ở tầng lời giải vốn có, sẽ xuất hiện thêm vòng phản hồi thứ hai — không chỉ lời giải được cải thiện, mà phương pháp cũng được cải thiện.

Hai vòng lặp có thể được tóm gọn bằng một chuỗi mũi tên giản dị:Yếu tố phương pháp → Sinh lời giải ứng viên → Đánh giá hiệu quả giải → Giữ lại hoặc thay thế → Cập nhật phương pháp; đồng thời, bên trong lời giải ứng viên vẫn diễn ra vòng lặp thông thường "Sinh → Đánh giá → Chọn lọc → Kế thừa". Vòng trước thay đổi "tìm cách nào", vòng sau thay đổi "tìm được cái gì".

Bước chuyển then chốt
Từ "dùng thuật toán cố định để tìm lời giải tốt hơn" mở rộng thành "để thuật toán tự cải thiện trong quá trình giải". Muốn biết một hệ thống có thực sự đang tiến hóa thuật toán hay không, hãy xem các yếu tố phương pháp có được đưa vào tìm kiếm và việc giữ hay loại chúng có do hiệu quả giải quyết định hay không, thay vì bị con người cố định một lần cho mãi mãi.