ข้าวตัง ลูกหมาพันธุ์ผสมอายุสี่เดือนที่เพิ่งมาอยู่บ้านเรา ยังไม่รู้จักคำว่า “นั่ง” ลูกชายผมถือขนมชิ้นเล็กๆ อยู่ในมือ พูดคำว่านั่งไปยี่สิบรอบ ข้าวตังกระโดด เห่า วิ่งวน เลียมือ ทำทุกอย่างยกเว้นนั่ง
จนครั้งหนึ่งที่ข้าวตังบังเอิญหย่อนก้นลงพื้นพอดีตอนได้ยินคำว่านั่ง ลูกผมรีบให้ขนมทันที พร้อมลูบหัวชมเสียงดัง ทำแบบนี้ซ้ำทุกครั้งที่ข้าวตังบังเอิญนั่ง สามวันต่อมา แค่ได้ยินคำว่านั่ง ข้าวตังก็หย่อนก้นลงทันที แล้วมองหน้ารอขนม
คืนนั้นตอนกินข้าว ลูกถามผมว่า “AI เรียนเก่งเพราะคนสอนมันเหมือนหนูสอนข้าวตังหรือเปล่า” ผมวางช้อนลง เพราะนั่นคือคำอธิบายของ Reinforcement Learning ที่ดีที่สุดที่ผมเคยได้ยิน และมันมาจากเด็กอายุสิบขวบ
เรื่องที่เราจะเรียนรู้จากข้าวตัง
- Reinforcement Learning คืออะไร
- ส่วนประกอบสำคัญ: ผู้เรียน สภาพแวดล้อม การกระทำ และรางวัล
- AlphaGo กับตาที่ 37 ที่ทำให้โลกตะลึง
- AlphaGo Zero: เรียนจากศูนย์ด้วยการเล่นกับตัวเอง
- หอทดสอบอุณหภูมิของเครื่องพิมพ์ 3D
- เมื่อรางวัลผิด AI ก็เรียนผิด
- RL ในโลกจริง: รถยนต์ หุ่นยนต์ และแชตบอต
Reinforcement Learning คืออะไร
Reinforcement Learning หรือการเรียนรู้แบบเสริมกำลัง คือวิธีที่ AI เรียนรู้ด้วยการลองผิดลองถูก ทำการกระทำบางอย่าง แล้วได้รับรางวัลเมื่อทำได้ดี หรือได้รับผลลบเมื่อทำได้ไม่ดี เมื่อทำซ้ำหลายครั้ง AI จะค่อยๆ เรียนรู้ว่าการกระทำแบบไหนนำไปสู่รางวัลมากที่สุด
ความต่างจาก AI แบบอื่นคือ ไม่มีใครบอกคำตอบที่ถูกต้องให้มันตรงๆ เหมือนลูกผมไม่ได้จับก้นข้าวตังกดลงพื้น แต่รอให้ข้าวตังลองทำเอง แล้วให้รางวัลเมื่อทำถูก ข้าวตังต้องค้นพบเองว่าการกระทำไหนได้ขนม
ส่วนประกอบสำคัญ: ผู้เรียน สภาพแวดล้อม การกระทำ และรางวัล
- Agent หรือผู้เรียน คือตัวที่กำลังเรียนรู้ ในบ้านเราคือข้าวตัง ใน AI คือโปรแกรม
- Environment หรือสภาพแวดล้อม คือโลกที่ผู้เรียนอยู่ ห้องนั่งเล่นของบ้าน หรือกระดานเกมโกะ
- Action หรือการกระทำ คือสิ่งที่ผู้เรียนเลือกทำ นั่ง เห่า วิ่ง หรือวางหมากที่จุดไหน
- Reward หรือรางวัล คือสัญญาณบอกว่าทำดีแค่ไหน ขนมหนึ่งชิ้น หรือคะแนนชนะเกม
หัวใจของ RL คือ ผู้เรียนไม่ได้อยากได้รางวัลแค่ครั้งนี้ แต่เรียนรู้ที่จะได้รางวัลรวมมากที่สุดในระยะยาว ข้าวตังเรียนรู้ว่านั่งรอดีกว่ากระโดดแย่งขนม เพราะนั่งแล้วได้ขนมทุกครั้ง
AlphaGo กับตาที่ 37 ที่ทำให้โลกตะลึง
เกมโกะเป็นเกมกระดานจากเอเชียตะวันออกที่มีกติกาเรียบง่าย ผลัดกันวางหมากขาวดำบนกระดาน 19 คูณ 19 เพื่อล้อมพื้นที่ แต่จำนวนรูปแบบการเล่นที่เป็นไปได้มีมากมหาศาลจนเกินกว่าคอมพิวเตอร์จะคำนวณได้หมด นักวิจัยหลายคนเคยเชื่อว่าคอมพิวเตอร์ต้องใช้เวลาอีกหลายสิบปีกว่าจะชนะมือวางระดับโลกได้
มีนาคมปี 2016 ที่กรุงโซล โปรแกรม AlphaGo ของบริษัท DeepMind แข่งกับ ลี เซดล ผู้เล่นโกะระดับโลกจากเกาหลีใต้ ผลคือ AlphaGo ชนะสี่ต่อหนึ่ง
ช่วงเวลาที่ถูกพูดถึงมากที่สุดคือตาที่ 37 ในเกมที่สอง AlphaGo วางหมากในตำแหน่งที่ผู้บรรยายมืออาชีพคิดว่าเป็นความผิดพลาด เพราะไม่มีผู้เล่นมนุษย์ระดับสูงคนไหนเล่นแบบนั้น แต่หลายสิบตาต่อมา ตาที่ 37 กลับกลายเป็นหมากสำคัญที่ช่วยให้ AlphaGo ชนะ AI ค้นพบวิธีเล่นที่มนุษย์ไม่เคยคิดมาก่อนในเกมที่มนุษย์เล่นกันมาหลายพันปี
ที่น่าประทับใจไม่แพ้กันคือ ในเกมที่สี่ ลี เซดล ตอบโต้ด้วยตาที่ 78 ซึ่งเป็นหมากที่สร้างสรรค์จนทำให้ AlphaGo ตัดสินใจผิดพลาดต่อเนื่อง และนั่นคือเกมเดียวที่มนุษย์ชนะ เป็นเครื่องเตือนใจว่าความคิดสร้างสรรค์ของมนุษย์ก็มีพลังไม่แพ้กัน
AlphaGo Zero: เรียนจากศูนย์ด้วยการเล่นกับตัวเอง
AlphaGo รุ่นแรกเรียนจากเกมของมนุษย์หลายแสนเกมก่อน แล้วค่อยพัฒนาต่อด้วยการเล่นกับตัวเอง แต่ในปี 2017 DeepMind เผยแพร่งานวิจัยในวารสาร Nature เกี่ยวกับ AlphaGo Zero ซึ่งไม่ได้เรียนจากเกมของมนุษย์เลยแม้แต่เกมเดียว
มันรู้แค่กติกาของเกม แล้วเริ่มเล่นกับตัวเองแบบสุ่มๆ ชนะได้รางวัล แพ้ได้ผลลบ เล่นซ้ำหลายล้านเกม ภายในเวลาไม่กี่วัน มันก็เก่งกว่า AlphaGo รุ่นที่ชนะลี เซดล
ลูกผมถามว่า “แบบนี้ถ้าข้าวตังเล่นกับตัวเองได้ ก็จะเก่งเองเลยสิ” ผมหัวเราะ แล้วอธิบายว่าความต่างคือ คอมพิวเตอร์เล่นเกมได้หลายล้านตาโดยไม่เหนื่อยและไม่ต้องกินขนม แต่ข้าวตังเหนื่อยหลังซ้อมไปสิบนาที และกินขนมได้ไม่เกินสิบชิ้นต่อวัน
หอทดสอบอุณหภูมิของเครื่องพิมพ์ 3D
ใครใช้เครื่องพิมพ์ 3 มิติจะรู้จักงานพิมพ์ที่เรียกว่า Temperature Tower เป็นหอคอยเล็กๆ ที่แต่ละชั้นพิมพ์ด้วยอุณหภูมิหัวพิมพ์ต่างกัน เช่น ชั้นล่างสุด 220 องศา ชั้นถัดไปลดลงทีละ 5 องศา พอพิมพ์เสร็จ เราจะเห็นว่าชั้นไหนเส้นสวย ไม่มีใยพลาสติกห้อย และผนังเรียบที่สุด แล้วเลือกอุณหภูมินั้นใช้กับเส้นพลาสติกม้วนนั้น
นี่คือการลองผิดลองถูกแบบมีระบบ ทดลองหลายการกระทำ ดูผลลัพธ์ แล้วเลือกสิ่งที่ได้รางวัลดีที่สุด RL ทำแบบเดียวกัน แต่ทดลองได้มากกว่าหลายล้านเท่า และปรับวิธีเลือกให้ดีขึ้นเรื่อยๆ จากผลที่ได้ ส่วนผมพิมพ์หอทดสอบได้ครั้งละหนึ่งหอ ใช้เวลาครั้งละชั่วโมง
เมื่อรางวัลผิด AI ก็เรียนผิด
ช่วงแรกที่ฝึกข้าวตัง ลูกผมเผลอให้ขนมตอนข้าวตังเห่าด้วย เพราะคิดว่าน่ารัก ผลคือข้าวตังเรียนรู้ว่าเห่าแล้วได้ขนม และเห่าทุกครั้งที่เห็นใครถือถุงขนม เราใช้เวลาสองสัปดาห์กว่าจะแก้นิสัยนี้
AI ก็เจอปัญหาเดียวกัน นักวิจัยเรียกว่า Reward Hacking คือ AI หาทางได้รางวัลด้วยวิธีที่ไม่ใช่สิ่งที่ผู้สร้างตั้งใจ ตัวอย่างที่ถูกเล่าบ่อยในวงการคือ AI ที่ถูกฝึกเล่นเกมแข่งเรือ แทนที่จะแล่นเข้าเส้นชัย มันกลับวนเก็บไอเท็มโบนัสตรงจุดเดิมซ้ำไปมา เพราะได้คะแนนมากกว่าการแข่งให้จบ
บทเรียนคือ AI จะเรียนรู้สิ่งที่เราให้รางวัล ไม่ใช่สิ่งที่เราตั้งใจ การออกแบบรางวัลให้ถูกต้องจึงเป็นงานที่ยากและสำคัญที่สุดอย่างหนึ่งของ RL ซึ่งก็เป็นบทเรียนที่ใช้ได้กับการเลี้ยงลูกด้วย ถ้าเราชมแต่คะแนนสอบ ลูกอาจเรียนรู้ที่จะท่องจำแทนการเข้าใจ
RL ในโลกจริง: รถยนต์ หุ่นยนต์ และแชตบอต
- หุ่นยนต์ ฝึกเดิน หยิบจับ และทรงตัวในโลกจำลอง ก่อนนำไปใช้กับหุ่นยนต์จริง
- รถยนต์ไร้คนขับ ใช้ RL เป็นส่วนหนึ่งในการฝึกตัดสินใจในสถานการณ์จำลอง ร่วมกับเทคนิคอื่นอีกหลายอย่าง
- แชตบอต AI ใช้เทคนิคที่เรียกว่า RLHF หรือการเรียนรู้จากความคิดเห็นของมนุษย์ คนให้คะแนนว่าคำตอบไหนดีกว่า แล้ว AI เรียนรู้จะตอบแบบที่คนชอบ
- การประหยัดพลังงาน DeepMind เคยใช้ระบบ AI ช่วยควบคุมระบบทำความเย็นในศูนย์ข้อมูลของ Google เพื่อลดการใช้พลังงาน
สรุปบทเรียนจากข้าวตังและ AlphaGo
- RL คือการเรียนรู้ด้วยการลองผิดลองถูกและรางวัล
- ผู้เรียนพยายามได้รางวัลรวมมากที่สุดในระยะยาว
- AlphaGo ชนะแชมป์โลกโกะในปี 2016 และค้นพบหมากที่มนุษย์ไม่เคยคิด
- AlphaGo Zero เก่งขึ้นได้ด้วยการเล่นกับตัวเองล้วนๆ
- ถ้ารางวัลถูกออกแบบผิด AI จะเรียนรู้สิ่งที่ผิด
- ฝึกสัตว์เลี้ยง หรือทำหอทดสอบอุณหภูมิ คือการเห็น RL ด้วยตาตัวเอง
คำถามชวนนักฝึก AI ตัวน้อยคิดต่อ
- ถ้าหนูออกแบบรางวัลให้ AI ช่วยทำความสะอาดห้อง รางวัลควรเป็นอะไร และอาจโดนโกงได้ยังไง
- ทำไม AI ที่เล่นกับตัวเองถึงเก่งกว่า AI ที่เรียนจากมนุษย์
- หนูเคยเรียนรู้อะไรด้วยการลองผิดลองถูกบ้าง
- ถ้า AI ค้นพบวิธีที่มนุษย์ไม่เคยคิด เราควรเชื่อมันทันทีไหม
นั่ง รอ และได้ขนม
ตอนนี้ข้าวตังนั่ง หมอบ และยื่นมือให้จับได้แล้ว ลูกชายผมจดบันทึกการฝึกทุกวันในสมุดเล่มเล็ก มีช่องบันทึกว่าลองกี่ครั้ง สำเร็จกี่ครั้ง และให้รางวัลแบบไหน เขาเรียกมันว่า “ตารางเทรนข้าวตัง” และภูมิใจกับมันมาก
เมื่อวานเขาบอกผมว่าจะลดขนมลง ให้คำชมกับการลูบหัวแทนบ้าง เพราะอ่านเจอว่าถ้าให้ขนมทุกครั้ง ข้าวตังจะทำตามเฉพาะตอนเห็นขนม เด็กสิบขวบคนนี้กำลังปรับ Reward Function โดยไม่รู้ตัว
ถ้าบ้านคุณมีสัตว์เลี้ยง ลองให้ลูกเป็นคนฝึกสักท่าดูครับ แล้วชวนคุยว่า AI เรียนรู้แบบเดียวกันอย่างไร มันอาจเป็นบทเรียน AI ที่มีขนและหางกระดิกที่สุดที่ลูกเคยได้เรียน
