5

MetaDE: ปรับปรุงอัลกอริทึมวิวัฒนาการด้วยอัลกอริทึมวิวัฒนาการ

AI999第7课:AI Native 科研范式与 EvoX 实战切入
00:00

กระบวนการปรับเหมาะแบบดั้งเดิมมุ่งความสนใจทั้งหมดไปที่ปริภูมิคำตอบ: กำหนดชุดค่าตั้งต้นของ Differential Evolution (DE) ไว้คงที่ ได้แก่ กลยุทธ์การกลายพันธุ์ อัตราการคrossover CR ตัวคูณสเกล F และขนาดประชากร NP แล้ววนซ้ำเพื่อเข้าใกล้คำตอบที่เหมาะที่สุดของปัญหา แต่ยังมีคำถามหนึ่งที่ค้างคาเสมอ:แล้วใครเป็นคนเลือกค่าตั้งต้นชุดนี้เอง?คำตอบของ MetaDE คือการมอง "วิธีที่ใช้สร้างคำตอบที่เป็นไปได้" ให้เป็นวัตถุที่ถูกวิวัฒนาการด้วย: ห่อชั้นอัลกอริทึมวิวัฒนาการอีกชั้นไว้ด้านนอก เพื่อค้นหาค่าตั้งต้นของอัลกอริทึมที่ดีกว่าโดยเฉพาะ จึงเกิดเป็นวงจรการปรับเหมาะสองชั้นแบบปิดที่ "ปรับปรุงอัลกอริทึมวิวัฒนาการด้วยอัลกอริทึมวิวัฒนาการ"

MetaDE: ปรับปรุงอัลกอริทึมวิวัฒนาการด้วยอัลกอริทึมวิวัฒนาการวัตถุที่วิวัฒนาการ: ค่าตั้งต้นของอัลกอริทึมเองชั้นนอก: การค้นหาค่าตั้งต้นของอัลกอริทึมวิวัฒนาการ (ชั้นเมตา)หน้าที่: เข้ารหัสค่าตั้งต้น → ประเมินค่าความเหมาะสม → สร้างรุ่นถัดไปปัจเจก₁: กลยุทธ์การกลายพันธุ์DE/rand/1ปัจเจก₂: อัตราการคrossoverCR = 0.7ปัจเจก₃: ขนาดประชากรNP = 60ปัจเจก₄: ตัวคูณสเกลF = 0.5การอัปเดตชั้นนอก: คัดเลือก · รวมสายพันธุ์ · กลายพันธุ์ → สร้างค่าตั้งต้นรุ่นถัดไปส่งค่าตั้งต้นลงไปส่งผลประสิทธิภาพกลับทั้งสองชั้นใช้สัญญาณค่าความเหมาะสมเดียวกันประสิทธิภาพของงานชั้นใน: รัน Differential Evolution แบบขนานบนงานจริงหน้าที่: รับค่าตั้งต้น → แก้ปัญหาเต็มรูปแบบ → ส่งผลประสิทธิภาพกลับงาน₁: การแก้ปัญหา DE แบบเต็มรูปแบบค่าความเหมาะสม f₁ = 0.91งาน₂: การแก้ปัญหา DE แบบเต็มรูปแบบค่าความเหมาะสม f₂ = 0.87งาน₃: การแก้ปัญหา DE แบบเต็มรูปแบบค่าความเหมาะสม f₃ = 0.94การประมวลผลขนานบน GPU: ประเมินหลายค่าตั้งต้นพร้อมกัน ลดรอบเวลาการประเมินของการปรับเหมาะระดับเมตา

ชั้นในและชั้นนอก: แบ่งหน้าที่กันอย่างไร

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

การเปลี่ยนเป้าหมาย: จาก "หาคำตอบ" สู่ "หาวิธีที่หาคำตอบได้"

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

วงจรป้อนกลับแบบปิดและเงื่อนไขด้านวิศวกรรม

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

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