เมื่อวันที่ 25 เมษายน ที่ผ่านผมได้มีโอกาสได้ไปร่วมงาน
โค้ดชิวๆ: หัดเขียน A.I. แบบ AlphaGo กันแบบชิวๆ
บัตรขายดีมากกก ซื้อแทบไม่ทัน
สถานที่ : LuanchPad สุรศักดิ์
จัดโดย สมาคมโปรแกรมเมอร์ไทย
โดยผู้ที่มาแชร์ความรู้กับพวกเราคราวนี้คือ พี่ กานต์ อุ่ยวิรัช จาก Pronto Tools
เริ่มต้นด้วยการพูดถึงตัว Machine Learning แบบพื้นฐานสุดๆ
การ Generalize ข้อมูลต่างๆ
แนะนำประเภทของ Machine Learning ให้ได้รู้จักกันแบบคร่าวๆ
– Supervied Learning
– Unsupervise Learning เราไม่บอก lable มัน ให้มัน Classify ให้
– Reinforcement Learning เปรียบเทียบกะการฝึกสัตว์เลี้ยง
ต่อมาก็ถึงพระเอกของเรา AlphaGo คืออะไร
AlphaGo คือ AI ที่ใช้เล่นโกะ ทีนี้มันต่างกะคนอื่นอย่างไร หมากรุก เรามาสารถ Brute Force ได้ด้วยความสามารถของ PC ได้ แต่โกะ มีความเป็นไปได้มากกว่านั้น (ว่ากันว่าความเป็นไปได้นั้นมากกว่าจำนวนอนุภาคบนโลก) จึงต้องมีอัลกอลิทึ่มในการตัดสินใจว่าจะใช้การเดินแบบไหน จึงมีการนำ Deeplearing มาเทรน โดยนำ Supervise learing มาใช้ Reinforcement Learning มาพัฒนาด้วยการแข่งกับตัวเอง มีการ Simulate โดยใช้ Monte Carlo Method
เรียนรู้การเขียน OX กัน
เริ่มจากการเขียนโดยใช้ Minimax Decistion กันก่อน
Minmax คือ โครงสร้าง Tree ที่ Recursive ไปเรื่อยๆ โดยมีการให้คะแนน ถ้าถูกต้อง ให้แต้ม O ชนะ -1 X ชนะ +1 เลือก MAX Reccu หา Min, Min Reccu หา MAX
Coding Time
https://github.com/zkan/tictactoe
move หา Acction ทั้งหมดก่อน
Alpha-Beta Pruning จะเก็บแทร็ค Alpha Beta ไว้ A node max update มัน หาค่า Max ที่ดีที่สุด(เริ่มที่ค่าที่น้อยที่สุด) Beta=~Alpha ถ้ามันหาค่าที่น้อยกว่า min ไม่ได้แล้วมันจะพรุนทิ้ง วิธีนี้ไม่ช่วยในการเดิน Go
Reinforcement Learning(RL)
y = f(x),z
หมานั่งอยู่นิ่งๆ ถ้ามันหยิบของ
Agent ทำ Act ได้ Reward(รางวัลที่ได้ใน ST นั้น) ละ State(สภาพ Agent)
Policy(Lookup Table)
Agent พยายามหา Optimum Policy
Google Deepmind ก็เลยใช้ Deep Q-learning มาทำ AI โดยเริ่มจากเล่นเกม(Research จะดูว่าลองกี่ Trial ยิ่งน้อยยิ่งดี)
ในงานมีการให้ลองเล่น Mystery Game ด้วยยยย
เป็นการจำลองสิ่งที่ Agent ทำให้มนุษย์เข้าใจ ใช้ Explo
Q-Learing ดี Q มีค่ามากขึ้น take action เอา Q ที่ดีขึ้น
ค่อยๆจูน Learning Rate Discount factor คือจุดหมาย
พูดถึงเรื่องการให้ Reward อัพเดท Lookup Table(Q) ไปเรื่อยๆ
เราใส่ Planing เข้าไป ทำให้มันฉลาดขึ้น
Slide ในงานครับ : http://www.slideshare.net/zkan/ai-alphago
ขอบคุณพี่กานต์ และสมาคมโปรแกรมเมอร์ไทย มากๆนะครับที่ช่วยจัดงานนี้ขึ้นมา ขอให้จัดต่อๆไปอีกครับผม
ขอบคุณพี่ๆ เพื่อนๆ น้องๆ ห้องแลป SAIG : Software and Application Interested Group @KMITL ที่อุปการะค่าบัตรเข้างานเพื่อนำความรู้มาแบ่งปันกันครับ
Leave a Reply