Unity ML-Agents ฝึกตัวละครเกมด้วยรางวัลและบทลงโทษ
โดย GameSlash
ดูสองฉากตัวอย่าง Unity ML-Agents ฝึกทรงลูกบอลและผลักกล่อง พร้อมวิธีกำหนดรางวัลและข้อจำกัดที่คนทำเกมต้องเตรียม
Unity ML-Agents มีฉากตัวอย่างให้คนทำเกมศึกษาการฝึกพฤติกรรมด้วยคะแนนรางวัล เริ่มได้จากงานที่มองเห็นเป้าหมายชัดอย่างทรงลูกบอลไม่ให้ตก หรือผลักกล่องไปยังจุดหมาย แล้วสังเกตว่ากติกาให้คะแนนทำให้ตัวละครเรียนรู้พฤติกรรมแบบไหน

ฝึกทรงลูกบอล ก่อนออกแบบ NPC ที่ซับซ้อน
ในฉาก 3DBall ตัวละครเอียงแท่นเพื่อประคองลูกบอล คู่มือ Unity ให้คะแนน +0.1 ทุกก้าวการฝึกที่ลูกบอลยังอยู่บนแท่น และ −1 เมื่อลูกบอลตก ตัวอย่างนี้สอนการควบคุมค่าที่ปรับได้ต่อเนื่อง ต่างจากการเลือกคำสั่งเดินจากรายการตายตัว
ก่อนทำฉากของตนเอง ควรกำหนดว่าตัวละครรับรู้อะไรและควบคุมส่วนไหนได้ แล้วจึงออกแบบรางวัล ผู้ช่วยเขียนโค้ด AI อาจช่วยอธิบายหรือสร้างส่วนประกอบเหล่านี้ได้ แต่ผู้พัฒนายังต้องตรวจว่าพฤติกรรมที่ได้ตรงกับกติกาของเกมหรือไม่

ให้รางวัลเมื่อทำสำเร็จ แล้วดูว่าตัวละครเรียนรู้อะไร
Push Block ให้ +1 เมื่อผลักกล่องถึงเป้าหมาย และหัก −0.0025 ทุกก้าวการฝึก ต้นทุนเวลาช่วยกระตุ้นให้ทำงานสำเร็จแทนการเดินวน ตัวอย่างนี้ทำให้เห็นว่ากติกาให้คะแนนเป็นส่วนหนึ่งของการออกแบบพฤติกรรม
ฉากเหล่านี้เป็นตัวอย่างฝึก ไม่ใช่ตัวละครสำเร็จรูปที่ใส่ได้กับทุกเกม ลองเริ่มจากสนามเล็ก สังเกตครั้งที่ทำพลาด และเปลี่ยนเงื่อนไขทีละอย่าง คะแนนการฝึกที่สูงขึ้นไม่ได้แปลว่าตัวละครทำตามสิ่งที่ผู้ออกแบบตั้งใจเสมอไป
ต้องเตรียมอะไรบ้าง
ขั้นตอนใช้งานต้องมี Unity แพ็กเกจ ML-Agents และเครื่องมือฝึกด้วย Python การฝึกและทดสอบยังเป็นงานแยกจากการให้ AI เขียนโค้ด บทความนี้อธิบายฉากตัวอย่างที่มีอยู่แล้ว GameSlash ไม่ได้ฝึกโมเดลเหล่านี้เอง
อ่านคู่มือตัวอย่างของ Unity หรือดู Unity ML-Agents ในหมวด Tools ของ GameSlash