ย้อนไปประมาณ 1-2 ปีก่อนหน้านี้ หลายคนน่าจะเคยได้ยินข่าวเกี่ยวกับ AI ชื่อ AlphaGo ซึ่งเอาชนะนักเล่นหมากล้อมที่ถือได้ว่าเก่งที่สุดคนหนึ่งบนโลก Lee Sedol เค้าได้นำเรื่องราวของ AlphaGo มาทำเป็นสารคดีที่สนุกมาก ๆ ใครยังไม่เคยดู แนะนำให้เปิด Netflix (หรือยืมเพื่อนที่มี Netflix) มาดูด่วนเลยครับ
ความสำเร็จของ AlphaGo เป็นแค่จุดเริ่มต้นในความสำเร็จทั้งหมดของทีม DeepMind ผู้พัฒนาเท่านั้น มาวันนี้เค้าได้พัฒนาเทคนิคในการสอน AI ให้ก้าวขึ้นไปอีกขั้น โดยนำมาใช้สร้าง AI สำหรับเล่นเกมวางแผน StarCraft II ครับ ซึ่งเป็นเกมในดวงใจของแอดเลยตอนออกภาค 1 เมื่อ 20 ปีที่แล้ว (ตอนนี้โตแล้วไม่มีเวลาเล่น T_T)
AI สำหรับเล่นเกม StarCraft II มันน่าสนใจตรงไหน
เราอาจจะสามารถนำวิธีในการพัฒนา AlphaStar ไปปรับใช้เพื่อสร้าง AI มาแก้ปัญหาที่สำคัญในโลกเราได้
แอดเพิร์ธ @ Data science ชิลชิล
ก่อนจะเข้าเนื้อหาว่า AlphaStar ทำผลงานได้ดีแค่ไหน อยากเคลียร์เรื่องที่บางคนอาจจะสงสัยกัน (รวมถึงแอดด้วยตั้งแต่สมัย AlphaGo ออกมาใหม่ ๆ) ว่า “AI เล่นเกมชนะคนแล้วมันน่าสนใจตรงไหน”
ขออธิบายให้คนที่ไม่เล่นทั้ง Go ทั้ง StarCraft II แบบเข้าใจง่าย ๆ ก่อนครับ ว่าเกม Go เป็นเกมกระดานที่มีตำแหน่งให้วางหมากได้จำกัดที่ 19 x 19 จุด = 361 จุด ต่างกับเกม StarCraft II ที่เป็นเกมวางแผน ผู้เล่นสามารถเลือกทำ Action ได้หลากหลายกว่ามาก เช่น ผู้เลือกสั่งหุ่นตัวหนึ่งไปเก็บแร่โดยวิ่งไปตรง ๆ, วิ่งแบบซิกแซก, หรือวิ่งอ้อมแผนที่เพื่อหลบการตรวจจับจากฝั่งตรงข้ามก็ได้
นอกจากนั้น ในเกม Go ผู้เล่นทุกคนจะรู้ตลอดว่าเกิดอะไรขึ้น (Perfect Information) แต่เกม StarCraft II ผู้เล่นทุกคนจะไม่รู้ว่าผู้เล่นอีกคนทำอะไรอยู่ (Imperfect Information)
สรุปได้ว่า AI ที่เล่น StarCraft II ต้องตัดสินใจเยอะมาก ๆ กว่า AI ที่เล่น Go นั่นเองครับ
การที่ทีม DeepMind สามารถสร้าง AI ที่เล่นเกม StarCraft II ได้ดี หมายถึงว่าประสิทธิภาพในการพัฒนา AI ของมนุษยชาติก็ได้เติบโตขึ้นไปอีกขั้น และเราอาจจะสามารถนำวิธีการเดียวกันนี้ไปปรับใช้เพื่อสร้าง AI มาแก้ปัญหาที่สำคัญในโลกเราได้นั่นเองครับ เช่น การค้นหายารักษาโรคที่ตอนนี้เทคโนโลยีการแพทย์ยังรักษาไม่ได้
วีดิโอการแข่งของ AlphaStar VS TLO และ MaNa
สำหรับใครที่มีเวลาว่าง 2 ชั่วโมง แอดแนะนำให้ลองดูวีดิโอที่เค้าพรีเซ้นท์ AlphaStar กับผู้เล่นระดับโลก 2 คนครับ ดูสนุกมาก ๆ ไม่ต่างกับสารคดี AlphaGo
นอกจากนั้นเค้ายังมีการอธิบายวิธีที่เค้าใช้ฝึก AlphaStar เป็นระยะ ดูแล้วได้ความรู้ด้วย ได้ลุ้นด้วยครับ
แต่ถ้าใครไม่มีเวลา 2 ชั่วโมง เลื่อนลงไปอ่านข้างล่างได้เลย แอดสรุปไว้ให้ล้าววว
AlphaStar VS เกมเมอร์ StarCraft II ระดับโลก
สำหรับสาย E-Sport ก็จะพอทราบกันอยู่แล้วว่าเกม StarCraft II เป็นเกมวางแผนที่มีการแข่ง Tournament ชิงเงินรางวัลกันอย่างจริงจัง ทีมเกมเมอร์ดัง ๆ ทั่วโลกก็จะมีการจ้างนักกีฬาเล่น StarCraft II กันอย่างจริงจัง
AlphaStar ถูกฝึกมาให้แข่งเกม StarCraft II โดยใช้สายพันธุ์ Protoss เพื่อแข่งกับ Protoss เท่านั้น (ในเกม StarCraft II จะมี 3 สายพันธุ์ที่ผู้เล่นแต่ละคนเลือกเล่นได้ครับ คือ Terran, Protoss, Zerg)
ตอนเริ่มแรก ทีม DeepMind เลยจับ AlphaStar มาแข่งกับเกมเมอร์ระดับโลกชื่อ TLO (The Little One) จากทีม Liquid ซึ่งไม่ใช่ผู้เล่นที่ถนัด Zerg แต่ก็ถือว่าเล่นสายพันธุ์ Protoss ได้เก่งกว่าคนทั่วไปอยู่ดี แถมกดคีย์บอร์ดกับเม้าส์ได้เร็วเว่อร์มาก (มีช่วงนึงที่ Action Per Minute ของ TLO พุ่งไปถึง 2,000 Action ต่อนาที)
ขนาด TLO ที่ว่าเล่นดีแล้ว กลับเจอ AlphaStar โชว์ความเหนือชั้นในเรื่องของการควบคุมกองทัพหุ่นมาทำลายฐาน จนพลาดท่าแพ้ไป 5 ต่อ 0 อย่างไรก็ตาม TLO ให้สัมภาษณ์ภาคยหลังว่า “เค้าน่าจะเอาชนะ AlphaStar ได้ ถ้าได้เล่นสายพันธุ์ Zerg ที่ตัวเองถนัด”
ด้วยเหตุนี้ ทีม DeepMind ก็เลยต้องการเพิ่มความท้าทายให้กับ AlphaStar โดยการนำเกมเมอร์มือโปรชื่อ MaNa ซึ่งเป็นผู้เชี่ยวชาญสายพันธุ์ Protoss มาแข่งกับ AlphaStar ดูครับ ซึ่งผลก็คือ…
แม้แต่ผู้เล่นระดับโลกที่เชี่ยวชาญการเล่น Protoss มาแข่งก็ยังไม่สามารถชนะ AlphaStar ได้ครับ ซึ่งเป็นการพิสูจน์อย่างดีว่า AI ไปถึงขั้นหัตถ์เทวะในด้าน StarCraft II แล้ว
ความโกงของ AlphaStar
อย่างไรก็ตาม แอดมองว่าชัยชนะของ AlphaStar ไม่ได้ขาวสะอาด 100% แต่ก็ไม่ได้โกงผู้เล่นมนุษย์จนเกินไปนัก
AlphaStar เวอร์ชั่นที่แข่งกับ TLO และ MaNa เห็นแมพทั้งหมดในทุกวินาทีว่าเกิดอะไรขึ้นกับฐานและหุ่นของฝ่ายตัวเองบ้าง
ต่างกับผู้เล่นมนุษย์เราจะต้องเลื่อนแมพไปดูส่วนที่เราสนใจเอง ทำให้ AlphaStar สามารถควบคุมหุ่นไปโจมตีก่อกวน พร้อมกับสร้างฐานตัวเองพร้อมกันได้ ซึ่งก็ถือว่าโกงในระดับนึง
ความได้เปรียบในการเห็นแผนที่อันนี้ยังทำให้ในเกมที่แข่งกับ MaNa มีช็อตนึงที่ AlphaStar ลากกองทัพหุ่นยนต์มาโจมตี MaNa จาก 3 ทิศทางบนแผนที่ โดยผู้เล่นทั่วไปจะไม่สามารถทำแบบนี้ได้แน่นอน เพราะขอบเขตการมองเห็นบนจอจะจำกัด
แน่นอนว่าทีม DeepMind ก็เห็นความจริงข้อนี้ เลยพัฒนา AlphaStar เวอร์ชั่นใหม่ขึ้นมา ที่เพิ่มข้อจำกัดเรื่องขอบเขตการมองเห็นบนจอเข้าไปให้ใกล้เคียงผู้เล่นมนุษย์
และใน Live เค้าเชิญ MaNa มาลองแข่งแก้มือกับ AlphaStar เวอร์ชั่นใหม่นี้อีกครั้ง
AlphaStar เวอร์ชั่นไม่โกงแล้ว VS MaNa
เกมสุดท้ายนี้ เป็นเกมแก้มือของ MaNa เพื่อความหวังของมนุษยชาติที่แพ้ให้ AlphaStar ไป 10 ต่อ 0
จากประสบการณ์ที่ได้เล่นกับ AlphaStar มา 5 เกมแล้ว เกมสุดท้ายนี้ MaNa เลือกเล่นแบบ Aggressive โดยสะสมกำลังพลไปบุกฐาน AlphaStar ที่มุมล่างขวาของแผนที่
ผลที่ออกมา คือ AlphaStar ไม่สามารถต้านทานการบุกโจมตีของ MaNa ได้ เป็นฝ่ายพลาดท่าไป ซึ่งด้วยความเป็น AI ที่ไม่สามารถกดยอมแพ้ได้ AlphaStar ก็วิ่งหนีไปทั่วแผนที่ แต่ MaNa ก็ยกกองทัพตามไปรุม และนำชัยชนะมาให้มนุษยชาติได้สำเร็จ !
สรุป: AlphaStar สอนอะไรเราเกี่ยวกับ Machine Learning บ้าง
สำหรับท่านที่ดูวีดิโอ หรือ อ่านบทความอธิบาย AlphaStar ของ DeepMind ก็จะมีช่วงนึงที่เค้าพูดถึงเรื่องการฝึก AlphaStar ว่าเค้าทำยังไง
จุดที่แอดคิดว่าน่าสนใจเป็นพิเศษ คือ เค้าใช้วิธีเรียนรู้แบบ Multi-Agent Reinforcement Learning ที่นอกจากจะเรียนจาก Feedback แล้ว ยังเอา AlphaStar หลายเวอร์ชั่นที่ใช้ Strategy แตกต่างกันมาแข่งกัน จนเค้าได้ AlphaStar ที่เก่งที่สุด
นอกจากนั้น เกม StarCraft II ก็เป็นเกมที่ต้องใช้การวางแผนในระยะยาว การที่โมเดลแบบนี้ประสบความสำเร็จ แปลว่า ในอนาคตเราอาจจะสามารถนำโมเดลเดียวกันนี้มาช่วยแก้ปัญหาที่ต้องใช้การวางแผนระยะยาวได้ เช่น การรักษาโรคที่ต้องมีการรักษาหลายขั้นตอน
ถ้าชอบบทความนี้ ติดตามบทความใหม่ ๆ ได้จากเพจ Data Science ชิลชิล และถ้าอยากให้เขียนเรื่องแนวนี้บ่อย ๆ รบกวนช่วยแชร์บทความนี้ให้กับเพื่อน ๆ ด้วยครับ แอดจะได้เอามาเขียนอีกครับ