7

การนำวิวัฒนาการวิธีทั่วไปมาสู่การปฏิบัติ: สถาปัตยกรรม MetaDE

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

การวิวัฒนาการเชิงผลต่าง (DE) แบบดั้งเดิมให้ผู้วิจัยกำหนดกลยุทธ์การกลายพันธุ์และพารามิเตอร์ควบคุมหลักไว้ล่วงหน้า และคงไว้เช่นนั้นตลอดกระบวนการค้นหา การเปลี่ยนแปลงหลักของ MetaDE คือ:ถือว่าการตั้งค่าของอัลกอริทึมเองก็เป็นวัตถุที่ถูกวิวัฒน์ด้วย— ชั้นนอกวิวัฒน์ค้นหาในปริภูมิอัลกอริทึม ชั้นในประเมินสมรรถนะในปริภูมิคำตอบ จึงเปลี่ยน «วิธีวิวัฒน์» จากการกำหนดไว้ล่วงหน้าโดยมนุษย์มาเป็นการค้นหาแบบปรับตัว

โครงสร้างวิวัฒนาการสองชั้นของ MetaDEใช้อัลกอริทึมวิวัฒนาการปรับปรุงอัลกอริทึมวิวัฒนาการชั้นวิวัฒนาการชั้นนอก · ปริภูมิอัลกอริทึมวัตถุที่ปรับให้เหมาะสม: การตั้งค่าอัลกอริทึม1กลยุทธ์การกลายพันธุ์: rand/1การผสมข้ามแบบทวินามF=0.5CR=0.92กลยุทธ์การกลายพันธุ์: best/1การผสมข้ามแบบเอกซ์โพเนนเชียลF=0.8CR=0.43กลยุทธ์การกลายพันธุ์: current-to-best/1การผสมข้ามแบบทวินามF=0.3CR=0.7การดำเนินการวิวัฒนาการชั้นนอก: คัดเลือก · ผสมข้าม · กลายพันธุ์ · คัดออก → สร้างการตั้งค่ารุ่นถัดไปความแตกต่างระหว่างปัจเจกบุคคล สะท้อนแนวโน้มพฤติกรรมของอัลกอริทึมตระกูลเดียวกันภายใต้ลักษณะปัญหาที่ต่างกันส่งการตั้งค่าผู้สมัครลงไป→ งานต้นฉบับส่งสมรรถนะจริงกลับคืน→ ความเหมาะสมชั้นนอกวงจรตรวจสอบแบบปิดสร้างการตั้งค่า → ตรวจสอบด้วยงาน → ตัดสินใจจากผลตอบกลับความเหมาะสมต้องมาจากผลการรันจริงเท่านั้นชั้นงานชั้นใน · ปริภูมิคำตอบวัตถุที่ปรับให้เหมาะสม: คำตอบของปัญหางานปรับให้เหมาะสมต้นฉบับอินสแตนซ์ปัญหาที่กำหนดให้รันการตั้งค่าเดียวกันหลายครั้งอย่างอิสระทำซ้ำ 10 ครั้งสถิติความเหมาะสมจริงใช้ค่าเฉลี่ยเป็นความเหมาะสมของปัจเจกบุคคลชั้นนอกช่องทางตรวจสอบ: การตั้งค่าผู้สมัครทุกแบบต้องเข้าสู่งานต้นฉบับและรันจริงหนึ่งครั้งชั้นนอกปรับการตั้งค่าอัลกอริทึมให้เหมาะสม ชั้นในปรับคำตอบของปัญหาให้เหมาะสม ทั้งสองชั้นเชื่อมกันด้วยช่องทางตรวจสอบ «รันจริงหนึ่งครั้ง»

โครงสร้างสองชั้น: ชั้นนอกค้นหาอัลกอริทึม ชั้นในแก้ปัญหา

  • ชั้นใน: กระบวนการแก้ปัญหาตามปกติของวิวัฒนาการเชิงผลต่างบนงานปรับให้เหมาะสมต้นฉบับ รับผิดชอบให้สมรรถนะจริงของงาน
  • ชั้นนอก: ใช้การตั้งค่าอัลกอริทึม DE หนึ่งชุดเป็นหนึ่งปัจเจกบุคคล ดำเนินการคัดเลือก ผสมข้าม กลายพันธุ์ และคัดออกบนปริภูมิการตั้งค่า

หน้าที่ของสองชั้นต้องไม่สับสน: วัตถุที่ชั้นนอกปรับให้เหมาะสมคือการตั้งค่าอัลกอริทึมส่วนวัตถุที่ชั้นในปรับให้เหมาะสมคือคำตอบของปัญหาอดีตกำหนด «ค้นอย่างไร» หลังกำหนด «ค้นได้ดีเพียงใด»

ชั้นนอกวิวัฒน์อะไร

ปัจเจกบุคคลชั้นนอกหนึ่งตัวไม่ได้เข้ารหัสเพียงตัวเลขไม่กี่ตัว แต่เข้ารหัสพฤติกรรมอัลกอริทึมทั้งชุด: กลยุทธ์การกลายพันธุ์ (rand/1, best/1, current-to-best/1 เป็นต้น) วิธีการผสมข้าม (การผสมข้ามแบบทวินาม แบบเอกซ์โพเนนเชียล) ตลอดจนพารามิเตอร์ควบคุม เช่น ตัวคูณสเกล F ความน่าจะเป็นการผสมข้าม CR และขนาดประชากร ความแตกต่างระหว่างปัจเจกบุคคล สะท้อนแนวโน้มพฤติกรรมที่ต่างกันของอัลกอริทึมตระกูลเดียวกันภายใต้ลักษณะปัญหาที่ต่างกัน

วงจรตรวจสอบแบบปิด: การตั้งค่าผู้สมัครต้องรันจริงหนึ่งครั้ง

การตั้งค่าผู้สมัครแต่ละแบบไม่อาจตัดสินการคงอยู่หรือคัดออกได้เพียงจากเมตริกเมตาหรือการตัดสินเชิงประสบการณ์ก่อนหน้า ต้องส่งเข้าสู่งานต้นฉบับเพื่อรันจริงและรับการตรวจสอบจากสมรรถนะจริง จากนั้นชั้นนอกจึงดำเนินการคัดเลือก คัดออก และเก็บรักษาตามความเหมาะสมที่ชั้นในตอบกลับมา เพื่อกำหนดว่าการตั้งค่าใดจะได้รับการสืบทอดและแพร่กระจาย จึงเกิดเป็นวงจรวนซ้ำ «สร้างการตั้งค่า → ตรวจสอบด้วยงาน → ตัดสินใจจากผลตอบกลับ» โดยความเหมาะสมชั้นนอกต้องมาจากผลการรันจริงของชั้นในเท่านั้น

ความแตกต่างจาก DE แบบคงที่

กลยุทธ์และพารามิเตอร์ของ DE แบบดั้งเดิมถูกกำหนดไว้ล่วงหน้าโดยผู้วิจัยและคงที่ตลอดกระบวนการ ส่วน MetaDE มอบอำนาจตัดสินใจนี้ให้แก่วิวัฒนาการชั้นนอก ทำให้อัลกอริทึมมีความสามารถปรับตัวตามลักษณะปัญหา — ตัวอย่างเช่น ในช่วงต้นของการค้นหาจะเอนเอียงไปทาง rand/1 ที่เน้นการสำรวจมากกว่าและใช้ F ที่ใหญ่กว่า ในช่วงหลังจะเปลี่ยนไปใช้ best/1 ที่ลู่เข้าเร็วกว่าและใช้ F ที่เล็กกว่า

ต้นทุนและเงื่อนไข

การตั้งค่าผู้สมัครแต่ละแบบต้องรันงานชั้นในจนครบหนึ่งรอบ (โดยปกติยังต้องรันหลายครั้งอย่างอิสระเพื่อหาค่าเฉลี่ยลดความสุ่ม) ต้นทุนการประเมินจะทวีคูณตามขนาดประชากรและจำนวนรุ่นของชั้นนอก ดังนั้น MetaDE จึงพึ่งพาอย่างมากต่อพื้นฐานทางวิศวกรรม เช่น การประมวลผลแบบขนาน การแปลงเป็นเทนเซอร์ และการจัดตารางเวลารันไทม์ — นี่คือเหตุผลทางวิศวกรรมที่ต้องสร้างบนรันไทม์แบบแปลงเป็นเทนเซอร์

ตัวอย่างที่รันได้น้อยที่สุด
ยกตัวอย่างชุดงานปรับให้เหมาะสมแบบต่อเนื่อง: ปัจเจกบุคคลหนึ่งในประชากรชั้นนอกเข้ารหัสเป็น «rand/1 + การผสมข้ามแบบทวินาม + F=0.5, CR=0.9» การตั้งค่านี้ถูกส่งเข้าสู่งานชั้นในเพื่อรันหลายครั้งอย่างอิสระ แล้วใช้ความเหมาะสมเฉลี่ยเป็นความเหมาะสมของปัจเจกบุคคลชั้นนอก ชั้นนอกจึงคัดเลือก กลายพันธุ์ และเก็บรักษาการตั้งค่าที่ดีกว่า เกิดเป็นวงจรวนซ้ำ «สร้างการตั้งค่า—ตรวจสอบด้วยงาน—ตัดสินใจจากผลตอบกลับ» ขั้นตอนนี้คือรูปแบบที่รันได้น้อยที่สุดของ «ใช้อัลกอริทึมวิวัฒนาการปรับปรุงอัลกอริทึมวิวัฒนาการ»

จุดยืน: MetaDE คือการนำ «กลไกวิวัฒนาการสองชั้นภายใน-ภายนอกและการปรับตัว» จากแนวคิดสู่สถาปัตยกรรมที่นำไปปฏิบัติได้จริง และยังมอบกระบวนทัศน์เชิงวิธีการให้แก่การวิวัฒนาการโครงสร้างอัลกอริทึมในภายหลัง (AutoPSO, EvoGO)