9

MetaDE: สถาปัตยกรรมแบบซ้อนสำหรับอัลกอริทึมที่ปรับแต่งอัลกอริทึม

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

ในบทเรียนที่แล้ว ระบบวิวัฒนาการสะสมความสามารถอย่างต่อเนื่องผ่านวงจรปิด "สร้าง—ประเมิน—คัดเลือก—สืบทอด" บทเรียนนี้จะผลักแนวคิดนี้ให้ลึกไปอีกหนึ่งชั้น ไม่ใช่เพียงให้อัลกอริทึมแก้ปัญหา แต่ให้อัลกอริทึมปรับปรุงอัลกอริทึมเสียเองMetaDE ก็คือสถาปัตยกรรมวิวัฒนาการแบบซ้อนเช่นนี้เอง โดยแยก Differential Evolution (DE) ออกเป็นสองชั้น คือชั้นในและชั้นนอก ทำให้ "อัลกอริทึมที่ปรับแต่งอัลกอริทึม" กลายเป็นกระบวนการคำนวณที่นำไปปฏิบัติได้จริง

1. การแบ่งงานสองชั้น: ใครแก้ปัญหา ใครวิวัฒนาการ

MetaDE จัดระเบียบ DE เป็นสองชั้น คือชั้นในและชั้นนอก โดยทั้งสองชั้นมีเป้าหมายการทำงานที่แตกต่างกันโดยสิ้นเชิง:

  • DE ชั้นใน (ชั้นงาน): มุ่งเน้นงานปรับให้เหมาะสมจริง ดูแลประชากรคำตอบที่เป็นตัวเลือก ดำเนินการกลายพันธุ์ ครอสโอเวอร์ และคัดเลือกซ้ำแล้วซ้ำเล่า เพื่อค่อย ๆ เข้าใกล้คำตอบที่มีคุณภาพบนงานนั้น ๆ มันตอบคำถามว่า "แก้โจทย์ข้อนี้ได้ดีแค่ไหน"
  • DE ชั้นนอก (ชั้นเมตา): มุ่งเน้นที่ตัวอัลกอริทึมเอง แต่ละปัจเจกในประชากรไม่ใช่คำตอบของงาน แต่เป็นชุดการตั้งค่า "กลยุทธ์การกลายพันธุ์ + พารามิเตอร์" ทั้งชุด เช่น ใช้วิธีกลายพันธุ์แบบใด ค่าตัวคูณสเกลและความน่าจะเป็นครอสโอเวอร์เป็นเท่าใด มันตอบคำถามว่า "การตั้งค่าอัลกอริทึมชุดนี้ใช้งานได้ดีหรือไม่"

ดังนั้นชั้นนอกจึงไม่ได้ปรับแต่งตัวแปรของงานโดยตรง ตัวแปรของงานจะถูกจัดการโดยชั้นในเสมอ สิ่งที่ชั้นนอกเปลี่ยนแปลงก็คือ "คู่มือการทำงาน" ของชั้นในเท่านั้น

สถาปัตยกรรมวิวัฒนาการแบบซ้อนของ MetaDEDE ชั้นนอก (ชั้นเมตา): วิวัฒนาการการตั้งค่า "กลยุทธ์การกลายพันธุ์ + พารามิเตอร์" ของอัลกอริทึมชั้นในการตั้งค่า Aกลยุทธ์การกลายพันธุ์ + พารามิเตอร์การตั้งค่า Bกลยุทธ์การกลายพันธุ์ + พารามิเตอร์การตั้งค่า Cกลยุทธ์การกลายพันธุ์ + พารามิเตอร์แต่ละปัจเจก = หนึ่งชุดการตั้งค่า; เก็บรักษาและรวมการตั้งค่าที่ดีกว่าใหม่ตามผลตอบกลับจากงานส่งการตั้งค่าอัลกอริทึมลงไปส่งผลประสิทธิภาพของงานกลับการเชื่อมโยงแบบวงจรปิดDE ชั้นใน (ชั้นงาน): ทำซ้ำคำตอบที่เป็นตัวเลือกบนงานเฉพาะประชากรคำตอบที่เป็นตัวเลือกคำตอบคำตอบคำตอบคำตอบที่เป็นตัวเลือกคำตอบที่เป็นตัวเลือกคำตอบที่เป็นตัวเลือกกลายพันธุ์ → ครอสโอเวอร์ → คัดเลือกคำตอบที่เป็นตัวเลือก → ประเมินฟังก์ชันเป้าหมายประสิทธิภาพของงาน → ส่งกลับชั้นนอกการเร่งความเร็วแบบขนานด้วย GPUประเมินการตั้งค่าชั้นในหลายชุดพร้อมกันการประมวลผลขนานช่วยลดเวลาการค้นหาของชั้นเมตาการประเมินแบบซ้อนทำให้ค่าใช้จ่ายเพิ่มขึ้นเป็นทวีคูณการประมวลผลขนานเป็นเงื่อนไขเบื้องต้นสำหรับการใช้งานจริงประเมินพร้อมกันหลายการ์ดการประมวลผลขนานช่วยลดเวลานาฬิกาแขวน (wall-clock time)แต่ไม่ได้ลดปริมาณการคำนวณรวมเมื่องบประมาณจำกัด: ควรลดขนาดชั้นนอกก่อนอัลกอริทึมที่ปรับแต่งอัลกอริทึม: ชั้นนอกวิวัฒนาการการตั้งค่า ชั้นในแก้ปัญหางานชั้นนอกผลิตการตั้งค่า → ชั้นในดำเนินการและส่งผลประสิทธิภาพกลับ → ชั้นนอกอัปเดตการตั้งค่า (วงจรปิด)

2. วงจรปิดเชิงโต้ตอบ: การส่งการตั้งค่าลงไปและการส่งผลประสิทธิภาพกลับ

ทั้งสองชั้นเชื่อมโยงกันด้วยช่องทางสองทิศทาง ก่อตัวเป็นวงจรปิด: ชั้นนอกผลิตชุดการตั้งค่าอัลกอริทึมหนึ่งชุดก่อน แล้วส่งลงไป (→) ให้ชั้นใน; ชั้นในทำงานบนงานตามการตั้งค่านั้น เมื่อเสร็จแล้วจึงส่งประสิทธิภาพของงาน (→) กลับไปยังชั้นนอก; ชั้นนอกอาศัยข้อมูลนี้เก็บรักษาและรวมการตั้งค่าที่ดีกว่าใหม่ แล้วผลิตการตั้งค่ารอบถัดไป กระบวนการทั้งหมดสรุปได้ว่า: การตั้งค่าชั้นนอก → การแก้ปัญหาชั้นใน → ประสิทธิภาพของงาน → การอัปเดตชั้นนอก วนซ้ำไปเรื่อย ๆ

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

3. เงื่อนไขที่นำไปปฏิบัติได้: การประมวลผลขนานและการ权衡ต้นทุน

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

ความเข้าใจผิดที่พบบ่อย
การมองว่า MetaDE เทียบเท่ากับ "การปรับพารามิเตอร์ด้วยมือ" ไม่ถูกต้องนัก การปรับพารามิเตอร์ด้วยมือเป็นการลองผิดลองถูกครั้งเดียวจากภายนอกวงจร ในขณะที่ MetaDE นำการตั้งค่าเองเข้ามาอยู่ในวงจรวิวัฒนาการ: การตั้งค่าจะถูกสร้าง ประเมิน และรวมใหม่ซ้ำแล้วซ้ำเล่า และเป้าหมายการค้นหาเป็น "กลยุทธ์การกลายพันธุ์ + พารามิเตอร์" แบบผสม ไม่ใช่เพียงค่าตัวเลขไม่กี่ค่า