เผยความลับเหล่า challenger ต้องขวัญผวา บอทชนะ 2–0 ในศึก Dota2 5v5 เอ๊ะ ยังไง…

OpenAI Five จัดทับบอท ชนะ 2–0 ในศึก 5v5 Dota2 ถึงคราวของบอทแล้วหรือ?

สวัสดีผู้อ่านทุกท่าน วันนี้เราก็มาอยู่กับเกม Dota2 ซึ่งกำลังมีประเด็นที่ทางทีมผู้พัฒนา OpenAI Five ได้พัฒนาบอทเกมตัวนี้ให้สามารถชนะผู้เล่นระดับสูงได้สำเร็จ เห็นทีคำพูดที่ว่า “ไปตบบอทให้คลายหัวร้อน” คงจะจบลงซะแล้วหรือนี่ หลายคนอาจสงสัยว่าแล้วบอทที่เก่งๆเนี่ยมันมีอะไรอยู่เบื้องหลัง วันนี้เราอาสามาไขความลับเบื้องหลังเจ้าบอทตัวนี้ให้กระจ่างกันไปเลย

actionก่อนอื่นเรามาเริ่มจาก hero ก่อนเลยครับ บอทที่เล่นนั่นแหละ บอทแต่ละตัวมีสมองเบื้องหลังเป็น single-layer, 1024-unit LSTM ซึ่งจากการที่ LSTM เป็น RNN ประเภทหนึ่งซึ่งมีความสามารถในการรับรู้จดจำรูปแบบที่ต่อเนื่องและถูกนำไปใช้ในการเรียนรู้สิ่งที่มีความต่อเนื่องของข้อมูลเช่น การเรียนรู้จดจำเสียง เป็นต้น ซึ่งในที่นี้ได้ถูกใช้เพื่อการประมวลผลสถานะของ hero นั้นๆและบอกว่าต้องทำอะไร เช่น ตอนนี้ hero กำลังเลือดน้อยก็อาจจะให้คำสั่งที่จะนำ hero วาร์ปกลับบ้านหรือพยายามเข้าหาทีมเพื่อให้ทีมซัพพอร์ต ซึ่งสถานะต่างๆรวมถึงคำสั่งที่มีนั้นมีเยอะมากๆ แบ่งเป็น สิ่งรับรู้(observable) กับ แอคชั่น(action)

สำหรับปัญหาที่ท้าทายความสามารถของเจ้าบอทนี้นั้นมีอยู่ 4 อย่างครับที่ทางทีมผู้พัฒนาได้ลิสต์มา

  1. ความยาวของเกม

เนื่องจากว่าเกม Dota 2 นั้นเป็นเกมที่ใช้เวลานานในการที่จะเล่นจนจบ หลักๆจะใช้เวลาประมาณ 45 นาที ซึ่งนั่นหมายถึงการกดปุ่มและการคลิ้กเมาส์ต่างๆในเกมๆนึงนั้นมีเยอะมาก และยังไม่นับรวมถึงกลยุทธ์ในระยะยาว ซึ่งกลยุทธ์บางอย่างอาจต้องใช้ตั้งแต่เริ่มยันจบเกมเลยทีเดียวหรือแม้แต่ action บางอย่างในเกมเช่นการวาร์ปกลับฐานก็ต้องให้เกิดประโยชน์สูงสุดเพื่อโอกาสในการชนะเช่นกัน

2. สิ่งที่ไม่สามารถรับรู้ได้ตรงๆ

อย่างที่ทราบกันดีว่าตัวเกมนั้นจะมีข้อมูลบางส่วนที่ผู้เล่นไม่สามารถรับรู้ได้หรือจะรับรู้ได้จนกว่าจะถึงสถานการณ์ อย่างเช่น Fog of war ที่ปิดบังข้อมูลส่วนอื่นๆของแมพ หรือแม้แต่การวางกลยุทธ์ของฝ่ายตรงข้าม บอทจึงต้องสามารถคาดการณ์จากข้อมูลที่มีอยู่จำกัดนี้ให้ได้

from Steam Community

3. action ที่ซับซ้อนและต่อเนื่อง

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

4. observable ที่ซับซ้อนและต่อเนื่อง

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

การเรียนรู้ของ OpenAI Five

สำหรับการสอน OpenAI Five นั้นทางทีมผู้พัฒนาสอนโดยให้บอทเล่นเกมแข่งกับตัวเองเป็นประสบการณ์เทียบเท่า 180 ปี ทุกๆวัน โดยการใช้ proximal policy optimization เวอร์ชั่นปรับปรุงที่ทางทีมได้พัฒนามาเป็นพิเศษเพื่อใช้เป็น reinforcement learning algorithm รันบน 256 GPUs กับ 128,000 CPU cores การเรียนรู้เริ่มต้นจากการสุ่ม weight parameters ต่างๆ และเพื่อไม่ให้เกิด strategy collapse จึงแบ่งให้เล่นเกม 80% กับตัวเอง กับ 20% กับตัวมันในอดีต

ผลที่เกิดขึ้นคือ

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

สุดท้ายขอเตือนไว้เลยว่าอย่ามาหือกับบอทนะจ้ะ GG

สามารถอ่านข้อมูลเพิ่มเติมได้ที่ https://blog.openai.com/openai-five/

ConvoLab

Leading Enterprise Chat Management Platform in Thailand

Thanks to Natthawat Phongchit

    Watchirawut Leangon

    Written by

    ConvoLab

    ConvoLab

    Leading Enterprise Chat Management Platform in Thailand

    Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
    Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
    Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade