1 คะแนน โดย GN⁺ 2025-03-05 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ในปัญหาแบบ ARC-AGI ที่ต้องหารูปแบบจากตัวอย่างเพียงไม่กี่ชุด CompressARC สามารถหาคำตอบได้ด้วยการเรียนรู้เฉพาะช่วงอนุมานสำหรับแต่ละพัซเซิล โดยไม่ต้องพรีเทรน ไม่ใช้ชุดข้อมูลภายนอก และไม่ต้องค้นหาขนาดใหญ่
  • แนวคิดหลักคือการทดลองว่าพฤติกรรมอันชาญฉลาดอาจเกิดขึ้นได้ หากปรับเหมาะวัตถุประสงค์ของ การบีบอัดข้อมูลแบบไม่สูญเสีย ให้ทำให้การแทนพัซเซิลซึ่งรวมคำตอบด้วยนั้นสั้นลง
  • ใช้เวลาประมาณ 20 นาทีต่อพัซเซิลบน RTX 4070 และทำได้ 34.75% บน ชุดฝึก, 20% บน ชุดประเมิน โดยมีจุดเด่นว่าเป็นแนวทางแบบโครงข่ายประสาทที่ใช้เฉพาะพัซเซิลเป้าหมายเพียงข้อเดียวเป็นข้อมูลฝึก
  • สถาปัตยกรรมถูกออกแบบโดยเน้น สมมูลเชิงแปรผัน ต่อการสลับลำดับตัวอย่าง การเรียงสับเปลี่ยนสี และการหมุน·สะท้อน พร้อมใช้การแทนแบบ multitensor ที่รวมเทนเซอร์หลายอันดับเข้าด้วยกัน
  • มันทำได้ดีในงานอย่างการจับคู่สี-ขั้นตอน การเติม การครอป การเชื่อมจุด และการย้ายระยะสั้น แต่ยังมีคอขวดในงานอย่างการนับตัวเลข การขยายแพตเทิร์นระยะไกล การหมุน·คัดลอก·ปรับขนาด และการวางแผนแบบเอเจนต์

ทดลองว่าแค่การบีบอัดอย่างเดียวจะแก้ ARC-AGI ได้ไหม

  • คำถามหลักคือ การบีบอัดข้อมูลแบบไม่สูญเสีย เพียงอย่างเดียวจะสร้างพฤติกรรมอันชาญฉลาดได้หรือไม่
  • CompressARC เป็นวิธีที่ทำงานกับพัซเซิล ARC-AGI โดยอาศัยเพียงฟังก์ชันวัตถุประสงค์ที่อิงการบีบอัด
  • มีข้อจำกัด 3 ข้อ
    • ไม่พรีเทรน: โมเดลเริ่มจากการสุ่มค่าเริ่มต้นและเรียนรู้ในช่วงอนุมาน
    • ไม่มีชุดข้อมูล: โมเดลหนึ่งตัวเรียนรู้จากพัซเซิล ARC-AGI เป้าหมายเพียงข้อเดียวและให้คำตอบออกมาเพียงหนึ่งข้อ
    • ไม่มีการค้นหา: ใช้เพียง gradient descent เป็นหลัก โดยแทบไม่มีการค้นหาในความหมายทั่วไป
  • ผลลัพธ์คือ 34.75% บนชุดฝึก และ 20% บนชุดประเมิน โดยแต่ละพัซเซิลใช้เวลาราว 20 นาที บน RTX 4070
  • มีการอธิบายว่านี่เป็นวิธีแบบโครงข่ายประสาทสำหรับ ARC-AGI ที่ใช้เฉพาะพัซเซิลเป้าหมายเป็นข้อมูลฝึกเป็นครั้งแรก

การตั้งโจทย์ของ ARC-AGI

  • ARC-AGI เป็นเบนช์มาร์ก AI ที่เปิดตัวในปี 2019 เพื่อทดสอบความสามารถในการอนุมาน กฎเชิงนามธรรม จากตัวอย่างจำนวนน้อยและทำให้ทั่วไปได้
  • แต่ละพัซเซิลให้ตัวอย่างอินพุต-เอาต์พุตหลายชุดและอินพุตทดสอบหนึ่งชุด โดยระบบต้องทายกริดเอาต์พุตสำหรับการทดสอบให้ถูกต้อง
  • ต่อหนึ่งพัซเซิลสามารถ ลองได้สองครั้ง และหากถูกอย่างน้อยหนึ่งครั้งจะได้ 1 คะแนน
  • สามารถเปลี่ยนขนาดของกริดเอาต์พุตและเลือกสีของทุกพิกเซลได้
  • พัซเซิลถูกออกแบบให้มนุษย์แก้ได้อย่างสมเหตุสมผล แต่ยากกว่าสำหรับเครื่อง
    • มนุษย์ทั่วไปแก้ชุดฝึกได้เฉลี่ย 76.2%
    • ผู้เชี่ยวชาญมนุษย์แก้ได้ 98.5%
  • พัซเซิลฝึก 400 ข้อจะง่ายกว่าที่เหลือ และมีไว้เพื่อให้เรียนรู้รูปแบบต่อไปนี้
    • ความเป็นวัตถุ: วัตถุจะไม่ปรากฏหรือหายไปโดยไม่มีเหตุผล
    • การมุ่งสู่เป้าหมาย: วัตถุบางอย่างทำงานเหมือนเอเจนต์ที่มีเจตนา
    • ตัวเลขและการนับ: ใช้คณิตศาสตร์พื้นฐาน เช่น จำนวนวัตถุ การจัดเรียง การเปรียบเทียบ การบวก·ลบ
    • เรขาคณิตและโทโพโลยี: รวมถึงการสะท้อน การหมุน การย้าย การแปลงรูป การรวม การทำซ้ำ และความต่างของระยะทาง
  • การแข่งขัน Kaggle ล่าสุดของ ARC Prize มีเงินรางวัลรวมสูงสุด มากกว่า 1 ล้านดอลลาร์ และรางวัลหลักมอบให้กับวิธีที่ทำได้ 85% บนโจทย์ลับ 100 ข้อ ภายใต้ข้อจำกัดการคำนวณ 12 ชั่วโมง

วิธีทำงานของ CompressARC

  • ใน CompressARC การแทนที่ถูกบีบอัดได้ด้วยจำนวนบิตที่ต่ำกว่าจะเชื่อมโยงกับคำตอบพัซเซิลที่แม่นยำกว่า
  • ระบบค้นหา การแทนแบบบีบอัด ที่เปลี่ยนพัซเซิลที่ยังไม่สมบูรณ์ให้เป็นพัซเซิลที่สมบูรณ์ และเมื่อคลายการบีบอัดการแทนนี้ก็จะสร้างทั้งพัซเซิลและคำตอบกลับมาได้
  • โครงข่ายประสาททำหน้าที่เป็น decoder
    • ไม่มีโครงข่าย encoder แยกต่างหาก
    • การเข้ารหัสถูกทำให้เกิดขึ้นผ่านการเรียนรู้ decoder ด้วย gradient descent ในช่วงอนุมาน
    • ค่าน้ำหนักที่เหมาะที่สุดและการตั้งค่าการกระจายของอินพุตจะทำหน้าที่เป็นการแทนแบบบิตที่บีบอัดซึ่งเก็บทั้งพัซเซิลและคำตอบ
  • หากอธิบายในภาษามาตรฐานของแมชชีนเลิร์นนิง จะมีขั้นตอนดังนี้
    • รับพัซเซิล ARC-AGI
    • สร้างโครงข่ายประสาท f ให้สอดคล้องกับจำนวนตัวอย่างและจำนวนสีที่สังเกตได้ของพัซเซิล
    • รับอินพุตสุ่มแบบปกติ z ~ N(μ, Σ) แล้วส่งออก logits สีของพิกเซลสำหรับทุกกริด
    • ทำให้ผลรวม cross-entropy ของกริดที่รู้ค่าแล้วต่ำที่สุด และละเลยกริดคำตอบ
    • ใส่ KL divergence penalty เพื่อให้ N(μ, Σ) ใกล้กับ N(0,1)
    • เก็บกริดคำตอบที่ถูกสร้างระหว่างการฝึกไว้ และเลือกคำตอบที่ปรากฏบ่อยที่สุดเป็นคำทำนายสุดท้าย
  • ถูกออกแบบให้มี สมมูลเชิงแปรผัน ต่อการเพิ่มข้อมูลทั่วไป เช่น การสลับลำดับคู่ข้อมูลอินพุต-เอาต์พุต การเรียงสับเปลี่ยนสี และการหมุน·สะท้อนเชิงพื้นที่

การอธิบายในมุมมองของการบีบอัด

  • การบีบอัดแบบไม่สูญเสียคือการแทนข้อมูลด้วยจำนวนบิตให้น้อยที่สุดเท่าที่จะทำได้ โดยยังต้องกู้คืนต้นฉบับได้อย่างถูกต้องจากการแทนแบบบิตนั้น
  • ใน ARC-AGI ตามหลักแล้วเราควรบีบอัดทั้งคู่พัซเซิลและคำตอบในฐานะสัญลักษณ์เดียวกัน แต่ในทางปฏิบัติเราไม่มีคำตอบเป็นอินพุตของ encoder และก็ไม่รู้การกระจายการสร้างพัซเซิลด้วย
  • มีการสมมุติว่ามีระบบบีบอัดที่ใช้งานได้จริงและมีประสิทธิภาพด้านบิตสำหรับชุดข้อมูล ARC-AGI
  • แม้จะไม่รู้การกระจาย p ก็ยังสามารถนึกถึงตัวบีบอัดแบบสากลที่ทำให้ความยาว len(f)+len(s) ของโปรแกรม f และอินพุต s ต่ำที่สุดได้
    • decoder จะรัน f(s) เพื่อกู้คืนต้นฉบับ
    • ตามทฤษฎีสารสนเทศเชิงอัลกอริทึม มันอาจด้อยประสิทธิภาพกว่าตัวบีบอัดเดิมเพียงเท่ากับความยาวของ f
    • แต่ในทางปฏิบัติ encoder ที่ต้องค้นหาในปริภูมิโปรแกรมนั้นไม่สามารถใช้งานได้จริง
  • CompressARC เลือกใช้ forward pass ของโครงข่ายประสาท เป็นโปรแกรมคงที่แทนการค้นหาในปริภูมิโปรแกรม
    • s ประกอบด้วยค่าน้ำหนัก θ, อินพุต z, และค่าปรับแก้เอาต์พุต ε
    • θ และ z คำนวณความยาวรหัสในมุมมองของ Relative Entropy Coding (REC) ส่วน ε คำนวณในมุมมองของ arithmetic coding
    • ความยาวรหัสของค่าปรับแก้เอาต์พุตจะเท่ากับ cross-entropy รวมของกริดที่รู้ค่าแล้ว
    • ความยาวรหัสของ z จะกลายเป็น KL(pz || qz) โดยกำหนด qz = N(0,I)
  • ความยาวรหัสรวมมีรูปแบบเดียวกับ loss ของ VAE
    • ความคลาดเคลื่อนในการสร้างคืน
    • KL สำหรับ z
    • การทำให้ decoder เป็นระเบียบ
  • การติดตั้งใช้งาน CompressARC มีการปรับจากการอธิบายนี้ โดยรวมการตัดบางส่วนของการทำให้เป็นระเบียบ สมมูลเชิงแปรผัน และการแยกอิสระระหว่างพัซเซิล

สถาปัตยกรรม: multitensor และสมมูลเชิงแปรผัน

  • คุณสมบัติที่สำคัญที่สุดของสถาปัตยกรรมคือ สมมูลเชิงแปรผัน
    • หากอินพุต z ถูกแปลง เอาต์พุตพัซเซิล ARC-AGI ก็ควรถูกแปลงในแบบเดียวกัน
    • ตัวอย่างของการแปลงได้แก่ การจัดเรียงคู่ข้อมูลอินพุต-เอาต์พุตใหม่ การสับสี และการกลับ·หมุน·สะท้อนกริด
  • การออกแบบเริ่มจากสถาปัตยกรรมพื้นฐานที่สมมาตรอย่างสมบูรณ์ แล้วค่อยเพิ่ม เลเยอร์ไม่สมมาตร เพื่อให้ได้ความสามารถที่ไม่สมมูลเชิงแปรผันตามต้องการ โดยค่อย ๆ ทำลายสมมาตรที่ไม่จำเป็นทีละอย่าง
  • ข้อมูลภายในไหลผ่านในรูปแบบที่เรียกว่า multitensor
    • เป็นชุดของเทนเซอร์หลายตัวที่มีอันดับและ shape ต่างกัน
    • มิติจะเป็นส่วนย่อยของ [n_examples, n_colors, n_directions, height, width, n_channels] ได้สูงสุด
    • จะคงมิติ channel ไว้เสมอ
    • ใช้กฎเพื่อลดจำนวนเทนเซอร์ที่ถูกต้องตามรูปแบบภายใน multitensor เหลือ 18 ตัว
  • พัซเซิลสามารถแทนด้วยเทนเซอร์ [examples, colors, height, width, channel]
    • channel ใช้เลือกกริดอินพุตหรือเอาต์พุต
    • width และ height แทนตำแหน่งพิกเซล
    • มิติ color เก็บการแทนแบบ one-hot ของสีพิกเซล
  • สถาปัตยกรรมทั้งหมดมีลำดับการไหลดังนี้
    • เริ่มจากพารามิเตอร์การกระจายของ z
    • Decoding Layer
    • ทำซ้ำ 4 รอบของ Multitensor Communication, Softmax, Directional Cummax, Directional Shift, Directional Communication, Nonlinear, Normalization
    • ส่งออกการกระจายของพัซเซิล ARC-AGI ผ่าน Linear Heads

ผลลัพธ์ด้านประสิทธิภาพ

  • การฝึกใช้ Adam เป็นเวลา 2000 iterations
    • อัตราการเรียนรู้ 0.01
    • β1 = 0.5, β2 = 0.9
  • ผลลัพธ์บนชุดฝึก
    • 100 iteration: Pass@2 2.25%
    • 500 iteration: Pass@2 27.5%
    • 1000 iteration: Pass@2 31.75%
    • 2000 iteration: Pass@2 34.75%
    • Pass@1000 ที่ 2000 iteration คือ 52.75%
  • ผลลัพธ์บนชุดประเมิน
    • 100 iteration: Pass@2 1.25%
    • 500 iteration: Pass@2 15%
    • 1000 iteration: Pass@2 19.25%
    • 2000 iteration: Pass@2 20%
    • Pass@1000 ที่ 2000 iteration คือ 33.75%
  • เนื่องจากการให้คะแนนของ ARC-AGI อนุญาตให้ลองได้สองครั้ง ผลลัพธ์หลักในบทความจึงอ้างอิงตาม Pass@2

พัซเซิลที่แก้ได้และพัซเซิลที่ยาก

  • CompressARC จะจับกฎได้มากที่สุดเท่าที่ความสามารถของมันเอื้อ แต่จะติดคอขวดเมื่อเจองานที่สถาปัตยกรรมยังไม่มีความสามารถรองรับ
  • ตัวอย่างงานที่ทำได้มีดังนี้
    • กำหนดขั้นตอนเฉพาะให้กับสีแต่ละสี
    • การเติม
    • การครอป
    • การเชื่อมจุด รวมถึงเส้นทแยง 45 องศา
    • การตรวจจับสีเดียวกัน
    • การระบุการอยู่ติดกันของพิกเซล
    • การกำหนดสีแยกตามตัวอย่าง
    • การระบุส่วนย่อยของรูปทรง
    • การย้ายระยะสั้น
  • ตัวอย่างงานที่ยังยากก็ชัดเจนเช่นกัน
    • จับคู่สีสองสีให้สอดคล้องกัน
    • ทำซ้ำการกระทำเดียวกันหลายครั้งต่อเนื่อง
    • การย้าย การหมุน การสะท้อน การปรับขนาด การคัดลอกภาพ
    • การตรวจจับคุณสมบัติเชิงโทโพโลยีอย่างการเชื่อมต่อกัน
    • การวางแผนและจำลองพฤติกรรมของเอเจนต์
    • การขยายแพตเทิร์นระยะไกล
  • ในพัซเซิลฝึก 28e73c20 จำเป็นต้องขยายแพตเทิร์นจากขอบเข้าสู่ศูนย์กลาง แต่ CompressARC ทำได้เพียงการขยายระยะสั้น และเมื่อเข้าใกล้ศูนย์กลางจะอาศัยการเดา

กรณีศึกษา: Color the Boxes

  • ในวิธีแก้แบบมนุษย์ จะสังเกตได้ว่าอินพุตถูกแบ่งออกเป็นกล่อง และในเอาต์พุตกล่องเหล่านั้นถูกระบายสี
    • มุมจะเป็นสีดำเสมอ
    • ตรงกลางจะเป็นสี magenta เสมอ
    • กล่องด้านข้างจะถูกกำหนดสีตามทิศทางคือ ด้านบนสีแดง ด้านล่างสีน้ำเงิน ด้านขวาสีเขียว ด้านซ้ายสีเหลือง
  • ความคืบหน้าของการเรียนรู้ของ CompressARC เปลี่ยนไปเป็นช่วง ๆ
    • 50 step: สะท้อนว่ามีแถว·คอลัมน์สีฟ้าอ่อนของอินพุตที่สอดคล้องกับเอาต์พุตด้วย
    • 150 step: แสดงรูปแบบเอาต์พุตที่พิกเซลใกล้กันมีสีคล้ายกัน
    • 200 step: เลียนแบบก้อนสีที่ใหญ่ขึ้นซึ่งถูกแบ่งด้วยขอบสีฟ้าอ่อน และก้อนมุมสีดำ
    • 350 step: ทายสีของกล่องตามทิศทางอิงศูนย์กลางได้โดยรวมค่อนข้างถูก
    • 1500 step: เอาต์พุตเกือบถูกเกลาเรียบร้อย แต่ในตัวอย่างยังมีข้อผิดพลาดเล็กน้อยที่พบไม่บ่อย
  • เมื่อวิเคราะห์การกระจาย z ที่เรียนรู้แล้ว พบว่ามันเข้ารหัส ตารางจับคู่สี-ทิศทาง และตำแหน่งของเส้นแบ่งแถว·คอลัมน์
  • มีเพียงสี่เทนเซอร์ที่ยังคงเก็บปริมาณข้อมูลไว้
    • (examples, height, channel): เก็บตำแหน่งแถวสีฟ้าอ่อนของแต่ละตัวอย่าง
    • (examples, width, channel): เก็บตำแหน่งคอลัมน์สีฟ้าอ่อนของแต่ละตัวอย่าง
    • (direction, color, channel): เก็บความสอดคล้องระหว่างทิศทางกับสี
    • (color, channel): แยกบทบาทพิเศษของ magenta และสีฟ้าอ่อน

กรณีศึกษาเพิ่มเติมและการวิเคราะห์การแทน

  • พัซเซิล Bounding Box 6d75e8bb

    • วิธีแก้แบบมนุษย์คือวาดกล่องสีฟ้าอ่อนที่เล็กที่สุดซึ่งครอบรูปทรงสีแดง
    • CompressARC ที่ 100 step แสดงร่องรอยว่าจับ common bounding box ได้ และที่ 150 step ก็หาคำตอบเจอแล้ว จากนั้นการเรียนรู้ต่อก็ช่วยเกลาคำตอบ
    • เทนเซอร์หลักที่ยังอยู่คือ (examples, height, channel), (examples, width, channel), (color, channel)
    • เทนเซอร์แถว·คอลัมน์บ่งบอกแถวและคอลัมน์ที่มีพิกเซลสีฟ้าอ่อนมาก แต่ยังไม่ชัดเจนว่าระบบรู้ตำแหน่งขอบเขตได้อย่างไร
  • พัซเซิล Center Cross 41e4d17e

    • จากศูนย์กลางของฟองสีน้ำเงินในอินพุต ให้ลากลำแสงสี magenta ขึ้น ลง ซ้าย ขวา และสีของฟองต้องทับอยู่เหนือเส้นลำแสง
    • CompressARC จะคัดลอกอินพุตก่อน จากนั้นแถว·คอลัมน์สี magenta จะปรากฏขึ้นและค่อย ๆ คงตัวในตำแหน่งที่ถูกต้อง
    • ไม่พบข้อผิดพลาดแบบที่มนุษย์อาจทำ คือวาดลำแสงทับบนฟองผิดตำแหน่ง
    • เทนเซอร์ที่ยังอยู่คือ (examples, height, width, channel) และ (color, channel)
    • (examples, height, width, channel) เข้ารหัสศูนย์กลางของฟอง

แนวคิดเพื่อการปรับปรุง

  • แทนที่จะบีบอัดแยกทีละพัซเซิล อาจบีบอัดทั้งชุดข้อมูล ARC-AGI พร้อมกันเพื่อแชร์การคำนวณระหว่างพัซเซิลและได้อคติแบบอุปนัยที่ดีกว่า
    • มีการพิจารณาแนวทางใช้ค่าน้ำหนักโครงข่ายชุดเดียวกับทุกพัซเซิล แล้วให้ perturbation แบบจำกัดเฉพาะพัซเซิล
    • ยังเสนอแนวทาง hypernetwork ที่เรียนรู้ embedding มิติสูงของแต่ละพัซเซิล แล้วเรียนรู้การแมปเชิงเส้นจาก embedding นี้ไปเป็นค่าน้ำหนักของโครงข่าย
    • แต่แนวทางนี้อาจทำให้รอบการวิจัยช้าลง จึงยังไม่ได้ลอง
  • สำหรับงานคัดลอกรูปทรง เลเยอร์สาย convolution อาจมีประโยชน์
    • กริดหนึ่งอาจเก็บรูปทรง ส่วนอีกกริดหนึ่งระบุตำแหน่งที่จะคัดลอก แล้ว convolution สามารถสร้างผลการคัดลอกได้
    • ปัญหาคือ convolution ปกติมักขยาย noise มากกว่าสัญญาณ
    • tropical convolution ทำงานได้ดีในพัซเซิลของเล่น แต่ยังไม่เพียงพอสำหรับพัซเซิลฝึกของ ARC-AGI
  • ยังมีการพิจารณาใช้ KL floor เพื่อบรรเทา posterior collapse
    • มีการสังเกตว่าเมื่อ KL ของเทนเซอร์สำคัญตกลงเป็น 0 แล้ว มักไม่สามารถฟื้นกลับมาได้อีก
    • หากคงค่า KL ให้อยู่สูงกว่า 0 ชั่วระยะหนึ่ง ก็อาจทำให้โครงข่ายเรียนรู้ที่จะใช้ข้อมูลนั้น
    • มีการทำไว้แล้ว แต่ยังไม่เห็นกรณีที่เทนเซอร์ฟื้นกลับมา จึงอาจต้องออกแบบตาราง KL floor ใหม่
  • ในการติดตั้งใช้งานจริงไม่ได้ใช้การทำให้เป็นระเบียบ
    • ในการตั้งโจทย์อย่างเป็นทางการ มันเป็นองค์ประกอบที่ใช้วัดความซับซ้อนของ f และถูกรวมอยู่ในการอธิบาย CompressARC
    • ผู้เขียนประเมินว่าการตัดมันออกจากการติดตั้งใช้งานนั้นค่อนข้างห้าวหาญ

งานที่เกี่ยวข้องและตำแหน่งเชิงวิจัย

  • แนวคิดเรื่องความสมมูลกันระหว่างการบีบอัดกับความฉลาดได้แรงบันดาลใจจาก Hutter Prize
    • Hutter Prize มอบรางวัลให้ระบบที่บีบอัดไฟล์ข้อความ Wikipedia ได้ดีที่สุด และเชื่อมโยงความสามารถในการบีบอัดข้อมูลเข้ากับความฉลาด
  • พื้นฐานเชิงทฤษฎีรวมถึง Solomonoff Induction, Kolmogorov Complexity และ Minimum Description Length
  • ในมุมมองทฤษฎีสารสนเทศ Relative Entropy Coding คือแกนสำคัญ
    • แนวคิดคือหากสามารถจำกัด KL divergence ได้ ก็ย่อมสร้างอัลกอริทึมการบีบอัดได้ และเป็นการทำให้นามธรรมของปัญหาการสร้างรหัสไบนารีจริง
  • ในมุมมองของ VAE, decoder ทำหน้าที่เป็นอัลกอริทึมคลายการบีบอัด
    • แม้จะพิจารณา neural Turing machine ที่มีความสามารถทั่วไปมากกว่าได้ แต่เพราะมันไม่เหมาะกับการหาค่าเหมาะที่สุดด้วย gradient descent จึงเลือกแนวทาง VAE
    • การถ่วงน้ำหนัก reconstruction loss แบบ beta-VAE ใช้ได้ผลดีในกรณีนี้
  • วิธีแก้ ARC-AGI ที่มีอยู่เดิมมักใช้ LLM, การเพิ่มข้อมูล, ชุดข้อมูลทดแทน, การเรียนรู้ช่วงทดสอบ, และการค้นหาโปรแกรมด้วยภาษาที่ออกแบบเฉพาะโดเมน
  • CompressARC เน้นว่าเป็นวิธีที่ใช้ deep learning โดยไม่ต้องพรีเทรนภายนอกและไม่ต้องค้นหาขนาดใหญ่
  • โค้ดของโปรเจกต์เปิดเผยไว้บน GitHub

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

 
GN⁺ 2025-03-05
ความคิดเห็นจาก Hacker News
  • การฝึกล่วงหน้าขนาดใหญ่ให้ความรู้สึกขัดกับเจตนาของความเป็นทั่วไป
    ถ้าสร้างเครื่องจักรทั่วไปที่สามารถสังเคราะห์โปรแกรมเพื่อดูตัวอย่างแค่ 3 ตัวแล้วทำนายตัวที่ 4 ได้ นั่นก็เท่ากับแก้ปัญหาการสังเคราะห์ออราเคิลได้แล้ว
    ในทางกลับกัน ถ้าฝึกเครือข่ายด้วยความรู้ทั้งหมดของมนุษยชาติ รวมถึงการสร้างปริศนา แล้วปรับละเอียดด้วย 99% ของชุดข้อมูล จากนั้นให้ลองหลายครั้งกับ 1% สุดท้าย นั่นก็ใกล้เคียงกับการสร้างเครื่องบีบอัดราคาแพงที่บีบอัดจิตวิทยาของผู้ออกข้อสอบมากกว่า

    • นี่เผยให้เห็นมุมมองที่ค่อนข้างไร้เดียงสาเกี่ยวกับ ความรู้ และ ความเข้าใจ
      มันตั้งสมมติฐานว่ามีขอบเขตแบบเพลโตของตรรกะและเหตุผลที่ AGI เพียงแค่ต้องเชื่อมต่อเข้าไปก็พอ แต่หากไม่มีบริบท ก็ไม่มีทั้งความหมาย การอนุมาน หรือแม้แต่ตรรกะ
      การจับคู่รูปแบบของรูปทรงต้องมีแนวคิดเรื่องรูปทรง และสิ่งนี้ตั้งอยู่บนแนวคิดเรื่องความสัมพันธ์เชิงพื้นที่ ซึ่งก็ยังตั้งอยู่บนแนวคิดเรื่องพื้นที่ 2 มิติหรือ 3 มิติอีกที
      เหตุผลที่สิ่งเหล่านี้ดูเป็นเรื่องธรรมดาและแฝงอยู่โดยปริยาย ก็เพราะมันฝังลึกอยู่ในสภาพแวดล้อมที่จิตมนุษย์วิวัฒนาการมาเพื่อแปลความหมายตลอดหลายร้อยล้านปี และสภาพแวดล้อมที่เราเสพและประมวลผลมาตลอดหลายสิบปี
      บททดสอบที่แท้จริงของ AGI คือความสามารถในการหลอมรวมข้อมูลที่แตกต่างกันให้เป็นโลกทัศน์ที่สอดคล้องกัน และการฝึกล่วงหน้าก็กำลังทำงานนั้นอยู่โดยพฤตินัย
      แม้แต่สติปัญญาที่มีความสามารถเช่นนั้น ก็มีความเป็นไปได้สูงว่าจำเป็นต้องมีสมมติฐานเชิงโครงสร้างเกี่ยวกับโลกที่มันจะถูกวางลงไป “โหลดไว้ล่วงหน้า” คล้ายกับบริเวณสมองที่ถนัดด้านความสัมพันธ์เชิงพื้นที่ ภาษา และการตีความประสาทสัมผัส
    • ผมมองว่าไม่ขัดกับเจตนาของปัญญาทั่วไป หากเครื่องจักรสามารถตัดสินใจได้เองว่าจะเรียนรู้อย่างไรเมื่อเจอปัญหาประเภทที่ไม่เคยเห็นมาก่อน หรือก็คือวิธี ปรับน้ำหนัก
      มนุษย์เองเมื่ออยากทำอะไรให้เก่งขึ้น ก็หาวิธีฝึกงานนั้น แล้วเรียนรู้ในแบบที่ทำให้ดีขึ้นจริง
    • ใช่ ปัญหาของพาราไดม์ปัจจุบันจำนวนมากก็อยู่ตรงนั้น และมันไม่เปิดทางให้เกิด การทั่วไปอย่างแท้จริง
      เพราะฉะนั้นจึงมีบางคนที่มองว่า AGI จะยังไม่เกิดขึ้นในระยะอันใกล้: https://www.lycee.ai/blog/why-no-agi-openai
    • ผมคิดว่าการเรียนรู้ส่วนใหญ่ของมนุษย์มาจาก อินพุตทางประสาทสัมผัส เป็นเวลาหลายปี
      ก็เลยสงสัยว่ามีเหตุผลอะไรที่เราควรคาดหวังให้เครื่องจักรทำการทั่วไปได้ดีโดยไม่มีความรู้พื้นหลัง
    • ARC เทียบเท่ากับการแจกแจงของทูเพิลภาพ 4 ภาพ และถ้าไม่มี การแจกแจงก่อนหน้า แม้จะให้ 3 ภาพแรกมา ภาพสุดท้ายก็จะเป็นการแจกแจงสม่ำเสมอ
  • นึกถึงพอดแคสต์ Lex Fridman ที่มี Marcus Hutter
    Joshua Bach ก็เคยนิยามสติปัญญาว่าเป็นความสามารถในการจำลองความเป็นจริงได้อย่างแม่นยำ ผมเลยสงสัยว่า การบีบอัดแบบไม่สูญเสียข้อมูล เองคือสติปัญญาหรือไม่ หรือเป็นโมเดลที่เหมาะสมที่สุดกันแน่ ระหว่างสองอย่างนี้มีความแตกต่างไหม?
    https://www.youtube.com/watch?v=E1AxVXt2Gv4

    • อ้างอิงเพิ่มเติม François Chollet ผู้สร้าง ARC-AGI เคยโต้แย้งในพอดแคสต์ Lex Fridman ปี 2020 ว่า สติปัญญาไม่ใช่การบีบอัด: https://youtu.be/-V-vOXLyKGw
    • สติปัญญาคือความสามารถในการหา โมเดลเรียบง่าย ที่ทำนายความเป็นจริงอันซับซ้อนได้ด้วยความแม่นยำสูงและความหน่วงต่ำ
      ดังนั้นจึงต้องดู 4 แกน ได้แก่ ความเรียบง่าย ความแม่นยำ ความหน่วง และความซับซ้อนของความเป็นจริง และปัญญาประดิษฐ์จะเป็นพื้นที่บางส่วนภายในสเปซนี้
      ที่จริงมีการทดสอบง่าย ๆ เพื่อแบ่งแยกสติปัญญาอยู่ นั่นคืออ่านโค้ดฟังก์ชัน C แล้วบอกได้หรือไม่ว่าการเปลี่ยนอินพุตจะส่งผลต่อเอาต์พุตอย่างไร
      สำหรับอัลกอริทึมที่ซับซ้อน จำเป็นต้องสร้างโมเดลภายใน ไม่อย่างนั้นจะจำลองในหัวได้อย่างไรว่า qsort ทำงานกับรายการหนึ่งล้านรายการอย่างไร
      วิธีเดียวกันนี้ยังใช้แยกได้ว่านักเรียนแกล้งทำเป็นเข้าใจหรือเข้าใจจริง
      บททดสอบที่ยากกว่านั้นคือในทางกลับกัน การสร้างอัลกอริทึมขึ้นมาจากตัวอย่างอินพุต/เอาต์พุตเพียงไม่กี่ชุด
    • ถ้าจะเชื่อมโยงแบบเร็ว ๆ โดยไม่ดูพอดแคสต์ทั้งตอน จุดยืนของ Hutter ปรากฏออกมาในรูปของ Hutter Prize[1] และในบางแง่ก็มีเป้าหมายคล้ายกับ ARC-AGI มาก แต่เขามองการบีบอัดเองเป็นหมุดหมายบนเส้นทางสู่สติปัญญา
      [1] http://prize.hutter1.net/
  • ผมพยายามสกัดแก่นของแนวทางนี้ออกมา แต่ดูเหมือนมันถูกบดบังด้วยรายละเอียดที่ไม่ใช่สาระสำคัญ เช่น การเลือกวิธีบีบอัดเฉพาะแบบหรือ prior distribution
    นวัตกรรมหลักดูจะอยู่ที่การสร้าง “โมเดล” ที่สามารถทำ optimization ด้วย gradient descent ได้ และทำให้จุดเหมาะที่สุดของมันกลายเป็นโมเดลที่ “เรียบง่าย” ที่สุดซึ่งจดจำความสัมพันธ์อินพุต-เอาต์พุตได้
    ในที่นี้ “ความเรียบง่าย” หมายถึงอย่างเป็นรูปธรรมว่า “สามารถบีบอัดได้อย่างมีประสิทธิภาพ” แต่โดยทั่วไปน่าจะใกล้เคียงกับการที่ model complexity ต่ำที่สุดเท่าที่เป็นไปได้
    สิ่งนี้แตกต่างอย่างชัดเจนจาก machine learning มาตรฐาน ปกติเราจะเลือกโครงสร้างโมเดลและพารามิเตอร์ความซับซ้อนต่าง ๆ ก่อนเพื่อกำหนดงบประมาณความซับซ้อน จากนั้นจึงฝึกด้วยข้อมูลเพื่อหาคำตอบที่จดจำความสัมพันธ์อินพุต-เอาต์พุตได้ดี
    วิธีใหม่นี้กลับด้าน machine learning คือยังคงจดจำคู่อินพุต-เอาต์พุตไว้ แต่ optimize เพื่อลดความซับซ้อนของโมเดลให้มากที่สุด
    การที่สามารถ generalize ได้จากตัวอย่างฝึกเพียง 2 ตัวอย่างนั้นน่าทึ่งจริง ๆ และผมคิดว่ามันชี้อย่างหนักแน่นไปยังทิศทางที่ถูกต้องในการจัดการกับ generalization
    เส้นทางที่ผู้เขียนมาถึงโครงสร้างนี้คือ information theory แต่ผมไม่แน่ใจว่านั่นคือสาระสำคัญหรือไม่
    แก่นดูจะใกล้เคียงกับการตระหนักว่า แทนที่จะหาโมเดลที่ดีที่สุดภายใต้งบประมาณความซับซ้อนคงที่ เราสามารถหา โมเดลที่มีความซับซ้อนต่ำที่สุดเท่าที่เป็นไปได้ ได้

    • แนวคิดการลดความซับซ้อนไม่ได้ใหม่อย่างที่เห็น
      ใน loss objective function ของ optimization มักมีการเพิ่ม regularization term และ regularization แบบนี้ก็มักตีความได้ว่าเป็นการลงโทษความซับซ้อน
      ด้วย duality เราสามารถมอง objective function เดียวกันได้หลายแบบ: ลด weighted sum ของ data error กับ complexity, หรือลด complexity โดยคุม data error ให้อยู่ต่ำกว่าขีดจำกัด, หรือลด data error โดยคุม complexity ให้อยู่ต่ำกว่าขีดจำกัด เป็นต้น
      regularization แบบคลาสสิกเช่นนี้ดูเหมือนช่วงหลังจะไม่ค่อยเป็นกระแสแล้ว
      ผมไม่คิดว่ามันมีบทบาทใหญ่ในโครงสร้าง Transformer ส่วนใหญ่ แต่ถ้ามันกลับมาในรูปแบบใดรูปแบบหนึ่งก็น่าสนใจ
      นอกจากนั้น แนวทางนี้มีองค์ประกอบใหม่มากเกินไปจนแยกได้ยากว่าอะไรคือสิ่งที่ทำให้ประสิทธิภาพดีจริง ๆ
      ตัวอย่างเช่น โครงสร้าง neural network เองก็ดูเหมือนถูกปรับแต่งอย่างพิถีพิถันเพื่อเพิ่มประสิทธิภาพกับโจทย์ประเภท ARC-AGI และยังไม่เห็นชัดว่าจะ generalize ไปไกลกว่านั้นอย่างไร
    • ผมคิดว่าพูดถูกเรื่องส่วนประกอบหลัก แต่รู้สึกว่าผลลัพธ์นี้ค่อนข้าง เฉพาะทางสำหรับ ARC-AGI
      แต่ละ puzzle มีรูปแบบคล้ายกัน และข้อมูลที่เปลี่ยนไปภายใน puzzle ก็แทบจะตรงกับข้อมูลที่จำเป็นสำหรับอนุมานกฎพอดี
      เมื่อลดปริมาณข้อมูลที่ต้องใช้ในการอธิบายกฎ codec ก็แทบไม่มีทางเลือกนอกจากย่อให้เหลือสิ่งที่ตัวกฎเองทำอยู่ เพื่อให้การสูญเสียข้อมูลน้อยที่สุด
      ถ้าแต่ละ puzzle มี noise หรือข้อมูลแบบสุ่มมากกว่านี้ เทคนิคนี้น่าจะใช้ไม่ได้
      แน่นอนว่าถึงจุดหนึ่ง puzzle ก็ไม่ควรกลายเป็น “การค้นหาว่า puzzle อยู่ตรงไหน” แต่ในที่นี้มันใช้ได้เพราะแต่ละตัวอย่างเป็นข้อมูลบริสุทธิ์เกี่ยวกับตัว puzzle เอง
  • น่าสนใจ ผมเริ่มคิดมากขึ้นเรื่อย ๆ ว่าอนาคตของ machine learning อาจเป็นทิศทางที่มี “machine learning” ในความหมายที่เราคุ้นเคยน้อยลงเสียอีก
    คือ pretraining, data, search น้อยลง และมี direct representation, symbolic processing, constraint satisfaction, meta-learning มากขึ้น
    สิ่งที่จะจำเป็นน้อยลง เช่น pretraining และ data นั้นสกปรก เหวี่ยงกว้าง และเกิดขึ้นโดยบังเอิญ
    ถ้าพึ่งพาสิ่งเหล่านั้น ก็จะขึ้นกับคุณภาพข้อมูลเสมอ ซึ่งก็ไม่เป็นไรหากเป้าหมายคือ data mining แต่ไม่เหมาะกับเป้าหมายในการ model สาเหตุพื้นฐานของข้อมูล
    ตามที่ผมเข้าใจ พวกเขาคล้ายกับพยายามเผย minimum representation ของพื้นที่คำตอบ/ปัญหา
    ด้วย equivariance พวกเขากำลังติดตามโครงสร้างจริงของปัญหา และแทนที่จะหวังว่าจะจับมันได้โดยบังเอิญจากตัวอย่างการแก้จำนวนมาก ก็สกัดสิ่งที่ใกล้กับ representation พื้นฐานจริงของ puzzle และวิธีแก้ออกมา

  • เป็นเอกสารและคำอธิบายที่ยอดเยี่ยม สอดคล้องกับการใคร่ครวญของผมเองด้วย เลยดีใจ
    ผมมองว่า “สติปัญญาคือการบีบอัดข้อมูลให้เป็น representation ที่ลดทอนไม่ได้

  • ถ้า ARC-AGI เป็น benchmark ที่ทดสอบความสามารถในการอนุมานกฎนามธรรมจากตัวอย่างจำนวนน้อยที่สุดและ generalize ได้ สุดท้ายก็เท่ากับนิยามสติปัญญาว่าเป็นความสามารถในการบีบอัดข้อมูลให้เป็นชุดกฎ
    ถ้าอย่างนั้นการบอกว่า compression ทำงานนั้นก็ถูกแล้ว

    • นี่ไม่ได้เป็นการวนตรรกะหรือชัดเจนในตัวเองอย่างที่กล่าวอ้าง
      ผมสงสัยว่าคุณเคยลองแก้โจทย์ ARC-AGI เองหรือไม่
      โจทย์เหล่านี้ค่อนข้างละเอียดอ่อน และทดสอบ แนวคิดนามธรรม หลากหลายมาก
      อ้างอิงว่า o1-preview ได้ 21% ในการประเมินสาธารณะ ส่วนแนวทางในบทความต้นฉบับได้ 34%
  • เปเปอร์ของ Schmidhuber ที่เกี่ยวข้องอยู่บ้าง: https://arxiv.org/abs/0812.4360

  • ถ้าพูดว่า “ประมวลผลแต่ละ puzzle บน RTX 4070 ประมาณ 20 นาที” ก็หมายความว่า challenge 100 ข้อจะใช้เวลา 33.3 ชั่วโมง
    ซึ่งเกินเป้าหมายของ challenge ที่ 12 ชั่วโมง แต่ตัวแนวทางเองก็ค่อนข้างเจ๋ง

  • ถ้าไม่นับการออกแบบโครงสร้างอย่างพิถีพิถันมาก ๆ แล้ว นี่ดูแทบจะเป็นแนวทาง Bayesian deep learning มาตรฐาน