OpenAI เปรียบเทียบ ACKTR และ A2C สำหรับอัลกอริทึมการเรียนรู้ของเครื่อง

สำหรับอัลกอริทึมการเรียนรู้ของเครื่อง มีสองต้นทุนสำคัญที่ต้องพิจารณาคือ sample complexity ซึ่งหมายถึงจำนวน timestep ของการปฏิสัมพันธ์ระหว่าง agent กับสภาพแวดล้อม และ computational complexity ซึ่งหมายถึงจำนวนการดำเนินการเชิงตัวเลขที่ต้องทำ

ACKTR มี sample complexity ที่ดีกว่าวิธีอันดับหนึ่งอย่าง A2C เพราะมันก้าวไปในทิศทางของ natural gradient แทนที่จะเป็นทิศทางของ gradient ซึ่งช่วยให้การปรับปรุงวัตถุประสงค์เกิดขึ้นได้มากที่สุดต่อหน่วยการเปลี่ยนแปลงของ output distribution โดยการจำกัด KL-divergence เพื่อป้องกันไม่ให้ policy ใหม่แตกต่างจากเก่ามากเกินไป

ในส่วนของ computational complexity นั้น KFAC update ที่ใช้ใน ACKTR มีค่าใช้จ่ายเพิ่มขึ้นเพียง 10–25% ต่อการอัปเดต เทียบกับการอัปเดต gradient มาตรฐาน ซึ่งแตกต่างจากวิธีอย่าง TRPO ที่ต้องใช้ conjugate-gradient computation ที่มีค่าใช้จ่ายสูงกว่า

จากการทดสอบในวิดีโอ พบว่า agent ที่ฝึกด้วย ACKTR ได้คะแนนสูงกว่า agent ที่ฝึกด้วย A2C เมื่อใช้ในการแก้เกม Q-Bert

ศัพท์ที่ควรรู้

  • Sample complexity – คือจำนวนครั้งที่ agent มีปฏิสัมพันธ์กับสภาพแวดล้อม ซึ่งบ่งบอกถึงประสิทธิภาพในการเรียนรู้
  • Computational complexity – คือปริมาณการคำนวณทางตัวเลขที่ต้องใช้ในการอัปเดตโมเดล
  • ACKTR – เป็นอัลกอริทึมที่ใช้ natural gradient ในการปรับปรุงพารามิเตอร์ ทำให้มีประสิทธิภาพสูงในด้าน sample complexity
  • A2C – เป็นวิธีอันดับหนึ่ง (first-order method) ที่ถูกนำมาเปรียบเทียบกับ ACKTR ในแง่ของประสิทธิภาพการเรียนรู้
  • Natural gradient – คือทิศทางใน parameter space ที่ให้การปรับปรุงวัตถุประสงค์สูงสุดต่อการเปลี่ยนแปลงของ output distribution

ที่มา: OpenAI

Leave a Comment