3 คะแนน โดย GN⁺ 2023-08-11 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • grokking ที่ค้นพบในโมเดลขนาดเล็ก คือปรากฏการณ์ที่โมเดลท่องจำข้อมูลฝึกก่อน แล้วต้องฝึกต่อไปอีกนานกว่าจะเริ่มตอบอินพุตที่ไม่เคยเห็นได้อย่างฉับพลัน จึงเป็นเบาะแสที่ช่วยแยกความต่างระหว่างการท่องจำกับการทำให้เป็นภาพรวม
  • MLP ชั้นเดียว ในการทดลอง modular addition ช่วงแรกแสดงค่าน้ำหนักที่มีสัญญาณรบกวนสูง แต่เมื่อความแม่นยำบนชุดทดสอบเริ่มเพิ่มขึ้น ก็จะก่อรูปเป็นโครงสร้างแบบคาบและเริ่มทำให้เป็นภาพรวมได้
  • ในการทดลองลำดับ 0/1 ยาว 30 ตำแหน่ง โมเดลที่ทำให้เป็นภาพรวมได้จะลดค่าน้ำหนักของตำแหน่งท้ายที่ใช้รบกวน และโฟกัสที่ 3 ตำแหน่งแรก ทำให้เห็นความต่างระหว่างคำตอบแบบท่องจำกับคำตอบแบบทำให้เป็นภาพรวม
  • แรงกดดันหลักของการเปลี่ยนผ่านคือการลด loss และ weight decay โดยแม้ test loss จะดูเหมือนร่วงลงอย่างฉับพลัน แต่น้ำหนักภายในจริง ๆ เคลื่อนจากคำตอบแบบหนึ่งไปสู่อีกแบบอย่างค่อนข้างต่อเนื่อง
  • Grokking จะเกิดขึ้นก็ต่อเมื่อ hyperparameter อย่างขนาดโมเดล ขนาดข้อมูล และ weight decay อยู่ในจุดที่เหมาะสม และยังเป็นคำถามเปิดอยู่ว่าในโมเดลขนาดใหญ่จะอธิบายด้วยกรอบเดียวกันได้หรือไม่

คำถามที่ Grokking โยนมาให้

  • ในปี 2021 นักวิจัยพบว่าในงานทดลองแบบของเล่น โมเดลขนาดเล็กจะทำนายข้อมูลฝึกได้ก่อน แต่ยังทำนายข้อมูลทดสอบไม่ได้อยู่พักใหญ่ ก่อนจะ ทำให้เป็นภาพรวม ได้อย่างฉับพลันเมื่อฝึกต่อไปนานขึ้น
  • ปรากฏการณ์นี้ถูกเรียกว่า grokking หมายถึงพลวัตการเรียนรู้ที่การทำให้เป็นภาพรวมเกิดขึ้นช้ากว่าการฟิตข้อมูลฝึกมาก
  • โมเดลภาษาขนาดใหญ่อาจดูเหมือนเข้าใจโลก แต่ก็อาจเป็นเพียงการท่องจำบางส่วนของข้อความฝึกจำนวนมหาศาลแล้วถ่ายทอดออกมา
  • การเริ่มจากโมเดลขนาดเล็กช่วยให้สร้างสัญชาตญาณต่อเทคนิคการตีความที่ยังนำไปใช้กับโมเดลใหญ่ที่สุดในปัจจุบันได้ยากโดยตรง
  • แนวทางนี้คือการสังเกตกระบวนการเรียนรู้ของโมเดลเล็ก แล้ว reverse engineer คำตอบที่โมเดลค้นพบ เพื่อแสดงตัวอย่างของ mechanistic interpretability

โครงสร้างแบบคาบที่ปรากฏใน modular addition

  • modular addition ถูกใช้เป็นงานขนาดเล็กที่สังเกต grokking ได้ง่าย
    • เมื่อกำหนดเลขอินพุตสองตัว a, b และ modulus มาให้ งานคือทำนาย a + b ภายใต้การคำนวณแบบ modular
    • การทดลองตัวอย่างใช้เลขตั้งแต่ 0 ถึง 66 โดยเลือก 67 เพราะไม่ทำให้ภาพที่ได้ง่ายหรือซับซ้อนเกินไป
  • โมเดลที่ใช้ทดลองคือ MLP ชั้นเดียวที่มี 24 นิวรอน
    • นำคู่ a, b ทั้งหมดมาแบ่งแบบสุ่มเป็นชุดฝึกและชุดทดสอบ
    • ชุดฝึกใช้สำหรับปรับค่าน้ำหนักของโมเดล ส่วนชุดทดสอบใช้เพียงเพื่อตรวจว่าได้เรียนรู้คำตอบทั่วไปแล้วหรือยัง
  • โมเดลจะเลือกคอลัมน์ embedding ที่ตรงกับอินพุต a, b แล้วนำมาบวกกัน เปลี่ยนค่าติดลบให้เป็น 0 จากนั้นใช้คอลัมน์ที่ใกล้ที่สุดของเมทริกซ์เอาต์พุตเป็นคำทำนาย
  • ค่าน้ำหนักช่วงต้นของการฝึกมีสัญญาณรบกวนมาก แต่เมื่อความแม่นยำบนชุดทดสอบเพิ่มขึ้นและโมเดลเริ่มทำให้เป็นภาพรวม จะเห็น รูปแบบเป็นคาบ ปรากฏขึ้น
    • เมื่อฝึกเสร็จ นิวรอนแต่ละตัวจะสลับค่าระหว่างสูงกับต่ำหลายครั้งเมื่อเลขอินพุตเพิ่มจาก 0 เป็น 66
    • หากจัดกลุ่มนิวรอนตามความถี่คาบสุดท้าย รูปแบบนี้จะยิ่งชัดเจนขึ้น
  • ความเป็นคาบนี้บ่งชี้ว่าโมเดลกำลังเรียนรู้โครงสร้างทางคณิตศาสตร์บางอย่าง และสอดคล้องกับจังหวะที่มันเริ่มแก้โจทย์ตัวอย่างในชุดทดสอบได้

มองความต่างระหว่างการท่องจำและการทำให้เป็นภาพรวมผ่านโจทย์ 0 และ 1

  • การทดลองที่ง่ายกว่านี้คือให้โมเดลทำนายว่าจำนวนเลข 1 ใน 3 ตำแหน่งแรก ของลำดับ 0/1 ความยาว 30 เป็นจำนวนคี่หรือไม่
    • เช่น ถ้าขึ้นต้นด้วย 000... ก็อาจเป็น 0 และถ้าขึ้นต้นด้วย 010... ก็อาจเป็น 1
    • โดยแก่นแล้วมันคือปัญหา XOR ที่ยากขึ้นเล็กน้อย ส่วนตำแหน่งด้านหลังเป็นสัญญาณรบกวน
  • โมเดลที่ทำให้เป็นภาพรวมได้ควรใช้เพียง 3 ตำแหน่งแรก
    • แต่โมเดลที่ท่องจำข้อมูลฝึกจะใช้งานตำแหน่งรบกวนด้านหลังไปด้วย
  • การทดลองนี้ก็ใช้ MLP ชั้นเดียวเช่นกัน และฝึกด้วย ลำดับ 1,200 ชุด แบบคงที่
    • ช่วงแรกมีเพียงความแม่นยำบนชุดฝึกที่เพิ่มขึ้น ขณะที่ความแม่นยำบนชุดทดสอบยังแทบไม่ต่างจากการเดาสุ่ม
    • หลังจากนั้นความแม่นยำบนชุดทดสอบจะพุ่งขึ้นอย่างรวดเร็ว และโมเดลเรียนรู้คำตอบทั่วไปได้
  • โมเดลที่กำลังท่องจำจะแสดงรูปแบบค่าน้ำหนักหนาแน่น มีสัญญาณรบกวน และกระจายอยู่บนหลายอินพุตด้วยขนาดค่าสูง
  • เมื่อการทำให้เป็นภาพรวมเสร็จสิ้น ค่าน้ำหนักที่เชื่อมกับตำแหน่งรบกวนจะลดลงมาก และโมเดลจะโฟกัสที่อินพุต 3 ตำแหน่งแรก

วิธีที่ weight decay ผลักให้ไปสู่คำตอบแบบทำให้เป็นภาพรวม

  • ระหว่างการฝึก โมเดลเผชิญแรงกดดันสองอย่างพร้อมกัน
    • ต้องลด loss เพื่อให้ความน่าจะเป็นของ label ที่ถูกต้องสูงขึ้น
    • และได้รับผลของ weight decay ที่พยายามให้ขนาดค่าน้ำหนักต่ำไว้
  • ในโจทย์ 0/1 ค่า training loss จะเพิ่มขึ้นเล็กน้อยก่อนที่โมเดลจะเริ่มทำให้เป็นภาพรวม
    • เพราะมันยอมเสียส่วนหนึ่งของ loss ที่ช่วยเพิ่มความน่าจะเป็นของคำตอบที่ถูกต้อง เพื่อย้ายไปสู่คำตอบที่มีค่าน้ำหนักต่ำกว่า
  • การร่วงลงอย่างรวดเร็วของ test loss ทำให้ดูเหมือนว่าโมเดลเปลี่ยนเข้าสู่การทำให้เป็นภาพรวมอย่างฉับพลัน
  • แต่เมื่อดูค่าน้ำหนักระหว่างการฝึก จะพบว่าส่วนใหญ่ interpolate อย่างต่อเนื่อง ระหว่างคำตอบแบบท่องจำกับคำตอบแบบทำให้เป็นภาพรวม
  • การทำให้เป็นภาพรวมที่รวดเร็วเกิดขึ้นเมื่อค่าน้ำหนักตัวสุดท้ายที่เชื่อมกับตำแหน่งรบกวนถูก weight decay กำจัดออกไป

เงื่อนไขที่ทำให้ Grokking เกิดขึ้น

  • Grokking ไม่ใช่ปรากฏการณ์ที่เกิดเสมอไป แต่เป็นปรากฏการณ์ที่ ขึ้นกับเงื่อนไข เช่น ขนาดโมเดล, weight decay และขนาดข้อมูล
  • หาก weight decay ต่ำเกินไป โมเดลจะไม่หลุดจากการ overfit กับข้อมูลฝึก
  • เมื่อเพิ่มค่า decay มากขึ้น โมเดลจะท่องจำก่อนแล้วค่อยทำให้เป็นภาพรวม
  • หากเพิ่มมากขึ้นอีก ทั้ง test loss และ training loss จะลดลงพร้อมกัน และโมเดลจะทำให้เป็นภาพรวมได้แทบจะทันที
  • แต่ถ้า decay สูงเกินไป โมเดลจะเรียนรู้อะไรไม่ได้เลย
  • ในโจทย์ 0/1 มีการฝึกโมเดลมากกว่า 1,000 ตัวด้วย hyperparameter ที่ต่างกัน และเพื่อคำนึงถึง noise ระหว่างการฝึก ก็ฝึกโมเดล 9 ตัวสำหรับแต่ละชุด hyperparameter

คำตอบ modular addition ที่สร้างด้วยห้านิวรอน

  • modular addition เป็น ปัญหาแบบคาบ เพราะเมื่อผลบวกเกิน 67 แล้วจะวนกลับมาใหม่
  • หากวางเลขอินพุตเป็นจุดบนวงกลม ก็สามารถสะท้อนความเป็นคาบนี้เข้าไปในโครงสร้างของโมเดลได้โดยตรง
    • โดยคำนวณค่า sin และ cos สำหรับเลขอินพุตที่เป็นไปได้แต่ละตัวเพื่อสร้างเมทริกซ์ embedding
  • ใน MLP ชั้นเดียวที่เริ่มจากจุดตั้งต้นนี้ หากฝึกเพียงบางเมทริกซ์ ก็จะพบคำตอบที่แม่นยำสมบูรณ์ได้ด้วย เพียง 5 นิวรอน
  • เมื่อดูพารามิเตอร์ที่ฝึกแล้ว จะเห็นว่านิวรอนมีแนวโน้มลู่เข้าไปสู่ขนาดใกล้เคียงกัน และเมื่อพล็อตองค์ประกอบ sin กับ cos ก็จะเห็นว่าเรียงตัวเกือบสม่ำเสมอบนวงกลม
  • หากเชื่อมนิวรอนที่อยู่ติดกัน จะเห็นรูปแบบที่ฝั่ง unembedding หมุนรอบวงกลมเร็วเป็นสองเท่าของฝั่ง embedding
  • โครงสร้างนี้ให้คำตอบสำหรับ modular addition ที่มี 20 พารามิเตอร์

อัลกอริทึมเดียวกันภายใน MLP ชั้นเดียวขนาดใหญ่

  • โมเดลแรกที่มีพารามิเตอร์ 3,216 ตัวถูกฝึกตั้งแต่ต้น และเริ่มต้นโดยไม่มีความเป็นคาบฝังอยู่ข้างใน
  • ต่างจากคำตอบขนาดเล็กที่สร้างขึ้น โมเดลนี้ใช้ หลายความถี่
  • หากใช้ discrete Fourier transform (DFT) ก็สามารถแยกรูปแบบคาบที่เรียนรู้ได้ตลอดช่วงอินพุต
    • สำหรับนิวรอนแต่ละตัว สามารถหาค่า sin และ cos ของความถี่คาบที่เป็นไปได้ตั้งแต่ 1 ถึง 33 ได้
    • นิวรอนสามารถจัดกลุ่มตามความถี่ที่ให้ค่า sin และ cos สูงที่สุดได้
  • ยิ่งโมเดลทำให้เป็นภาพรวมมากขึ้น weight decay ก็ยิ่งทำให้การแทนนี้ เบาบางขึ้น
  • หากจัดกลุ่มนิวรอนตามความถี่สุดท้ายแล้วพล็อตองค์ประกอบ DFT ก็จะเห็นรูปทรงคล้ายดาวแบบเดียวกับที่เห็นในโครงสร้างห้านิวรอน
  • โมเดลที่ฝึกแล้วใช้อัลกอริทึมเดียวกับคำตอบที่สร้างขึ้น
    • เมื่อดูผล贡献ของเอาต์พุตจากกลุ่มนิวรอนแต่ละความถี่ จะเห็นว่ามันสร้างรูปคลื่นที่สอดคล้องกับการคำนวณ a + b mod 67
    • หลังจากช่วงชะงักสั้น ๆ ใกล้สเต็ป 45,000 เมื่อ test loss เริ่มดีขึ้น กลุ่มนิวรอนความถี่ 7 จะจัดเรียงเป็นรูปดาว และเอาต์พุตจะใกล้รูปคลื่นมากขึ้น
  • โมเดลใช้หลายความถี่เพื่อกด loss ลงโดยไม่ต้องใช้ค่าน้ำหนักที่ใหญ่ขึ้น และอาศัย การแทรกสอดเสริมกัน
  • ความถี่ 4, 5, 7, 26 ไม่ได้พิเศษในตัวเอง เพราะในการฝึกครั้งอื่น ๆ ก็อาจเรียนรู้รูปแบบแปรผันอื่นของอัลกอริทึมเดียวกันได้

คำถามที่ยังคงเหลืออยู่

  • การฝึกเพียงโมเดลในรูป W = W_L W_R โดยตรงนั้น แม้จะเพิ่ม weight decay ก็ยังไม่ทำให้เกิดการทำให้เป็นภาพรวมใน modular arithmetic
    • อย่างน้อยหนึ่งเมทริกซ์ต้องถูก แยกตัวประกอบ (factoring)
    • หลังทำ DFT แล้ว คำตอบแบบทำให้เป็นภาพรวมจะเบาบาง แต่เมทริกซ์ที่รวมแล้วกลับมี norm สูง
    • การใส่ weight decay ให้ W และ U โดยตรงจึงไม่ได้ให้ inductive bias ที่เหมาะกับโจทย์นี้
  • weight decay อาจช่วยผลักโมเดลหลายแบบให้ออกห่างจากการท่องจำข้อมูลฝึกได้
    • เทคนิคอื่นที่ช่วยเลี่ยง overfitting ก็มี เช่น dropout, โมเดลที่เล็กลง และอัลกอริทึม optimization ที่ไม่เสถียรเชิงตัวเลข
    • แต่แนวทางเหล่านี้มีปฏิสัมพันธ์กันอย่างซับซ้อนและไม่เป็นเชิงเส้น จึงคาดเดาได้ยากล่วงหน้าว่าการตั้งค่าใดจะชวนให้เกิดการทำให้เป็นภาพรวม
  • ทฤษฎีหนึ่งที่อธิบายว่าทำไมการท่องจำจึงมาก่อนการทำให้เป็นภาพรวม คืออาจมีวิธีท่องจำชุดฝึกมากกว่าคำตอบแบบทำให้เป็นภาพรวมอยู่มาก
    • หากไม่มี regularization หรือมีน้อย ความเป็นไปได้ทางสถิติที่การท่องจำจะเกิดก่อนก็ยิ่งสูง
    • เทคนิค regularization อย่าง weight decay จะให้น้ำหนักกับคำตอบบางแบบ เช่น คำตอบที่เบาบาง มากกว่าคำตอบที่หนาแน่น
  • การแทนค่าที่มีโครงสร้างดีอาจเกี่ยวข้องกับการทำให้เป็นภาพรวม แต่ไม่ใช่ทั้งเงื่อนไขจำเป็นและเงื่อนไขเพียงพอ
    • MLP บางรูปแบบที่ไม่มีอินพุตสมมาตรจะเรียนรู้การแทนที่เป็นวงกลมน้อยลงเมื่อแก้ modular addition
    • โมเดลเล็กที่ฝึกโดยไม่มี weight decay อาจเริ่มทำให้เป็นภาพรวมก่อน แล้วกลับไปสู่การท่องจำอีกครั้งทั้งที่ยังมี embedding แบบคาบอยู่
    • ภายใต้ hyperparameter บางชุด ยังอาจเกิดการเปลี่ยนผ่านแบบ ทำให้เป็นภาพรวม → ท่องจำ → ทำให้เป็นภาพรวม ได้ด้วย

ความสามารถในการตีความที่ต่อยอดไปสู่โมเดลใหญ่กว่า

  • Grokking ถูกสังเกตพบทั้งในงานอัลกอริทึมของ Transformer และ MLP ขนาดเล็ก และต่อมาก็พบในงานที่ซับซ้อนขึ้นกับภาพ ข้อความ และข้อมูลตาราง ภายใต้ช่วง hyperparameter บางช่วง
  • โมเดลขนาดใหญ่ที่สุดที่ทำงานได้หลายประเภท อาจกำลัง grokking หลายสิ่งพร้อมกันระหว่างการฝึก โดยแต่ละอย่างเกิดขึ้นด้วยความเร็วต่างกัน
  • ยังมีงานที่พยายามทำนายผลล่วงหน้าก่อนที่ grokking จะเกิดขึ้นจริง
    • บางวิธีต้องรู้คำตอบแบบทำให้เป็นภาพรวมหรือรู้โดเมนข้อมูลทั้งหมด
    • บางวิธีใช้เพียงการวิเคราะห์ training loss และอาจนำไปใช้กับโมเดลที่ใหญ่กว่าได้
  • เส้นทางหนึ่งในอนาคตคือการใช้โมเดลที่ง่ายกว่าซ้ำ ๆ
    • ฝึกโมเดลที่เรียบง่ายกว่า มี inductive bias แรงกว่า และมีชิ้นส่วนที่ต้องเคลื่อนน้อยกว่า
    • ใช้โมเดลนั้นอธิบายส่วนที่ตีความได้ยากของโมเดลใหญ่
    • และหากจำเป็นก็ทำกระบวนการนี้ซ้ำ
  • แนวทาง mechanistic interpretability แบบนี้อาจช่วยระบุหรือทำให้เป็นอัตโนมัติได้ว่าโครงข่ายประสาทกำลังเรียนรู้อัลกอริทึมแบบใดอยู่

1 ความคิดเห็น

 
GN⁺ 2023-08-11
ความคิดเห็นจาก Hacker News
  • เหตุผลที่ความทรงจำของมนุษย์น่าทึ่งน่าจะเป็นเพราะ แม้จะไม่มีความจุในการเก็บข้อมูลเท่าเครื่องจักร แต่เรามีความสามารถในการ บีบอัดแพตเทิร์น โดยลดทอนข้อมูลลงอย่างมากแล้วค่อยเก็บไว้
    จากนั้นก็เอาแพตเทิร์นเหล่านั้นไปผูกกับแพตเทิร์นอื่นแล้วบีบอัดต่อ ก่อนจะดึงอะไรบางอย่างออกมาจากตรงนั้น เป็น การบีบอัดแบบสูญเสียข้อมูล อย่างมหาศาล แต่ก็ยังบรรลุเป้าหมาย

    • ไม่ได้เป็นแบบนั้นเสียทีเดียว มีงานวิจัยที่ชี้ว่า ความจุในการเก็บข้อมูลของสมองดูเหมือนจะไม่มี ขีดจำกัดบน ที่เราเอื้อมถึงได้
      สมองน่าจะทำงานในทิศทางของการกลั่นความรู้ที่ไม่จำเป็นต้องท่องจำแบบตามตัวอักษรให้เหลือองค์ประกอบหลักอย่างแข็งขัน เพื่อหลีกเลี่ยง overfitting และได้ “สัญชาตญาณกับความเข้าใจที่ผ่านการทำให้ทั่วไปแล้ว” มากกว่า
      อ้างอิง: https://www.scientificamerican.com/article/new-estimate-boosts-the-human-brain-s-memory-capacity-10-fold/
    • ก็มีคนหายากบางคนที่จำได้ทุกอย่าง
      https://youtu.be/hpTCZ-hO6iI
    • ถ้าจะดูเรื่อง associative memory และพื้นฐานทางคณิตศาสตร์ของมัน ให้ดู Hopfield Neural Networks
      ขีดจำกัดบนในทางเทคนิคคือ “อนันต์” แต่มี trade-off คล้ายหลักความไม่แน่นอนหรือหลักประนีประนอมอื่น ๆ ระหว่างจำนวนแนวคิดที่เก็บไว้กับปริมาณข้อมูลพื้นฐานที่เก็บได้ต่อหนึ่งแนวคิด
    • โครงข่ายประสาทเทียมมักทำงานคล้าย อัลกอริทึมบีบอัด ในแง่ความสามารถในการทำนายอนาคต เครือข่ายที่เทรนแล้วไม่ได้เก็บข้อมูลที่ถูกบีบอัดไว้ แต่ใกล้เคียงกับตัวอัลกอริทึมบีบอัดเองมากกว่า
      ไม่รู้ว่าสมองสัตว์เป็นแบบเดียวกันหรือไม่ แต่ผมสงสัยว่ามันหลัก ๆ เป็นอัลกอริทึมบีบอัดเพื่อการทำนาย และไม่ได้เก็บตัวข้อมูลไว้มากนัก
    • ในคาบคณิตศาสตร์และฟิสิกส์ วิธีที่ช่วยได้มากจริง ๆ คือเข้าใจแนวคิดทั่วไปก่อน แล้วแทนที่จะท่องสูตร ก็ อนุมาน สูตรจากข้อเท็จจริงอื่น ๆ ที่จำง่ายกว่า
      เรขาคณิตเหมาะกับการฝึกแบบนี้ และมักมีประโยชน์ในการพิสูจน์ทางฟิสิกส์ด้วย
  • ประเด็นหลักน่าจะคือ weight decay ช่วยเหนี่ยวนำให้เกิดความเบาบาง ทำให้เรียนรู้ representation ที่ “จริง” มากกว่า representation ที่ overfit
    ในสมองมนุษย์ก็มี synaptic pruning ซึ่งดูเป็นกลไกคล้ายกันและพบได้ทั่วไปในระหว่างพัฒนาการ อยากฟังจากผู้เชี่ยวชาญในสาขาว่าสิ่งนี้เป็นแรงบันดาลใจของ weight decay หรือโดยตรงกว่านั้นคือ neural network pruning หรือไม่

    • ขอแก้ในฐานะนักวิจัย machine learning: L1 ต่างหากที่เหนี่ยวนำความเบาบาง ส่วน weight decay โดยชัดเจนคือ L2 จึงไม่ได้เหนี่ยวนำความเบาบาง และนี่เป็นความเข้าใจผิดที่พบบ่อย
      เหตุผลที่ weight decay ทำงานได้คือ เมื่อใช้เป็น regularization มันทำให้เครือข่ายเข้าใกล้ minimum description length (MDL) และลด regret ระหว่างการเรียนรู้ มันเกี่ยวข้องกับการ pruning ของสมองอยู่บ้าง แต่สมองดูเหมือนจะใช้ความเบาบางเป็นพื้นฐานเพื่อเหนี่ยวนำ representation ไม่ใช่เพื่อการบีบอัด จึงแทบจะเป็น motif คนละแบบ ลองคิดถึง implicit bias ของ representation ต่าง ๆ และผลต่อเนื่องที่มันมีต่อ representation ที่เรียนรู้แล้วหรือเรียนรู้ได้
    • แรงบันดาลใจของ weight decay คือการลดความสามารถของโมเดลในการท่องจำ เพื่อให้เข้ากับความซับซ้อนของงานได้พอดี ถ้าซับซ้อนกว่างานก็เป็น overfitting ถ้าซับซ้อนน้อยกว่างานก็เป็น underfitting จึงต้องหาสมดุลระหว่างสองอย่างนี้
      แต่ยารักษา overfitting ที่ดีที่สุดคือทำให้ dataset ใหญ่ขึ้นและมีความหลากหลายของข้อมูล LLM มี dataset ใหญ่มากจนโดยทั่วไปเทรนแค่หนึ่ง epoch
    • สมองมนุษย์มี synaptic pruning อยู่จริง จุดประสงค์ที่แน่ชัดยังเป็นเพียงทฤษฎีและยังไม่ได้เข้าใจจริง ๆ การมองว่ามีกลไกคล้ายกันบางอย่างระหว่าง LLM กับสมองมนุษย์เป็นการกระโดดไปไกลมาก
    • เท่าที่ผมรู้ weight decay มาจาก L2 regularization ซึ่งย้อนกลับไปได้ถึง linear regression การทำ L2 regularization เทียบเท่ากับการตั้ง Gaussian prior ที่มีค่าเฉลี่ย 0 ให้กับ weight
      L1 regularization สร้างความเบาบางได้มากกว่ามาก แต่ประสิทธิภาพก็ไม่ดีเท่า
  • ฝั่ง AI กำลังทำให้คำว่า grok เสียความหมาย
    เดิมมันมีความหมายประมาณว่า “เข้าใจอย่างสมบูรณ์และครบถ้วน” แต่การใช้คำเดียวกันนี้กับ generalization แปลว่ายังไม่ grok คำว่า grokking

    • “grok” ใน AI ไม่ได้หมายถึง generalization แบบธรรมดา แต่เฉพาะเจาะจงกว่านั้น ใกล้เคียงกับ “generalization ที่ล่าช้าและค่อนข้างฉับพลัน”
      มีการคุยกันเรื่องปรากฏการณ์นี้ในคอมเมนต์ของบทความที่เสนอให้เรียกมันว่า “การฟื้นตัวขั้นสุดท้ายจาก overfitting” ด้วย: https://www.lesswrong.com/posts/GpSzShaaf8po4rcmA/qapr-5-grokking-is-maybe-not-that-big-a-deal
    • จากมุมมองของแฟน SF คำว่า “grok” เป็นคำภาษาอังคารที่ Valentine Michael Smith ถ่ายทอดให้เข้ากับหูและเส้นเสียงของมนุษย์ และความหมายเชิงบ่งชี้ที่ตรงตัวคือ “ดื่ม”
      ความหมายแฝงไล่ตั้งแต่ “สูดรับเข้าไปอย่างลึกซึ้ง” ทั้งตามตัวอักษรและเชิงเปรียบเทียบ ไปจนถึงการบริโภคร่างไร้ชีวิตของผู้เป็นที่รักที่ไม่อยู่แล้ว ขอแนะนำ Stranger in A Strange Land อย่างยิ่ง และควรเลือกฉบับพิมพ์ใหม่แบบไม่ตัดทอนราวปี 1990
    • ในที่นี้เป็นแค่การนิยาม grokking ต่างออกไป
      มันดูค่อนข้างสมเหตุสมผล เพราะทำให้นึกถึงองค์ประกอบของความเข้าใจเชิงสัญชาตญาณ และการเพิ่มขึ้นของความเข้าใจอย่างฉับพลันและมาก ซึ่งก็คล้ายกับการเปลี่ยนแปลงที่เกิดขึ้นใน loss ด้วย
    • ผมไม่เข้าใจจริง ๆ ว่าความแตกต่างที่พยายามสร้างระหว่างการใช้สองแบบนี้คืออะไร
    • ผมคิดมาตลอดว่าสิ่งสำคัญของการ grok อะไรบางอย่างคือ ความเข้าใจเชิงสัญชาตญาณ มากกว่าความสมบูรณ์ครบถ้วน
  • ไม่แน่ใจว่าจำถูกไหม แต่ในการสัมภาษณ์ Raphaël Millière ในรายการ Mindscape ผมคิดว่าเขาบอกว่า เมื่อโมเดล machine learning มีมิติจำนวนมาก การแบ่งแยกระหว่าง interpolation กับ extrapolation จะไม่ชัดเจนเหมือนในขอบเขตที่เรามักใช้เหตุผลกัน
    ไม่แน่ใจว่านี่เป็นเรื่องคล้ายกับที่บทความนี้พูดถึงหรือเปล่า

  • สงสัยว่าแผนภูมิเหล่านั้นทำขึ้นมาได้อย่างไร
    เดาว่าน่าจะใช้ไลบรารีบางตัวสร้างขึ้นมาประมาณครึ่งหนึ่ง แล้วค่อยปรับแต่งด้วยมือ แต่ SVG แอนิเมชันที่ได้ออกมาสวยมาก

  • ถ้าสนใจรายละเอียดของหัวข้อนี้ แนะนำให้อ่านบทความบนคอมพิวเตอร์ มี ข้อมูลภาพเชิงโต้ตอบบางส่วนที่สำรวจบนมือถือไม่ได้

  • ก่อนอื่น นี่เป็นบล็อกโพสต์ที่ดี มีตัวอย่างยอดเยี่ยมมากมาย และทำให้นึกถึง distill.pub ในอดีต
    อย่างที่บทความพูดไว้ถูกต้อง โดยทั่วไปถ้าใช้ L2 weight decay จะทำให้เกิดน้ำหนักขนาดเล็กจำนวนมาก ถ้าต้องการโมเดลที่ generalize ได้ดีขึ้น ก็สงสัยว่าควรใช้ L1 weight decay เสมอเพื่อส่งเสริม sparsity แล้วฝึกให้นานขึ้นหรือไม่ และยังสงสัยด้วยว่าโมเดล deep learning ที่ใช้เฉพาะ sparse Fourier features แทนชั้นเชิงเส้นแบบหนาแน่นอาจทำงานได้ดีกว่าหรือเปล่า

    • คำตอบสั้น ๆ คือ ถ้าอินพุตสามารถแทนได้ดีด้วย Fourier basis ก็ใช่ ผมกำลังยื่นสิทธิบัตรในหัวข้อนี้อยู่ เลยหวังว่าจะได้ผลดี
      ถ้าตอบยาว ๆ โมเดล deep learning มักพยายามหาฐานไม่เชิงเส้นที่เหมาะสมที่สุดเพื่อแทนอินพุต ถ้าอินพุตสามารถแทนได้ดี—คือแทนได้แบบ sparse—ในฐานบางอย่างที่รู้ล่วงหน้า ก็มักช่วยได้หากนำมันไปวางบนฐานนั้น เช่น ทำ FFT กับสัญญาณ RF อย่างไรก็ตาม ฐานที่เหมาะที่สุดโดยรวมอาจแตกต่างจากฐานของ local minimum ใด ๆ ก็ได้ จึงต้องมีเทคนิคในการผลักเครือข่ายไปทางนั้น
    • ที่เกี่ยวข้องกันเล็กน้อย ฟังก์ชัน activation แบบ ReLU ซึ่งชักนำให้เกิด sparsity ก็ถูกใช้บ่อยในโครงข่ายประสาท
  • สงสัยว่าฟังก์ชันเป้าหมายนี้เป็นตัวแทนได้มากแค่ไหน
    เป็นเรื่องปกติที่เราต้องการให้โมเดลเรียนรู้ส่วนสำคัญของอินพุต แต่การสนใจแค่สามบิตแรกใน bit string นั้นรู้สึกค่อนข้างประดิษฐ์ขึ้นมา ไม่แน่ใจว่านี่คือการฝึก truth table ที่มีขนาดพารามิเตอร์ที่เกี่ยวข้องเป็น 8 ด้วยตัวอย่าง 4.8 ล้านตัวอย่าง หรือว่าผมเข้าใจอะไรผิดไป

    • เคยเห็นแพตเทิร์นนี้ในงาน computer vision ด้วยเหมือนกัน คือ training accuracy คงที่อยู่พักหนึ่ง แล้ว test accuracy จึงเริ่มสูงขึ้น
      เหตุผลที่ใช้โจทย์ง่าย ๆ ก็เพื่อให้สามารถ ตีความได้ว่าเกิดอะไรขึ้นภายในเมื่อสิ่งแบบนี้เกิดขึ้น
  • ใน HTML ไม่มี ฟีด auto-discovery สำหรับ RSS/Atom และไม่มีลิงก์ฟีด RSS ด้วย แต่พอเดาชื่อและตำแหน่งฟีดที่เป็นไปได้ ก็หา RSS feed ของ “Explorables” เจอ: https://pair.withgoogle.com/explorables/rss.xml

  • ดูเหมือน grid cell
    https://en.wikipedia.org/wiki/Grid_cell
    ถ้าวาด heatmap ของนิวรอนในชั้นซ่อนบนแผนภูมิ 2D โดยให้แกนหนึ่งเป็น $a$ และอีกแกนเป็น $b$ น่าจะได้ตารางสามเหลี่ยมออกมา ถ้ามันทำงานแบบที่ผมคิด เมื่อดูนิวรอนซ่อนตัวอื่น ๆ ก็น่าจะเห็นอีกตารางหนึ่งที่มีทิศทางและสเกลต่างกัน เมื่อนำสิ่งเหล่านี้มาต่อกัน ก็สร้างตัวบวกฐาน 67 ได้ด้วย อีกทั้งยังสลัดสัญชาตญาณที่ว่าความสัมพันธ์ระหว่างนิวรอน W_in-proj กับความสัมพันธ์ระหว่างนิวรอน W_out-proj นั้นคล้ายกับการแมประหว่างวงกลมครึ่งเสียงกับวงจรห้าขั้นออกไปได้ยาก
    https://upload.wikimedia.org/wikipedia/commons/thumb/6/6f/Pitch_class_space_star.svg/220px-Pitch_class_space_star.svg.png