4 · ใครผิด
ปัญหาไม่ใช่ว่ามันตอบผิด ปัญหาคือไม่มีใครรู้ว่าต้องไปโทษใคร
นี่คือกำแพงที่ขวางงานด้านนี้อยู่เกือบยี่สิบปี และมันไม่ใช่กำแพงทางเทคนิคแบบที่คิดกัน — ไม่ใช่เครื่องไม่แรงพอ ไม่ใช่ข้อมูลไม่พอ มันเป็นกำแพงทางความคิดที่ฟังดูแทบไม่เหมือนปัญหาเลยตอนพูดออกมาครั้งแรก
ลองนึกภาพนี้ก่อน
เครือข่ายชั้นเดียวแก้ง่าย มีสัญญาณเข้าสิบเส้น มีคำตอบออกหนึ่งอัน ทายผิดปุ๊บ รู้ทันทีว่าต้องขยับน้ำหนักเส้นไหน เพราะทุกเส้นต่อตรงเข้าคำตอบ มันเหมือนหัวหน้าที่มีลูกน้องสิบคนนั่งอยู่ในห้องเดียวกัน งานพลาด เดินไปคุยกับคนที่ทำได้เลย
ทีนี้เอาสามชั้นมาซ้อนกัน สัญญาณเข้าที่ชั้นล่าง ส่งขึ้นชั้นกลาง ชั้นกลางส่งขึ้นชั้นบน ชั้นบนตอบ คำตอบผิด
ใครผิด
ชั้นบนอาจจะผิดเอง หรือชั้นบนอาจจะถูกต้องสมบูรณ์แบบแต่ได้ของเสียมาจากชั้นกลาง หรือชั้นกลางอาจจะไม่ผิดเลยแต่ได้ของเสียจากชั้นล่าง หรือทั้งสามชั้นผิดนิดหน่อยคนละทาง แล้วความผิดไปรวมกันตอนท้าย หรือ — อันนี้แย่ที่สุด — ชั้นล่างผิดไปทางหนึ่ง ชั้นกลางผิดไปอีกทางหนึ่งที่บังเอิญกลบความผิดอันแรกได้ครึ่งหนึ่ง
นี่คือปัญหาที่เรียกว่า credit assignment การจ่ายเครดิต — ทั้งเครดิตความดีความชอบและเครดิตความผิด และมันไม่ใช่ปัญหาของคอมพิวเตอร์เท่านั้น มันเป็นปัญหาของทุกระบบที่มีคนกลางเยอะ ๆ
โรงงานที่ของเสียออกมาตอนท้ายสายพาน บริษัทที่ยอดตก ทีมฟุตบอลที่แพ้ ทุกกรณีมีสิ่งเดียวกันคือ ผลลัพธ์อยู่ปลายทาง สาเหตุกระจายอยู่ต้นทาง และระหว่างสองจุดนั้นมีมือมากมายที่จับของชิ้นเดียวกันต่อ ๆ กันมา
วิธีที่คนใช้ตอนนั้นคือการเดา ปรับชั้นนี้ดูก่อน ถ้าดีขึ้นก็ปรับต่อ ไม่ดีขึ้นก็ถอย ซึ่งใช้เวลามหาศาลและไม่มีหลักประกันว่าจะไปถึงไหน พอชั้นเยอะขึ้น จำนวนทางที่ต้องลองก็ระเบิดขึ้นเร็วกว่าเวลาที่มนุษย์มี
คำตอบมาถึงในปี 1986 บนกระดาษสี่หน้าใน Nature เขียนโดย David Rumelhart, Geoffrey Hinton และ Ronald Williams ชื่อวิธีคือ backpropagation — การแพร่ย้อนกลับ
ความคิดของมันเล่าได้ในประโยคเดียว ส่งความผิดเดินย้อนกลับทางเดิมที่สัญญาณเดินมา
ถ้าชั้นบนผิดไปเท่านี้ และชั้นกลางเส้นนี้เป็นคนป้อนของให้ชั้นบนด้วยน้ำหนักเท่านี้ ก็คำนวณได้ว่าชั้นกลางเส้นนั้นต้องรับผิดชอบเท่าไร แล้วส่งตัวเลขความรับผิดชอบนั้นลงไปชั้นถัดไปอีก ทำอย่างนี้ลงไปเรื่อย ๆ จนถึงชั้นล่างสุด ทุกเส้นในเครือข่ายได้รับใบแจ้งหนี้ของตัวเองว่าต้องขยับเท่าไร ไปทางไหน
เรื่องนี้มีประวัติที่ควรพูดให้ครบ วิธีคำนวณแบบเดียวกันนี้เคยถูกเขียนไว้ก่อนหน้านั้นแล้วอย่างน้อยสองครั้ง — Seppo Linnainmaa ในปี 1970 ในบริบทคณิตศาสตร์ล้วน และ Paul Werbos ในวิทยานิพนธ์ปี 1974 บทความปี 1986 ไม่ใช่การค้นพบครั้งแรก มันคือครั้งที่คนในวงการเห็นและเปลี่ยนวิธีทำงาน ซึ่งเป็นคนละเรื่องกัน และในประวัติศาสตร์วิทยาศาสตร์ สองอย่างนี้มักไม่ตรงกัน
ตรงนี้ขอหยุดชี้จุดหนึ่ง เพราะมันคือหัวใจของเล่มนี้ที่กำลังจะกลับมาในบทหน้า
backpropagation ไม่ได้ลอกมาจากธรรมชาติ
สมองไม่ทำแบบนี้ ไม่มีหลักฐานว่านิวรอนส่งสัญญาณความผิดย้อนกลับทางแอกซอนแบบที่วิธีนี้ต้องการ นักประสาทวิทยาถกเถียงกันเรื่องนี้มาตลอดสามสิบปีและข้อสรุปที่ตรงไปตรงมาที่สุดคือ กลไกในสมองที่ทำหน้าที่คล้ายกันยังหาไม่เจอ backpropagation เป็นคณิตศาสตร์ล้วน ๆ เป็นของที่มนุษย์คิดขึ้นเองเพราะมันตอบโจทย์ ไม่ใช่เพราะเห็นใครทำมาก่อน
มันคืออุโมงค์ลมของบทที่ 2 — เครื่องมือที่ไม่มีในธรรมชาติ แต่ขาดไม่ได้สำหรับการทำของที่ลอกมาให้ใช้งานจริง
เครือข่ายหลายชั้นสอนได้แล้ว กำแพงพัง คนกลับเข้ามาในสาขา
และปัญหาถัดไปก็โผล่ขึ้นมาทันที คือ ความจำ เครือข่ายที่สอนด้วย backpropagation ทำนายได้ดี แต่มันไม่ได้จำอะไรในความหมายที่เราใช้คำนี้กับตัวเอง ป้อนรูปครึ่งรูปให้มันแล้วขอรูปเต็มคืน มันทำไม่ได้ ป้อนเนื้อเพลงสองคำแล้วขอทั้งท่อน มันทำไม่ได้
คนที่แก้เรื่องนี้ไม่ได้มาจากสาย AI เลย และเขาไม่ได้เริ่มจากการมองสมอง
เขามองก้อนเหล็ก
ลองเอง: ทำอาหารอะไรก็ได้ที่ใส่ของเค็มมากกว่าหนึ่งอย่าง — ผัดสักจาน ใส่เกลือ น้ำปลา ซีอิ๊ว ชิมแล้วเค็มไป ทีนี้ตอบให้ได้ว่าตัวไหนใส่เกินไป ไม่ใช่ตอบว่า "ก็ของเค็มทั้งหมด" แต่ตอบว่าตัวไหนกี่ช้อน คุณจะพบว่าตอบไม่ได้ ทั้งที่คุณเป็นคนใส่เองทั้งสามตัว และถ้าคราวหน้าอยากแก้ให้ตรงจุด สิ่งเดียวที่ทำได้คือทำใหม่แล้วใส่ทีละตัว จดไว้ทุกครั้ง — ซึ่งคือสิ่งที่ backpropagation ทำให้เครื่องอัตโนมัติ
บทนี้จะผิดเมื่อ: มีหลักฐานทางประสาทวิทยาว่าเซลล์ประสาทส่งสัญญาณความผิดย้อนกลับในรูปแบบที่ backpropagation ต้องการจริง หรือพบว่างานปี 1986 อ้างอิง Linnainmaa 1970 หรือ Werbos 1974 ไว้แล้วในต้นฉบับ
บทถัดไป · 6 / 1405 Compasses In Iron