Tags:
Node Thumbnail

โชคดีที่เมื่อวานนี้ผมมีโอกาสเข้าฟังสัมมนาหัวข้อ "AlphaGO: Mastering the game of Go with deep neural networks and tree search" โดยวิทยากรคือ Dr. David Silver จาก DeepMind ซึ่งเป็นบุคคลสำคัญในทีมวิจัยและพัฒนา AlphaGo จาก Google DeepMind

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

AlphaGo Press

สัมมนานี้จัดโดย Centre for Computational Statistics and Machine Learning (CSML) ที่มหาวิทยาลัย University College London (UCL) ครับ

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

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

David Silver

ทำไมต้องเป็นหมากล้อม (Go)?

เหตุผลที่เลือกหมากล้อม เพราะเป็นเกมที่มีความเป็นไปได้ของทางเลือกมากมายมหาศาลถึง 10^170 แบบ ด้วยความสามารถในการประมวลผลของคอมพิวเตอร์ในปัจจุบัน ยังเป็นไปไม่ได้ในทางปฏิบัติที่จะสามารถคำนวณความเป็นไปได้ทั้งหมดให้ทันในการเล่นจริง จึงทำให้เป็นเกมที่มีความท้าทายสูงมากที่จะทำให้คอมพิวเตอร์เล่นได้เท่าเทียมกับมนุษย์เนื่องจากวิธีการค้นหาความเป็นไปได้ทั้งหมดเหมือนที่ใช้ในหมากรุกนั้น ไม่สามารถนำมาใช้ได้

ระหว่างบรรยายมีการเปิดวิดีโอให้ดูด้วยว่า หากเราแสดงตาเดินที่เป็นไปได้ทั้งหมดในการเล่นโกะหนึ่งตาออกมาเป็นแผนภูมิต้นไม้จะเป็นอย่างไร แน่นอนว่าเยอะแยะมากมายมหาศาลจนดูกันไม่ทันเลยทีเดียว

เบื้องหลังการทำงานของ AlphaGo

ส่วนนี้ขออธิบายคร่าวๆ เนื่องจากผมไม่ได้เป็นผู้เชี่ยวชาญด้าน Machine Learning (ยอมรับว่าฟังไปก็เข้าใจบ้างไม่เข้าใจบ้าง) และก็มีบทความเกี่ยวกับเรื่องนี้พอสมควรแล้ว แต่หลักๆ คือ AlphaGo อยู่บนพื้นฐานของเทคนิคที่เรียกว่า Convolutional Neural Network และมี neural network 2 แบบที่สนับสนุนการตัดสินใจ นั่นคือ Policy network และ Value network โดยมีลำดับขั้นตอนในการเทรนเจ้าสองเน็ตเวิร์คนี้หลายขั้นตอนด้วยกัน ทั้งการศึกษาจากบันทึกการเล่นหมากของนักเล่นโกะมืออาชีพ (supervised learning) และการฝึกโดยการแข่งกับตัวเอง (self-play + reinforcement learning)

Pipeline

ด้วยการฝึกฝนแบบนี้ ทำให้ AlphaGo สามารถเอาชนะโปรแกรมอื่นที่สร้างมาเพื่อเล่นโกะเช่นเดียวกัน (CrazyStone, Zen, Pachi, Fuego, GnuGo) ได้อย่างขาดลอย

Comparison

เพื่อทดสอบ DeepMind จึงได้จัดการแข่งขันกับคนจริงที่เป็นแชมป์ยุโรป Fan Hui และชนะไปอย่างขาดลอย 5-0 ดังที่ทุกคนน่าจะได้ทราบกันดี

เกิดอะไรขึ้นหลังจากแข่งกับ Fan Hui?

David Silver

David อธิบายว่า AlphaGo ตัวที่แข่งกับ Fan เป็นตัวเดียวกับที่เขียนลงในนิตยสาร Nature แต่เป็นคนละตัวกับที่ใช้แข่งกับ Lee Sedol ครับ

หลังจากชนะ Fan แล้ว DeepMind กลับมาพัฒนา AlphaGo เพิ่มอีก (แต่ David ไม่ได้อธิบายลงรายละเอียดนัก อาจจะเก็บไว้เขียนอีกหนึ่งบทความก็เป็นได้ ผมฟังออกได้ประมาณว่าพัฒนาเพิ่มเติมในส่วนของ self-play ให้ดียิ่งขึ้น) แต่แสดงกราฟเปรียบเทียบให้เห็นว่า AlphaGo เวอร์ชั่น Lee Sedol เก่งขึ้นกว่าเวอร์ชั่น Fan Hui อีกเยอะเลยทีเดียว (สามารถเอาชนะ AlphaGo เวอร์ชั่น Fan Hui ได้โดยให้แต้มต่อ 4 หมาก) เมื่อถึงจุดนั้น DeepMind จึงจัด Challenge เพื่อท้าแข่งกับ Lee Sedol นั่นเองครับ

David แสดงรายละเอียดเปรียบเทียบที่น่าสนใจหลายอย่างระหว่าง Lee กับ AlphaGo ซึ่งเขาก็ให้เครดิตกับ Lee มากทีเดียวว่า Lee มีสมองที่มหัศจรรย์มาก เมื่อเทียบกับพลังประมวลผลที่ AlphaGo จะต้องใช้ สังเกตว่าทั้งคู่ใช้เวลาฝึกฝนเท่าๆ กันพอดีครับที่ 30,000 ชั่วโมง (สำหรับ AlphaGo คือชั่วโมงของ GPU ที่ใช้ในการเทรน AlphaGo)

วิเคราะห์ 5 เกมกับ Lee Sedol

David อธิบายพร้อมแสดงกราฟของ evaluation value ที่ AlphaGo ใช้ในการตัดสินใจว่าตนจะชนะหรือไม่ ในแต่ละเกมจากทั้งหมด 5 เกมให้ดู ที่น่าสนใจคือในเกมที่สอง หมากที่ทำให้ AlphaGo ได้เปรียบและชนะไปในที่สุดคือตาที่ลงที่ P5 ตอนที่ลงไปนั้น กูรูหมากล้อมที่ดูอยู่ทั้งหมดต่างมองเห็นเป็นทางเดียวกันว่าเป็นความผิดพลาดอย่างชัดเจน แต่กลับกลายเป็นว่าเป็นหมากดีที่ทำให้ AlphaGo ออกนำและชนะ Lee ไปได้ในที่สุด

จากการที่ David ย้อนมาตรวจสอบวิเคราะห์ข้อมูลความมั่นใจ (evaluation value) ในตานั้น พบว่า AlphaGo เชื่อว่าความเป็นไปได้ที่ผู้เล่นที่เป็นคนจะลง P5 ในตานี้มีน้อยมากๆ (ประมาณ 1/1000 หรือ 1/10000 นี่แหละครับ ขออภัยไม่ได้จดมา) แต่ด้วยการประเมินแล้ว AlphaGo พบว่าเป็นหมากที่ดีที่สุดแล้วในตานั้น

ผมคิดว่าสิ่งนี้ทำให้เห็นว่า AlphaGo สามารถหาแนวทางการเล่นใหม่ๆ ที่ฉีกออกจากแนวทางเดิมๆ ที่มนุษย์เราเล่นกันได้และคนเราเองก็สามารถเรียนรู้เพิ่มจาก AlphaGo ได้เช่นกัน

เปรียบเทียบกับ Deep Blue

หากเปรียบเทียบกับ Deep Blue ที่สามารถเอาชนะแชมป์หมากรุกได้ จะเห็นว่าแนวคิดเบื้องหลังการพัฒนาต่างกัน ตรงที่ Deep Blue มีการวางแนวทางการเล่นมาจากผู้เชี่ยวชาญหมากรุก แต่ AlphaGo เรียนรู้เองจากบันทึกหมากของผู้เล่นโปรอื่นๆ รวมถึงการฝึกฝนโดยการเล่นกับตัวเอง

Deep Blue ใช้วิธีการค้นหาตาเดินทั้งหมด แต่ AlphaGo ค้นหาเฉพาะบางส่วนของตาเดินทั้งหมด แล้วเลือกเดินตาที่คิดว่าดีที่สุดจากส่วนนั้น ทำให้เห็นว่าปริมาณการคำนวณตาเดินในแต่ละตาน้อยกว่า Deep Blue อย่างมาก (200,000,000 กับ 60,000)

อนาคต AlphaGo ทำอะไรต่อไป?

David อธิบายว่าความเป็นไปได้ที่จะนำเทคนิคเดียวกับที่ใช้ใน AlphaGo ไปประยุกต์ใช้ในด้านอื่นๆ อีก ได้แก่

  1. สุขภาพ ที่สามารถให้บริการการรักษาพยาบาลแบบเฉพาะบุคคล (personalized health care) ได้ โดยวิเคราะห์จากข้อมูลการรักษาในอดีต
  2. หุ่นยนต์ในบ้าน แบบเดียวกับ BayMax นั่นแหละครับ (มีรูป BayMax อยู่บนสไลด์ด้วย!)
  3. สมาร์ทโฟน เป็นผู้ช่วยในสมาร์ทโฟน (แน่นอนว่าคงเป็นแอนดรอย)

ถาม-ตอบ?

สุดท้ายขอสรุปคำถามและคำตอบบางส่วนจากช่วงถามตอบมาให้สั้นๆ นะครับ

Q/A

คำถาม: เป็นไปได้ไหมที่จะฝึกฝน AlphaGo จากการเล่นกับตัวเอง (self-play) เพียงอย่างเดียว?
คำตอบ: David บอกว่ายังไม่ได้ทดลองจึงยังตอบให้ชัดเจนไม่ได้ แต่คิดว่าจะต้องใช้เวลาในการเทรนนานขึ้นแน่นอน และจะเสียการตัดสินใจพื้นฐานตามสัญชาตญาณมนุษย์ (default assumption of human) ไป เช่นตาหมากที่เลือกลงได้หลายๆ แบบในช่วงแรกๆ ของเกม AlphaGo จะเลือกหมากที่ใกล้เคียงคนจริงมากที่สุด

คำถาม: AlphaGo จะเป็น open-source ไหม?
คำตอบ: ไม่

คำถาม: AlphaGo สามารถแก้ปัญญา overfitting ได้อย่างไร?
คำตอบ: เนื่องด้วยทีมงานมีข้อมูลสำหรับเทรน (training data) จำนวนมหาศาล จึงลดปัญหานี้ลงไปได้มาก

Get latest news from Blognone

Comments

By: panurat2000
ContributorSymbianUbuntuIn Love
on 25 March 2016 - 10:52 #897508
panurat2000's picture

ผมคิดว่าส่ิงนี้ทำให้เห็นว่า AlphaGo สามารถหาแนวทางการเล่นใหม่ๆ

ส่ิง => สิ่ง

By: HoMm
AndroidWindows
on 25 March 2016 - 11:55 #897557
HoMm's picture

เจออันนี้ แบบว่าเสียดายนิดๆ แต่ก็สิทธิ์ของเค้านี่นะ

คำถาม: AlphaGo จะเป็น open-source ไหม?
คำตอบ: ไม่

By: wiennat
Writer
on 25 March 2016 - 12:03 #897563 Reply to:897557

ถ้าเค้าเขียนออกมาเป็นเปเปอร์ก็เชื่อว่ามี open source clone ที่คล้ายกันออกมาแน่นอนครับ

แบบเดียวกับ Hadoop ที่เป็น implementation ของ Google MapReduce หรือ HBase ที่โมเดลจาก BigTable


onedd.net

By: Configuleto
AndroidWindows
on 25 March 2016 - 19:34 #897757 Reply to:897557
Configuleto's picture

ซอฟแวร์ที่ Google คิดขึ้นหากย้อนดูหลายปีมาก็ไม่ได้เปิดให้คนอื่นใช้ตรงๆครับ ไม่น่าแปลกสักนิด ถือว่าเป็นผลิตภัณฑ์ใช้ภายใน แต่มีเปเปอร์ออกเปิดเผยแนวทางมาให้ ถ้าใครอยากใช้ก็ไป implement เอาเอง

กรณี AlphaGo นี่ก็เหมือนกัน ซึ่งจริงๆเดี๋ยวก็มีคนทำเวอร์ชั่น open-source ออกมาแหละ คำถามคือมันจะออกมาตอนไหนแค่นั้น

By: 255BB
Android
on 25 March 2016 - 12:05 #897569

ผมเล่นเกมโกะกับคอม Fuego, GnuGo เลือกแบบง่ายที่สุด กระดานแบบ 13*13 ยังไม่เคยชนะเลย OTL
แต่เพิ่งหัดเล่นนะ

By: crazygooyu
AndroidWindows
on 25 March 2016 - 12:11 #897575
crazygooyu's picture

เดินหมากแย่ๆ แต่กลายเป็นหมากดีทีหลัง...ฮิคารุชัดๆ

By: gingtalk
Windows PhoneAndroidWindows
on 25 March 2016 - 12:32 #897584
gingtalk's picture

ยังไม่ได้ใช้ Quantum Computer ใช่ปะ?

By: checkmate95
Android
on 25 March 2016 - 12:58 #897600 Reply to:897584
checkmate95's picture

ถ้าเป็น quantum computer การคำนวนตาเดินทั้งหมดซึ่งเป็นข้อจำกัดของคอมพิวเตอร์ตอนนี้เป็นเรื่องหมูเลยครับ

By: LazarusSP1
ContributoriPhone
on 26 March 2016 - 00:26 #897804 Reply to:897584
LazarusSP1's picture

ใจเย็นครับ แค่ให้ควันตัมเสถียรพอจะคำนวนเลขง่ายๆ ยังทำได้ยากเลยครับ

By: zyzzyva
Blackberry
on 25 March 2016 - 12:55 #897597

เห็นกราฟที่ใช้อธิบาย rank แล้วแบบ อยากตินิดนึง เห็นมาตั้งแต่ในเปเปอร์ที่ลง nature ละ คือ professional dan มันไม่ได้ linear ต่อจาก 9 amateur dan แต่มันมีส่วนคาบเกี่ยวกันมากกว่า แบบนี้จะถูกต้องมากกว่า (ถ้าเราสมมติว่า professional dan increase ต่อเนื่อง) จะเป็นเหมือนภาพนี้ครับ

http://i.imgur.com/VTi98BS.png

แล้วก็ ตอนนี้ Aja Huang กำลังเปิดให้ AlphaGo เล่นกับคนทั่วไปได้ที่ gokgs ครับ แต่ต้องรอ permission จาก Google ก่อน account ชื่อ AlphaGoBot

By: zyzzyva
Blackberry
on 25 March 2016 - 12:58 #897599 Reply to:897597

ปล. เห็นมีบอกด้วยนิว่า AlphaGo คิดว่าเล่นเปนขาวแอบได้เปรียบกว่าดำนิดนึง ประมาณ 3% มั้ง ใครเข้าประชุมช่วยบอกหน่อยครับ

By: 100dej
AndroidWindows
on 25 March 2016 - 15:09 #897670 Reply to:897599

AlphaGo เป็นรับซินะ

By: KuLiKo
iPhoneWindows PhoneAndroidWindows
on 25 March 2016 - 14:00 #897642

ขอบคุณสำหรับบทความครับ

By: ปลงนะเรา
Android
on 25 March 2016 - 17:17 #897733

ขอบคุณสำหรับบทความครับ

By: 100dej
AndroidWindows
on 26 March 2016 - 08:24 #897828

สักวันคอมพ์ก็คงตอบคำถามของมนุษย์ได้

เราเกิดมาทำไม

By: Bluetus
iPhone
on 26 March 2016 - 10:44 #897856
Bluetus's picture

นึกถึงพวกหนังหุ่นยนต์ครองเมืองเลย

เมื่อหุ่นยนต์คิดว่าสิ่งที่ดีที่สุดต่อโลกคือไม่มีมนุษย์อยู่...

แบมมม

By: tomyum
ContributorAndroidWindows
on 26 March 2016 - 23:53 #897959 Reply to:897856
tomyum's picture

งั้นต้องมาสู้กับหุ่นยนต์ที่ที่เกิดมาเพื่อปกป้องมนุษย์ครับ 3 Laws of robotics อ๊ะ รวมถึงกฏข้อที่ศูนย์ด้วยนะครับ