รายละเอียดคอร์ส
สอนคุณสร้าง Deep Q-Networks เพื่อสร้าง AI ที่ใช้เล่นเกม Atari เพื่อสร้าง Superhuman Players ขึ้นมา เพราะการสร้าง AI เพื่อเล่นเกมเป็นจุดเริ่มต้นที่ดีในการศึกษา AI และสามารถเป็นต้นแบบในการขยายขอบเขตไปแก้ปัญหาที่มีความซับซ้อนมากขึ้นในโลกความจริงได้
Reinforcement Learning คืออะไร ?
หากพูดถึงนิยามความหมายของ AI ที่คนทั่วไปจินตนาการถึงว่า AI จะต้องสามารถเรียนรู้เพื่อแก้ปัญหาต่าง ๆ และพัฒนาความฉลาดของตัวเองไปได้เรื่อย ๆ นั้น ศาสตร์ที่ตรงกับนิยามดังกล่าวมากที่สุดก็คือ Reinforcement Learning (RL)
RL เป็นการเรียนรู้ของ agent แบบลองผิดลองถูก โดยที่ agent พยายามที่จะเรียนรู้โดยการ interact กับสิ่งแวดล้อม แล้วรับ feedback จากสิ่งแวดล้อมว่า action ที่ทำนั้นดีหรือไม่ดี แล้วนำมาพัฒนาการตัดสินใจให้ฉลาดมากยิ่งขึ้น ว่าสถานการณ์แบบหนึ่งควรจะตัดสินใจทำ action ไหนจึงจะดีที่สุด
RL มักจะถูกนำไปแก้ปัญหาที่ต้องอาศัยการตัดสินใจ ภายใต้สิ่งแวดล้อมที่ชัดเจน ไม่ว่าจะเป็น การนำไปสร้างสุดยอดนักเล่นเกม อย่างเกมหมากล้อม หรือ วีดีโอเกมอย่าง Dota2 หรือนำไปสร้างสุดยอดนวัตกรรมที่ทุกคนรู้จักกันดีอย่าง Self-driving car หรือกระทั่งสามารถนำไปใช้ในการสร้างมันสมองให้กับหุ่นยนต์หรือแขนกลที่ใช้ในโรงงานอุตสาหกรรม ในการแพทย์ หรือกระทั่งในชีวิตประจำวัน
ทำไมต้องสร้าง AI เพื่อเล่นเกม ?
การสร้าง AI ขึ้นมาเพื่อเล่นเกม เป็นการจำลองปัญหาในโลกความจริง ให้มีความซับซ้อนน้อยลง มีสิ่งแวดล้อมที่ชัดเจน ซึ่งเหมาะสมที่จะเป็นจุดเริ่มต้นในการศึกษา AI
การที่เราสามารถสร้าง AI เพื่อเล่นเกมได้ เป็นต้นแบบให้เราสามารถแก้ปัญหาที่มีความซับซ้อนมากขึ้นได้
และเป็นรากฐานที่สำคัญในการแก้ปัญหาในโลกจริง (ที่มีความซับซ้อนมาก ๆ) ได้
ทำไม RL แบบดั้งเดิมถึงไม่เพียงพอ ?
ข้อจำกัดของ RL แบบดั้งเดิมนั้น คือ การที่ RL มักจะต้องใช้ memory ในการเก็บข้อมูลมหาศาล โดยจะต้องเก็บข้อมูลการตัดสินใจว่าหากเจอสถานการณ์ไหน จะต้องทำอย่างไร
โดยการเก็บข้อมูลดังกล่าวทั้งหมดในบางปัญหาที่มีความเป็นไปได้มากมายมหาศาล ซึ่งเป็นไปไม่ได้เลยที่จะสามารถเก็บการตัดสินใจทั้งหมดได้ วิธีการแก้ไขปัญหานี้ก็คือ การพัฒนา Deep Q-Networks
Deep Q-Networks คืออะไร ?
Deep Q-Networks คือการเปลี่ยนรูปแบบการเก็บความฉลาดของ RL จากเดิมที่อยู่ในรูปของตาราง (Q-table) ให้มาอยู่ในรูปของ Function (Deep Learning)
ความท้าทายของงานนี้คือ Deep Learning ต้องพยายาม approximate ข้อมูลที่มีความ dynamic เปลี่ยนแปลงตลอดเวลา (ไม่ได้ approximate ข้อมูลแบบ static แบบที่ Deep Learning ทั่ว ๆ ไปทำ)
เป้าหมายของคอร์สนี้ คืออะไร ?
สร้าง AI ที่สามารถเล่นเกม Atari ได้ในระดับ Superhuman player โดยใช้ Deep Q-Networks ด้วย Approach ที่ถูกนำเสนอโดยทีมผู้สร้าง AlphaGo อย่าง DeepMind
คอร์สนี้จะปูพื้นฐานสำคัญที่จำเป็นต้องใช้ตั้งแต่ RL แบบดั้งเดิม ไปจนกระทั่งวิธีการนำ DL เข้ามาพัฒนาเป็น DQN ที่มีประสิทธิภาพสูงกว่า
พื้นฐานที่ต้องมีสำหรับคอร์สนี้ ?
- เข้าใจ concept ของ Supervised Learning (Data, Model, Prediction)
- เข้าใจ Feed Forward
- เข้าใจ Gradient Descent