2 คะแนน โดย GN⁺ 2024-05-02 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

การแนะนำ Kolmogorov-Arnold Networks (KANs)

คำจำกัดความและคุณลักษณะของ KAN

  • Kolmogorov-Arnold Networks (KANs) เป็นทางเลือกที่มีศักยภาพสูงสำหรับ Multi-Layer Perceptrons (MLPs)
  • KANs มีพื้นฐานทางคณิตศาสตร์ที่แข็งแกร่งเช่นเดียวกับ MLPs
    • MLPs มีพื้นฐานมาจากทฤษฎีการประมาณแบบสากล (universal approximation theorem)
    • KANs มีพื้นฐานมาจากทฤษฎีการแทนที่ของ Kolmogorov-Arnold (Kolmogorov-Arnold representation theorem)
  • KANs และ MLPs เป็นคู่กัน (dual)
    • KANs มีฟังก์ชันการกระตุ้น (activation function) อยู่ที่ขอบ (edge)
    • MLPs มีฟังก์ชันการกระตุ้น (activation function) อยู่ที่โหนด (node)
  • ด้วยการเปลี่ยนแปลงที่เรียบง่ายนี้ KANs แสดงผลลัพธ์ที่ดีกว่า MLPs ในด้าน ความแม่นยำ (accuracy) และ ความสามารถในการตีความ (interpretability) (บางครั้งดีกว่าอย่างมาก)

ความแม่นยำของ KAN

  • KANs แสดงการสเกลได้เร็วกว่า MLPs
  • KANs มีความแม่นยำสูงกว่า MLPs แม้จะใช้พารามิเตอร์น้อยกว่า
  • ตัวอย่าง
    • การฟิตสูตรเชิงสัญลักษณ์ (symbolic formula fitting)
    • การฟิตฟังก์ชันพิเศษ (special function fitting)
    • การแก้สมการเชิงอนุพันธ์บางส่วน (PDE)
    • การหลีกเลี่ยง catastrophic forgetting

ความสามารถในการตีความของ KAN

  • KANs สามารถแสดงผลได้อย่างเป็นภาพได้อย่างเป็นธรรมชาติ
  • KANs ให้ความสามารถในการตีความและการโต้ตอบได้ในมิติที่ MLPs ทำไม่ได้
  • การใช้ KANs อาจช่วยให้ค้นพบกฎวิทยาศาสตร์ใหม่
  • ตัวอย่าง
    • การตีความเชิงสัญลักษณ์
    • การค้นพบกฎคณิตศาสตร์ของปม (knot)
    • การค้นพบกฎฟิสิกส์ของ Anderson localization
    • การตีความกระบวนการฝึกของ KAN แบบ 3 ชั้น

วิธีการติดตั้ง

  • สามารถติดตั้ง pykan ได้ผ่าน pypi หรือ github
  • มีขั้นตอนการติดตั้งผ่าน github
  • มีขั้นตอนการติดตั้งผ่าน pypi
  • ระบุข้อกำหนดและวิธีการติดตั้งข้อกำหนด

ข้อกำหนดด้านการคำนวณ

  • ตัวอย่างใน tutorial โดยทั่วไปรันได้บน CPU ตัวเดียวในเวลาไม่ถึง 10 นาที
  • ตัวอย่างทั้งหมดใน paper รันได้บน CPU ตัวเดียวในเวลาไม่ถึง 1 วัน
  • การฝึก KANs สำหรับ PDE มีต้นทุนการคำนวณสูงสุดและอาจใช้เวลาหลายชั่วโมงถึงหลายวันบน CPU ตัวเดียว
  • ใช้ CPU เพื่อฝึกโมเดลด้วยการทำ parameter sweep เพื่อให้ได้ Pareto Frontier
  • แนะนำให้ใช้ GPU หากขนาดงานค่อนข้างใหญ่

เอกสาร

  • เอกสารสามารถพบได้จาก URL ที่เชื่อมโยง

บทช่วยสอน

  • เริ่มต้นเร็ว: เริ่มด้วยโน้ตบุ๊ก hellokan.ipynb
  • เดโมเพิ่มเติม: ใน tutorials จะมีโน้ตบุ๊กสอนเพิ่มอีกมาก

การอ้างอิง

  • มีแนวทางการอ้างอิง paper

ติดต่อ

  • หากมีคำถาม สามารถติดต่อได้ที่ zmliu@mit.edu

ความคิดเห็นของ GN⁺

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

  • ใน MLPs ความแตกต่างที่สำคัญคือการวางฟังก์ชันการกระตุ้นที่โหนด ในขณะที่ KANs วางที่ขอบ ประเด็นนี้ทำให้เกิดการเปลี่ยนแปลงสำคัญของโครงสร้างเครือข่ายและวิธีการเรียนรู้ จึงควรมีการวิเคราะห์อย่างละเอียดเพิ่มเติม

  • ความสามารถในการตีความของ KANs อาจช่วยแก้ปัญหา black box ใน AI ได้ และมีแนวโน้มที่น่าสนใจในการค้นพบกฎทางวิทยาศาสตร์ใหม่ ๆ อย่างไรก็ตาม เนื่องจากมีงานวิจัยด้าน AI ที่ตีความได้อยู่มากแล้ว จึงอาจจำเป็นต้องชี้ให้เห็นความได้เปรียบเชิงเอกลักษณ์ของแนวทางนี้ให้ชัดเจน

  • ตัวอย่างใน paper ส่วนใหญ่จำกัดอยู่เฉพาะด้านคณิตศาสตร์และวิทยาศาสตร์เป็นหลัก คำถามว่าผลงานของ KANs จะสามารถทดแทน MLPs ในโดเมนต่างๆ เช่น ภาพและภาษาธรรมชาติได้หรือไม่ยังต้องการการวิจัยต่อไป

  • การกำหนดยุทธวิธีที่คล้ายกับ KANs ได้แก่ Capsule Networks และ Graph Neural Networks การเปรียบเทียบกับงานเหล่านี้จะช่วยยืนยันจุดแข็งเฉพาะของ KANs ได้

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

 
GN⁺ 2024-05-02
ความคิดเห็นบน Hacker News
  • ผู้ใช้คนหนึ่งแชร์การนำแนวคิดในกระดาษวิจัยมาทำต้นแบบแบบง่าย ๆ ด้วย PyTorch โดยมีโค้ดเพียงไม่กี่บรรทัด โดยใช้สัมประสิทธิ์ฟูเรียแทนสแปลนในการอินเตอร์โพเลตฟังก์ชันหนึ่งมิติ ซึ่งแสดงศักยภาพในการแทนค่าของ Kolmogorov-Arnold Network และอาจบรรจบได้ง่ายกว่าเวอร์ชันสแปลนในกระดาษวิจัย แต่การคำนวณมีมากขึ้น

  • ผู้ใช้คนอื่นได้แชร์ผลการทดลองกับ Jupyter notebook ที่ให้มา เมื่อเปลี่ยนโครงข่ายในงานจำแนกจาก (2, 2) เป็น (2, 2, 2) กลับไม่สามารถจีเนอรัลไลซ์ได้ และเมื่อเพิ่มขนาดข้อมูลฝึกเป็น 100 เท่า การ overfitting ดีขึ้น แต่ค่า loss ระหว่างการฝึกยังไม่ลงต่ำกว่า 1e-2 ผู้ใช้ต้องการทดลองกับตัวอย่างและข้อมูลขนาดใหญ่ขึ้น

  • ในช่วงที่วงการเริ่มเหนื่อยกับการปรับปรุง Transformer แบบค่อยเป็นค่อยไป การศึกษานี้ได้รับการชื่นชมว่าเป็นไอเดียใหม่ที่อาจเพิ่มศักยภาพการแทนค่าของ DNN ได้มากขึ้น แต่ต้องรอการพิสูจน์ต่อไปว่าประสิทธิภาพที่ดีขึ้นจริง ๆ จะเกิดขึ้นจริงหรือไม่

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

  • เรื่องที่น่าสนใจคือตัวแทนการแสดงผล Kolmogorov-Arnold กับ MLP ถูกค้นพบ/คิดค้นในช่วงปี 1957–1958 เกือบใกล้เคียงกัน แนวทางนี้ยังมีข้อดีที่มีพารามิเตอร์แค่ประเภทเดียว (ค่าคงที่ในฟังก์ชันกระตุ้นเฉพาะที่) เทียบกับ MLP ที่ต้องมีน้ำหนัก, ไบแอส และฟังก์ชันกระตุ้นแบบกลุ่มทั่วโลก ความเห็นหนึ่งยังพูดถึงอยากลองเอาแนวทางนี้ไปใช้กับ Diffusion Model ในปัจจุบันที่แทบเต็มไปด้วย Transformer

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

  • อาจมองได้ว่าเป็นความเห็นเร่งรีบไป แต่เนื่องจากการรวมเชิงเส้นของ B-spline แล้วได้เป็น B-spline ระดับสูงกว่า จึงมีมุมมองหนึ่งว่ามันอาจไม่ต่างจากการฟิตฟังก์ชันด้วย B-spline ลำดับสูงอย่างเดียวกัน

  • Preprint ถือมิติอินพุต 100 ว่าเป็น "มิติสูง" และส่วนนิยามที่บ่อยที่สุดใน ML ที่ได้แรงบันดาลใจจากฟิสิกส์มักมีมิติน้อยกว่าหรือเท่ากับ 5 จึงมองได้ว่าเป็นภาพแบบปกติ การทดสอบผลลัพธ์บน MNIST ที่มีมิติเท่ากับ 784 ซึ่งถือว่าต่ำมากตามมาตรฐานสมัยใหม่ จะเป็นขั้นต่อไปที่ควรทำ

  • มันให้ความรู้สึกเหมือนเอาสแปลนไปใส่แน่นเข้ากับ decision tree

  • ดูเหมือนว่าจะมีความคล้ายกันเชิงแนวคิดกับ finite element method มาก และน่าจะดีมากที่ได้เจอโครงสร้างลักษณะคล้ายกันข้ามสาขาในลักษณะนี้