7 · เขย่ามันซะ
ถ้าลูกบอลติดอยู่ในหลุมผิด อย่าไปดึงมันขึ้น — เขย่าโต๊ะ
นี่เป็นคำตอบที่ดูไม่ฉลาดเลยตอนได้ยินครั้งแรก และมันมาจากอาชีพที่เก่าแก่กว่าคอมพิวเตอร์หลายพันปี
ช่างตีเหล็กรู้เรื่องนี้มานานแล้ว เวลาจะทำให้โลหะแข็งแรงและไม่เปราะ เขาไม่ได้ทุบมันให้เข้าที่ เขาเผาให้ร้อนแล้วปล่อยให้เย็นลงช้า ๆ กระบวนการนี้เรียกว่า annealing และเหตุผลที่มันได้ผลคือของที่ร้อนสั่นแรง อะตอมกระโดดไปมาได้ พอค่อย ๆ เย็นลง อะตอมก็ค่อย ๆ ตกลงเข้าที่ของมัน ถ้าปล่อยให้เย็นเร็วเกินไป อะตอมจะค้างอยู่ในตำแหน่งมั่ว ๆ ที่มันบังเอิญอยู่ตอนนั้น โลหะจะเปราะและแตกง่าย
แปลเป็นภาษาของบทที่แล้ว: ร้อน แปลว่าลูกบอลกระโดดได้ เย็น แปลว่าลูกบอลกลิ้งลงอย่างเดียว
ลูกบอลที่เย็นสนิทติดหลุมแรกที่เจอเสมอ ลูกบอลที่ร้อนจัดกระโดดไปทั่วจนไม่ยอมนอนที่ไหนเลย ของที่ต้องการคือเริ่มร้อนแล้วค่อย ๆ เย็น — ตอนร้อนมันสำรวจได้กว้าง หลุมตื้น ๆ กักมันไว้ไม่อยู่ พอเย็นลงเรื่อย ๆ มันจะหลุดออกจากหลุมตื้นได้แต่ออกจากหลุมลึกไม่ได้ สุดท้ายมันจะนอนอยู่ในหลุมที่ลึกที่สุดเท่าที่เดินไปเจอ
วิธีนี้ถูกเขียนเป็นอัลกอริทึมในปี 1983 โดย Scott Kirkpatrick, Daniel Gelatt และ Mario Vecchi ตีพิมพ์ใน Science ชื่อของมันคือ simulated annealing — การอบจำลอง ซึ่งเป็นชื่อที่ซื่อสัตย์มาก มันคือการเอาวิธีของช่างตีเหล็กมาใช้กับตัวเลข
ทีนี้ Geoffrey Hinton กับ Terry Sejnowski เอาความคิดนี้ไปใส่ใน Hopfield network ในปี 1983 และตั้งชื่อของที่ได้ว่า Boltzmann machine ตามชื่อ Ludwig Boltzmann นักฟิสิกส์ชาวออสเตรียที่เขียนกฎว่าระบบที่มีอุณหภูมิหนึ่ง ๆ จะพบอยู่ในสถานะไหนด้วยความน่าจะเป็นเท่าไร
แต่สิ่งที่พวกเขาเพิ่มเข้าไปอีกอย่างสำคัญกว่าอุณหภูมิ และมันคือสิ่งที่คณะกรรมการโนเบลอ้างถึงในปี 2024
พวกเขาแบ่งนิวรอนออกเป็นสองพวก
พวกแรกเรียกว่า visible units คือหน่วยที่ได้เห็นข้อมูลจริง รูปที่ป้อนเข้าไปตกลงบนหน่วยพวกนี้
พวกที่สองเรียกว่า hidden units คือหน่วยที่ไม่ได้เห็นอะไรเลย ไม่มีข้อมูลตกลงบนมัน ไม่มีคำตอบที่ถูกให้มันเทียบ มันแค่ต่ออยู่กับหน่วยพวกแรก และมันถูกปล่อยให้หาเองว่าจะตั้งตัวยังไง
ฟังดูเหมือนของที่ไร้ประโยชน์ที่สุดในเครื่อง และมันคือส่วนที่ทำให้เครื่องเข้าใจอะไรบางอย่าง
เหตุผลคือถ้าหน่วยที่ซ่อนอยู่ตัวหนึ่งพบว่า ทุกครั้งที่หน่วยที่มองเห็นสามตัวนี้ติดพร้อมกัน มันเองก็ควรติดด้วย หน่วยนั้นก็เพิ่งค้นพบรูปแบบที่ไม่มีใครบอกมัน สมมติป้อนรูปตัวอักษรเข้าไปเป็นพัน ๆ รูป หน่วยซ่อนตัวหนึ่งอาจจะกลายเป็นคนที่ติดทุกครั้งที่มีเส้นตั้งอยู่ตรงกลาง อีกตัวติดทุกครั้งที่มีวงกลมปิด ไม่มีใครสอนคำว่าเส้นตั้งหรือวงกลมให้มันเลย มันหาเองเพราะรูปแบบนั้นทำให้พลังงานรวมของระบบต่ำลง
นี่คือสิ่งที่คำประกาศรางวัลปี 2024 เรียกว่า "วิธีที่สามารถค้นพบคุณสมบัติในข้อมูลได้ด้วยตัวเอง"
มันคือการเรียนรู้แบบที่ไม่มีใครเฉลย เรียกในวงการว่า unsupervised learning และมันใกล้กับสิ่งที่เด็กทำมากกว่าการเรียนแบบมีเฉลย เด็กที่เห็นหมาสามสิบตัวไม่ได้ถูกสอนนิยามของหมา เขาสร้างหมวดของตัวเองขึ้นมาจากของที่เห็นซ้ำ ๆ แล้วค่อยมีคนมาติดป้ายชื่อทีหลัง
ราคาของมันคือเวลา Boltzmann machine ฉบับดั้งเดิมสอนช้ามาก เพราะทุกครั้งที่จะปรับน้ำหนักสักที ต้องปล่อยให้ระบบเขย่าตัวเองจนเข้าที่ก่อน แล้ววัด แล้วทำซ้ำ ในเครื่องยุคทศวรรษ 1980 นี่แปลว่าโจทย์ขนาดจริงจังใช้เวลานานเกินกว่าจะรอไหว
ของที่แก้เรื่องนี้เกิดขึ้นจากการตัดสายออก ไม่ใช่การเพิ่มอะไรเข้าไป และมันได้ชื่อว่า Restricted Boltzmann Machine
สิบปีถัดมามันคือสิ่งที่ปลุก deep learning ขึ้นมาจากหลุม แล้วมันก็หายไปเงียบ ๆ
บทหน้าเป็นเรื่องของมัน
ลองเอง: หาเหรียญสักสิบเหรียญกับกล่องหรือถาดที่มีขอบ วางเหรียญคว่ำหงายมั่ว ๆ แล้วตั้งเป้าว่าอยากให้หงายทั้งหมด เขย่าเบามาก ๆ — แทบไม่มีเหรียญไหนพลิก ระบบติดอยู่ที่เดิม เขย่าแรงเต็มที่ — เหรียญพลิกมั่วไปหมด เขย่าหยุดแล้วก็ยังมั่วเหมือนเดิม ทีนี้ลองเขย่าแรงก่อนแล้วค่อย ๆ เบาลงจนหยุด จะยังไม่ได้หงายครบสิบ เพราะเหรียญไม่มีเหตุผลทางพลังงานที่จะชอบหงายมากกว่าคว่ำ แต่คุณจะรู้สึกได้ด้วยมือว่าของที่คุณกำลังคุมอยู่คือ ความกว้างของการสำรวจ ไม่ใช่ทิศทางของมัน นั่นคือสิ่งเดียวที่อุณหภูมิทำ
บทนี้จะผิดเมื่อ: มีหลักฐานว่า Boltzmann machine ค้นพบรูปแบบในข้อมูลได้โดยไม่ต้องมี hidden units หรือพบว่าคำประกาศรางวัลโนเบลปี 2024 ไม่ได้อ้างถึงความสามารถในการค้นพบคุณสมบัติด้วยตัวเองว่าเป็นผลงานของ Hinton
บทถัดไป · 9 / 1408 The Scaffold