create your own web page for free

เล่นเกมอย่างไร ให้ได้มากกว่าความสนุก?

บทความนี้คือความต้องการส่วนตัวของผม ที่อยากลบภาพเดิมๆ เกี่ยวกับเกมที่เป็นความคิดเชิงลบออกจากความคิดของใครหลายๆคน โดยในบทความนี้จะนำเสนอการรวมกันระหว่างการเรียนรู้และเกมอย่างลงตัว ผมจะไม่ลงรายละเอียดทางเทคนิคมากนักเพื่อให้ง่ายต่อการอ่าน เอ้า! เริ่มกันเลยครับ
Mobirise
รูปที่ 1 ตัวอย่างจากเกม Dota2 ที่มาของรูปภาพ: https://www.pcgamesn.com/sites/default/files/Dota2Logo.jpg
     หลายคนคงทราบว่า เมื่อไม่กี่เดือนที่ผ่านมา ทีม OpenAI ได้นำเสนอ OpenAI Five ซึ่งคือ Playing AI แบบ 5-5 ในเกม Dota2 มันเป็นก้าวที่ยิ่งใหญ่มากสำหรับวงการเกมและ Deep learning เพราะเกม Dota2 นั้นมีความซับซ้อนของข้อมูลมากกว่าหมากรุก หรือหมากล้อม
Dota2 [3] คือเกมแนววางแผน โดยผู้เล่นเป็น 2 ทีม ทีมละ 5 คน และแต่ละคนควบคุมฮีโร่คนละตัว ตัวอย่างคือรูปที่2 ด้านล่างครับ
Mobirise
รูปที่ 2 ตัวอย่างเกม Dota2 แบบ 5-5 ที่มาของรูปภาพ: https://i.imgur.com/f3MycZD.jpg 
     ความยากของงานนี้คืออะไร เรามาดูกันเลย
          1. ระยะเวลาที่ยาวนาน โดยความยาวนานของเกมเฉลี่ยอยู่ที่ 45 นาที และจำนวน Frame rate 30 fps ทำให้การเลือก Action 1 ครั้ง ส่งผลต่ออนาคตถึงการเดิน 20,000 ครั้งถัดไป (เมื่อเทียบกับหมากรุกที่ 40 ครั้งถัดไป และหมากล้อมที่ 150 ครั้งถัดไป)
          2. มุมมองที่จำกัดทำให้ยากต่อการตัดสินใจ (ต่างจากหมากรุกและหมากล้อมที่เห็นทั้งกระดาน)
          3. การเล่มเกมที่ต่อเนื่อง จำนวน Action ที่หลากหลาย และเกมที่มีภาพรวมใหญ่กว่าหมากรุกและหมากล้อม
ทั้งหมดทั้งมวลนี้ทำให้มันเป็นงานที่ท้าทายมากๆ
ระบบที่พวกเขาใช้ในงานนี้ หากคุณเห็นแล้วอาจจะอึ้งไปเลยทีเดียว มาดูกันเลยครับ

OPENAI 1V1 BOTOPENAI FIVE
OPENAI FIVE60,000 CPU cores on Azure128,000 preemptible
CPU cores on GCP
GPUs256 K80 GPUs on Azure256 P100 GPUs on GCP
Experience collected~300 years per day~180 years per day
(~900 years per day
counting each hero
separately)
     เป็นอย่างไรบ้างครับ แค่จำนวน core ของ CPU และ GPU ก็ตะลึงไปเลยใช่ไหม (หากรู้ราคาของ GPU แล้วจะหนาวเลยแหละ ถ้าอยากรู้ไปหาเอาเองนะครับ) และตัวเลขที่น่าตกใจอีกตัวก็คือประสบการณ์ของเจ้า OpenAI Five ใน 1 วัน เท่ากับ 180 ปีของผู้เล่นแบบเราๆเลยทีเดียว (3 ชั่วชีวิตคน)
หลายคนอาจสงสัยแล้วว่า เจ้า OpenAI Five มีรูปร่างหน้าตาเป็นอย่างไร ส่วนหลักของแกนสมองมันคือ “LSTM” ครับ แล้วมันคืออะไรล่ะ ชื่อจริงของมันคือ Long Short Term Memory networks มันถูกสร้างขึ้นมาปี 1997 นานมากแล้วล่ะ แต่เพิ่งจะมาดังเอาช่วง Deep learning บูมเท่านั้นเอง โดย Hochreiter & Schmidhuber [4] ต้องการสร้างมันเพื่อเลียนแบบการทำงานของสมองมนุษย์อย่างเราๆ โดยมีการลืมนั้นเอง เจ้า OpenAI Five เรียนรู้จากข้อมูลพิกัดเค่า x, y, Action และ Target โดยมันจะเห็นทั้งเกมเป็นทั้งหมด 20,000 รายการ จากนั้นเลือกทำเพียง 8 อย่างแบบต่อเนื่องเท่านั้น รูปที่3 ด้านล่างจะแสดงตัวอย่างของ Action ครับ
Mobirise
รูปที่ 3 ตัวอย่าง Action ของ OpenAI Five
     อ้าว! แล้วตอนเริ่มต้นล่ะ มันรู้ได้อย่างไรว่า Action ไหรดีหรือไม่ดี? มันเรียนรู้จากการลองผิดลองถูกครับ (Self-play) โดยมันจะถูกสอนเพียง 80% เท่านั้น อีก 20% ก็ลองเอาเอง (Reinforcement [5]) ผลการทดลองคือ สิ่งที่เกิดขึ้นในเกมแรกคือมันเดินมั่วไปทั่วเกมเลย หลังจากผ่านการเทรนไปหลายชั่วโมง มันเริ่มรู้จักเข้าเลน ฟาร์ม และออลล์ หลักจากผ่านการเทรนไปหลายวัน มันสามารถทำสิ่งต่างๆได้เหมือนมนุษย์มากขึ้น เช่น ขโมย Bounty runes และ Blocking creeps คุณจะเห็นว่ามันเรียนรู้ได้ราวกับคนเลย
อ่านจบแล้วรู้สึกอย่างไรบ้างครับ เพียงเราเปลี่ยนบทบาทจาก Player เป็น สร้าง Playing AI ความท้าทายก็มากขึ้น นอกจากความสนุกแล้วยังได้ความรู้อีกด้วย ฮ่าๆ เอ้ามาเริ่มต้นเรียนการเขียนเกมกันเถอะครับ **แต่เหนือความสนุก การสร้าง Playing AI ต้องเพื่อการศึกษาเท่านั้น ไม่ควรทำผิดกฎของเกมนั้นๆนะครับ**
อ้างอิง
[1] https://blog.openai.com/openai-five/
[2] https://venturebeat.com/2018/06/25/openai-trains-ai-to-defeat-teams-of-skilled-dota-2-players/
[3] http://www.dota2.com/play/
[4] http://colah.github.io/posts/2015-08-Understanding-LSTMs/#lstm-networks
[5] https://www.technologyreview.com/s/603501/10-breakthrough-technologies-2017-reinforcement-learning/

ผู้แต่งบทความ

พรเทพ สาระคนธ์
วศบ. ชีวการแพทย์ มศว รุ่น 4 ขณะนี้กำลังศึกษาต่อในระดับปริญญาเอก Electrical and Electronic Engineering ณ Kyushu Institute of Technology ประเทศญี่ปุ่น (นักเรียนทุน Monbukagakusho, MEXT)