รถยนต์ขับเคลื่อนอัตโนมัติใช้เวลาหลายปีในการปฏิบัติตามชุดคำสั่งที่ตายตัว วิศวกรเขียนคำสั่ง if-then นับพันรายการ เช่น ถ้าคนเดินเท้าข้ามถนน ให้เบรก ถ้าสัญญาณไฟเปลี่ยนเป็นสีแดง ให้หยุด ถ้าเลนโค้ง ให้หักเลี้ยว แนวทางนี้ใช้ได้ผลเมื่อโลกเป็นไปตามที่คาดหวังไว้ทุกประการ แต่การขับขี่ในโลกความเป็นจริงนั้นวุ่นวายกว่านั้นมาก คู่มือการใช้งานไม่สามารถครอบคลุมถนนลูกรังที่เต็มไปด้วยโคลน ทางแยกที่ไม่มีเครื่องหมาย หรือนักปั่นจักรยานที่ขับส่ายไปมาท่ามกลางการจราจรได้ เมื่อสภาพแวดล้อมเปลี่ยนไป คำสั่งที่เข้มงวดก็ใช้ไม่ได้ผล เราต้องการระบบที่เรียนรู้ว่าการขับขี่ที่ดีคืออะไร แทนที่จะเพียงแค่ทำตามรายการตรวจสอบ

เหนือกว่ากฎที่ถูกเขียนไว้ตายตัว

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

ลองนึกภาพเขตก่อสร้างที่มีป้ายเขียนด้วยลายมือ กรวยจราจรที่วางกระจัดกระจายในมุมแปลกๆ และคนโบกธงที่คอยให้สัญญาณรถผ่าน ระบบที่ใช้กฎต้องการสัญญาณจราจรที่ชัดเจน แต่มันกลับเห็นแต่ความวุ่นวาย หากไม่มีกฎเฉพาะสำหรับ "คนที่สวมเสื้อกั๊กสีส้มกำลังโบกมือไปทางซ้าย" รถก็จะหยุดชะงักหรือคาดเดาผิดพลาด คนขับที่เป็นมนุษย์สามารถจัดการเรื่องนี้ได้ทันทีเพราะเราตีความเจตนาและบริบท ไม่ใช่แค่พิกเซล เราอ่านสถานการณ์ออก การสอนให้เครื่องจักรทำแบบเดียวกันนั้นต้องใช้วิธีการที่แตกต่างไปจากเดิมอย่างสิ้นเชิง

การเรียนรู้จากการสังเกต: Inverse Reinforcement Learning

นี่คือจุดที่ Inverse Reinforcement Learning เข้ามาเปลี่ยนเกม ในการเรียนรู้แบบเสริมกำลัง (Reinforcement Learning) มาตรฐาน คุณจะกำหนดเป้าหมายและฟังก์ชันรางวัล (reward function) ให้กับ AI เช่น ไปถึงจุดหมายให้เร็วที่สุดเพื่อรับคะแนน หรือชนขอบทางเพื่อเสียคะแนน ตัวแทน (agent) จะลองผิดลองถูกไปเรื่อยๆ จนกว่าจะค้นพบนโยบาย (policy) ที่ทำให้ได้คะแนนสูงสุด แต่การขับขี่ไม่ใช่แค่เรื่องของประสิทธิภาพเท่านั้น แต่มันคือเรื่องของความสะดวกสบาย ความปลอดภัย ความถูกต้องตามกฎหมาย และธรรมเนียมปฏิบัติทางสังคม การเขียนรางวัลทางคณิตศาสตร์สำหรับคำว่า "ขับรถเหมือนมนุษย์ที่ระมัดระวังแต่มีความชำนาญ" นั้นแทบจะเป็นไปไม่ได้เลย

Inverse Reinforcement Learning พลิกปัญหาในทางตรงกันข้าม แทนที่จะมอบเป้าหมายให้ AI คุณกลับแสดงตัวอย่างให้มันดู อัลกอริทึมจะเฝ้าดูฟุตเทจการขับขี่ของมนุษย์เป็นเวลาหลายชั่วโมง มันสังเกตว่าเมื่อใดที่มนุษย์ชะลอความเร็ว เปลี่ยนเลนล่วงหน้า หรือยอมให้รถบรรทุกที่กำลังแทรกเข้ามาผ่านไปก่อน มันไม่ได้เพียงแค่จดจำมุมการหักเลี้ยวที่แม่นยำ แต่มันทำงานย้อนกลับเพื่ออนุมานว่า "ทำไม" บางทีคนขับอาจชะลอความเร็วเพราะมีเด็กยืนอยู่ใกล้ทางเท้า แม้ว่าถนนจะว่างตามกฎหมายก็ตาม AI จะสกัดเอา "รางวัลที่ซ่อนอยู่" ออกมา นั่นคือ ความใกล้ชิดของคนเดินเท้าเป็นเรื่องสำคัญ แม้จะไม่มีทางม้าลายก็ตาม

ด้วยการปฏิบัติกับมนุษย์ในฐานะผู้เชี่ยวชาญที่แก้ปัญหาการหาค่าที่เหมาะสมที่สุด (optimization problem) มาแล้ว อัลกอริทึมจะกู้คืนฟังก์ชันต้นทุน (cost function) ที่ผู้เชี่ยวชาญคนนั้นพยายามทำให้เหลือน้อยที่สุด เมื่อระบบเข้าใจความพึงพอใจพื้นฐาน เช่น การชอบการเบรกที่นุ่มนวลมากกว่าการหยุดกะทันหัน หรือการรักษาตำแหน่งกลางเลนมากกว่าการขับปาดโค้ง มันก็จะสามารถประยุกต์ใช้ได้ทั่วไป เมื่อมันเจอถนนสายใหม่ในเมืองอื่น มันจะรู้โดยประมาณว่าคนขับที่ดีควรให้ความสำคัญกับสิ่งใดในสภาพแวดล้อมที่ไม่คุ้นเคยนั้น

การตัดสินใจ: Deep Q-Networks

การเข้าใจรางวัลเป็นเพียงครึ่งหนึ่งของการต่อสู้ รถยนต์ยังจำเป็นต้องลงมือทำ Deep Q-Networks จะจัดการเรื่องการตัดสินใจโดยการประมวลผลข้อมูลจากเซนเซอร์เพื่อเลือกการกระทำที่ดีที่สุด

Q-learning แบบดั้งเดิมมีมานานหลายทศวรรษแล้ว ตัวแทนจะเรียนรู้คุณค่าของการกระทำเฉพาะอย่างในสถานะเฉพาะอย่าง ปัญหาคือสถานะการขับขี่ในโลกความเป็นจริงนั้นมีจำนวนมหาศาลจนแทบไม่สิ้นสุด ภาพจากกล้องไม่ใช่โลกแบบตาราง (grid world) ที่เรียบง่าย แต่มันคือพิกเซลหลายล้านพิกเซลที่เปลี่ยนแปลงที่ 60 เฟรมต่อวินาที ผสมผสานกับข้อมูลจุดจากไลดาร์ (lidar point clouds) ค่าความเร็ว และเวกเตอร์ GPS

Deep Q-Networks แก้ปัญหานี้โดยการใช้โครงข่ายประสาทเทียม (neural network) เป็นตัวประมาณค่าฟังก์ชัน (function approximator) โครงข่ายจะรับข้อมูลเซนเซอร์ดิบและแสดงผลลัพธ์เป็นค่าที่คาดการณ์ไว้สำหรับการกระทำที่เป็นไปได้ทั้งหมด เช่น หักเลี้ยวซ้าย, เบรกเบาๆ, เร่งความเร็ว หรือรักษาเส้นทาง แทนที่จะต้องเก็บตารางข้อมูล (lookup table) สำหรับทุกสถานการณ์ โครงข่ายจะใช้วิธีการสรุปความสัมพันธ์ทั่วไป (generalize) มันจะรับรู้ว่าจุดมืดๆ ในคืนที่ฝนตกน่าจะเป็นรถที่จอดอยู่ เหมือนกับที่มันเคยเรียนรู้ในช่วงการฝึกฝนในวันแดดจ้า และจะกำหนดค่าต่ำให้กับการกระทำ "เร่งความเร็ว"

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

สรุปภาพรวม

ลำพังเพียงวิธีใดวิธีหนึ่งไม่สามารถสร้างผู้ขับขี่ที่มีความสามารถได้ Inverse Reinforcement Learning ที่ปราศจากกลไกการตัดสินใจ (decision engine) ก็เป็นเพียงแค่ผู้สังเกตการณ์เท่านั้น มันรู้ว่ามนุษย์ให้ความสำคัญกับความนุ่มนวล แต่ไม่สามารถควบคุมพวงมาลัยได้ ส่วน Deep Q-Network ที่ไม่มีฟังก์ชันรางวัล (reward function) ที่ออกแบบมาอย่างดี จะทำการเพิ่มประสิทธิภาพไปในทางที่ผิด มันอาจจะค้นพบว่าการขับรถเป็นวงกลมช่วยหลีกเลี่ยงการชนได้อย่างสมบูรณ์แบบ ทำให้ได้คะแนนสูงแต่กลับไม่ได้เคลื่อนที่ไปไหนเลย

เมื่อนำมารวมกัน ทั้งสองจะสร้างวงจรการทำงานที่ทรงพลัง Inverse Reinforcement Learning จะเฝ้าสังเกตผู้เชี่ยวชาญที่เป็นมนุษย์ และกลั่นกรองออกมาเป็นฟังก์ชันรางวัลที่สะท้อนถึงลำดับความสำคัญในโลกแห่งความเป็นจริง จากนั้น Deep Q-Network จะใช้ฟังก์ชันรางวัลนั้นในการฝึกฝนตนเองผ่านการลองผิดลองถูก โดยประมวลผลข้อมูลจากเซนเซอร์แบบเรียลไทม์เพื่อเลือกการกระทำต่างๆ AI เรียนรู้พฤติกรรมที่ซับซ้อนผ่านการสังเกต และยังเรียนรู้ผ่านการฝึกฝนอีกด้วย

ลองพิจารณาสถานการณ์การขับรถเข้าเลนบนทางหลวง ส่วนประกอบของ Inverse Reinforcement Learning ได้อนุมานว่าผู้ขับขี่ที่เป็นมนุษย์จะรักษาสมดุลระหว่างการปรับความเร็วให้เท่ากันกับการหาจังหวะช่องว่างที่เหมาะสม Deep Q-Network จะได้รับสัญญาณต้นทุน (cost signal) ที่ละเอียดอ่อนนี้ และฝึกฝนการเข้าเลนเป็นหมื่นครั้งในระบบจำลอง มันจะเรียนรู้ว่าเมื่อใดควรเร่งความเร็ว เมื่อใดควรชะลอ และเมื่อใดที่ช่องว่างนั้นแคบเกินไป ผลลัพธ์ที่ได้จึงไม่ใช่แค่การเลียนแบบท่าทางของมนุษย์ที่บันทึกไว้เหมือนนกแก้ว แต่เป็นระบบที่ซึมซับตรรกะภายในและสามารถปรับตัวได้เมื่อถนนเปียกหรือเมื่อช่องว่างแคบกว่าปกติ

ทำไมเรื่องนี้จึงสำคัญต่อการใช้งานบนถนนจริง