AlphaGo ทำงานยังไง(ฉบับสั้นๆ ง่ายๆ )

Sirinda Palahan
2 min readFeb 6, 2019

ในบทความนี้ จะอธิบายให้ผู้อ่านทั่วไป เข้าใจว่า AlphaGo ทำงานยังไง แบบสั้นๆ ง่ายๆ อ่านแปบเดียวจบค่ะ

AlphaGo คืออะไร

AlphaGo คือ โปรแกรมบอทที่สร้างขึ้นมาเพื่อเล่นโกะ (โกะคือเกมกระดาน มีต้นกำเนิดมาจากจีน แต่นิยมเล่นมากในญี่ปุ่นและเกาหลีในปัจจุบัน) AphaGo สร้างโดยบริษัท DeepMind ของกูเกิ้ล (กูเกิ้ลเข้าซื้อกิจการในปี 2014 )

ที่มา https://cdn.vox-cdn.com/thumbor/M2Oq9r-N4DM4TQEosAHTGzAtcIg=/0x0:2500x1667/1280x854/cdn.vox-cdn.com/uploads/chorus_image/image/49020255/akrales_160307_0970_a_0127.0.0.png

ทำไมใครๆ ให้ความสนใจ

อันดับแรก โกะเป็นเกมกระดานที่มีความซับซ้อนและเล่นยากกว่าหมากรุกมาก เพราะวิธีการเดินที่เป็นไปได้มีมากมายมหาศาล ซึ่งหากบอทพิจารณาทุกวิธีการเดิน บอทจะใช้เวลา 5 ปี ในการเดินหมากแต่ละครั้ง! ซึ่งการที่ AlphaGo สามารถทำการคำนวณเสร็จภายในเวลาไม่ถึงนาที จึงนับว่าเป็นเรื่องที่ก้าวหน้าในวงการคอมพิวเตอร์มาก แถมยังสามารถเอาชนะแชมป์โลกโกะได้แบบขาดลอยอีกต่างหาก

นอกจากนี้ วิธีการที่ใช้ในการสอน AlphaGo ยังสามารถนำไปประยุกต์ใช้พัฒนาโปรแกรม AI อื่นๆ ได้อีีกด้วย และกูเกิ้ลเองได้เปิดซอร์สโค้ดบางส่วนออกสู่สาธารณะด้วย (Open source) ซึ่งช่วยให้การพัฒนาด้าน AI ก้าวหน้าเร็วมากขึ้น

AlphaGo ทำงานยังไง

ในแต่ละเกม AlphaGo จะนำรูปแบบหมากบนกระดานปัจจุบันเข้าไปวิเคราะห์ เพื่อทำการประเมินว่าควรเดินหมากรอบถัดไปอย่างไร โดย AlphaGo จะทำการพิจารณาหลายๆ ตำแหน่งที่ควรเดิน ด้วยเทคนิค Monte-Carlo Tree Search และใช้ Neural Network เลือกตำแหน่งที่ควรเดินมากสุด พร้อมทั้งบอกโอกาสที่ผู้เล่นจะชนะ หากเลือกตำแหน่งดังกล่าว

วิธีการสอน AlphaGo

ในที่นี้ จะอธิบายวิธีการสอน AlphaGo Zero ซึ่งเป็นเวอร์ชั่นที่ถูกพัฒนาต่อจาก AlphaGo เดิม จุดเด่นของ AlphaGo Zero คือ AlphaGo Zero ถูกสอนให้เรียนรู้การเล่นโกะด้วยตัวเอง โดยให้บอทเล่นแข่งกับตัวเอง ซึ่งบอทจะเริ่มเล่นแบบปราศจากความรู้ใดๆ (นั่นจึงเป็นที่มาของคำว่า Zero) และค่อยๆ เรียนรู้จากการเล่นซ้ำไปเรื่อยๆ

วิธีการดังกล่าวที่ DeepMind ใช้สอน AlphaGo Zero เรียกว่า การเรียนรู้แบบเสริมกำลัง (Reinforcement Learning) ซึ่งเป็นการสอนแบบลองผิดลองถูก หากบอท เลือกทางเดิน (Action) ที่ถูก (นำไปสู่ชัยชนะ) ก็จะได้รับรางวัล แต่ถ้าเลือกทางเดินที่ผิด ก็จะโดนลงโทษ ซึ่งบอทจะนำฟีดแบคที่ได้ กลับไปปรับปรุงการเดินหมากที่นำไปสู่ชัยชนะมากขึ้น

ด้วยวิธีการสอนแบบดังกล่าว AlphaGo Zero ใช้เวลาเรียนรู้เพียง 3 วัน ก็สามารถเล่นเกมชนะ AlphaGo เวอร์ชั่นที่เล่นชนะ Lee Sedon แชมป์โลกโกะ แบบ 100 ต่อ 0 เกม!

ที่มา https://deepmind.com/blog/alphago-zero-learning-scratch/

AlphaGo กับการประยุกต์ใช้ในงานอื่น

วิธีการที่ DeepMind ใช้สอน AlphaGo Zero ช่วยให้บอทสามารถค้นพบเทคนิคและองค์ความรู้เกี่ยวกับการเล่นโกะได้ด้วยตนเอง ซึ่งบางเทคนิคก็จัดว่าเหนือกว่าเทคนิคเดิมที่นักเล่นโกะมืออาชีพใช้กัน เราอาจกล่าวได้ว่า AlphaGo Zero สามารถค้นพบองค์ความรู้และเทคนิคการเล่นโกะ ที่มนุษย์เราสั่งสมมาเป็นเวลานานได้ภายในไม่กี่วัน แถมยังสามารถสร้างองค์ความรู้ใหม่เพิ่มให้อีกด้วย !

ดังนั้น หากเราสามารถนำเอาวิธีการสอนดังกล่าว ไปประยุกต์ใช้แก้ปัญหาอื่น ที่มนุษย์เรายังขาดความรู้ความเข้าใจ เช่น ปัญหาการขดตัวของโปรตีน (Protein folding) ผลลัพธ์ที่ได้อาจไปสู่การค้นพบที่ยิ่งใหญ่และเป็นประโยชน์ต่อมนุษย์ชาติโดยรวมก็เป็นได้ค่ะ

Credit

ข้อความทั้งหมดที่เขียนขึ้นนั้น บางส่วนนำจากเว็บไซต์และเปเปอร์ หากมีข้อผิดพลาดประการใด ก็ขออภัยไว้ณ.ที่นี้ค่ะ และหากมีคำถามหรือคำแนะนำใดๆ สามารถคอมเมนท์ได้เลยนะคะ :)

เว็บ AlphaGo อย่างเป็นทางการ อธิบายภาพรวมการทำงานของ AlphaGo Zero

เปเปอร์ AlphaGo Zero โดย DeepMind

--

--

Sirinda Palahan

Welcome to my space where I share what I am learning :)