Kolmogorov-Arnold Networks (KANs) โครงข่ายประสาทชนิดใหม่ที่ตีความได้มากขึ้น
(spectrum.ieee.org)- Kolmogorov-Arnold Networks (KANs) มีโครงสร้างต่างจากโครงข่ายประสาทแบบเดิม ให้ผลลัพธ์ที่ตีความได้มากกว่าและแม่นยำกว่าแม้ในขนาดเล็ก จึงอาจเป็นเครื่องมือให้เหล่านักวิทยาศาสตร์ค้นหาสมมติฐานใหม่จากข้อมูลฟิสิกส์ได้
- ขณะที่ MLP แบบเดิมพึ่งพาน้ำหนักของไซแนปส์และฟังก์ชันกระตุ้นของนิวรอน แต่ KAN ให้ไซแนปส์เรียนรู้ฟังก์ชันอินพุต-เอาต์พุต และให้นิวรอนคำนวณเพียงผลรวมของเอาต์พุตจากไซแนปส์
- ในข้อมูลกฎฟิสิกส์และการทดลองปมเชิงทอพอโลยี KAN มีประสิทธิภาพดีขึ้นเร็วกว่าเมื่อขยายขนาด และในการแก้สมการเชิงอนุพันธ์ย่อย KAN แม่นยำกว่า 100 เท่า เมื่อเทียบกับ MLP ที่มีพารามิเตอร์มากกว่า 100 เท่า
- ทีมวิจัยแสดงภาพรูปแบบฟังก์ชันภายใน KAN และความสำคัญของการเชื่อมต่อ จากนั้นตัดแต่งการเชื่อมต่อที่อ่อนออก ทำให้ในบางกรณีสามารถสร้าง ฟังก์ชันฟิสิกส์ ที่ใช้สร้างชุดข้อมูลขึ้นใหม่เป็นฟังก์ชันเชิงสัญชาตญาณบรรทัดเดียวได้
- KAN ใช้เวลาเรียนรู้ต่อพารามิเตอร์นานกว่าและใช้ประโยชน์จาก GPU ได้ยาก แต่เพราะต้องการพารามิเตอร์น้อย จึงยังมีความเป็นไปได้ในการใช้งานจริงกับงานขนาดเล็กอย่างปัญหาฟิสิกส์
โครงสร้างโครงข่ายประสาทแบบใหม่ที่ KAN เสนอ
- โครงข่ายประสาทเทียมซึ่งเป็นศูนย์กลางของ AI สมัยใหม่อยู่เบื้องหลังแชตบอตและตัวสร้างภาพ แต่ด้วยจำนวนนิวรอนจำนวนมาก จึงอาจกลายเป็น กล่องดำ ที่ตีความการทำงานภายในได้ยาก
- โครงสร้างใหม่อย่าง Kolmogorov-Arnold Networks (KANs) ตีความได้มากกว่าโครงข่ายประสาทแบบดั้งเดิม และในการทดลองแม้มีขนาดเล็กกว่าก็ให้ผลลัพธ์แม่นยำกว่า
- ผู้พัฒนา KAN มองว่าโครงสร้างนี้สามารถแทนข้อมูลฟิสิกส์ได้อย่างกระชับ จึงอาจช่วยให้นักวิทยาศาสตร์ค้นพบสมมติฐานใหม่เกี่ยวกับกฎธรรมชาติได้
- Brice Ménard จาก Johns Hopkins University ระบุว่าในช่วงกว่า 10 ปีที่ผ่านมา การออกแบบโครงข่ายประสาทส่วนใหญ่อาศัยการปรับแต่งแบบลองผิดลองถูก และประเมินเชิงบวกต่อการเกิดขึ้นของสถาปัตยกรรมใหม่อย่าง KAN ที่ออกแบบจากหลักการพื้นฐาน
ความแตกต่างระหว่าง MLP แบบเดิมกับ KAN
- ในโครงข่ายประสาทแบบดั้งเดิม ไซแนปส์จะเรียนรู้ น้ำหนัก หนึ่งค่า ซึ่งแทนความแรงของการเชื่อมต่อระหว่างนิวรอนสองตัว
- นิวรอนจะคำนวณผลรวมถ่วงน้ำหนักของอินพุตจากนิวรอนในเลเยอร์ก่อนหน้า แล้วใช้ ฟังก์ชันกระตุ้น แบบเรียบง่ายกับผลรวมนั้น
- รูปแบบที่นิวรอนทุกตัวเชื่อมต่อกับนิวรอนทุกตัวในเลเยอร์ถัดไปเรียกว่า multi-layer perceptron (MLP)
- ใน KAN บทบาทเหล่านี้จะสลับกัน
- ไซแนปส์จะเรียนรู้ ฟังก์ชันกระตุ้น ที่แมปอินพุตเป็นเอาต์พุต แทนที่จะเป็นเพียงความแรงของการเชื่อมต่อ
- ฟังก์ชันนี้อาจเป็น สไพลน์ (spline) ซึ่งเป็นการประกอบกันของหลายฟังก์ชัน และอาจแตกต่างกันในแต่ละการเชื่อมต่อ
- นิวรอนจะเรียบง่ายขึ้น โดยทำเพียงรวมเอาต์พุตจากไซแนปส์ก่อนหน้า
- ชื่อ KAN มาจากนักคณิตศาสตร์สองคนคือ Kolmogorov และ Arnold ซึ่งศึกษาวิธีการประกอบฟังก์ชัน
- เป้าหมายของโครงสร้างนี้คือการให้ความยืดหยุ่นมากขึ้นในการแทนข้อมูลด้วยพารามิเตอร์สำหรับการเรียนรู้ที่น้อยลง
ประสิทธิภาพที่แสดงให้เห็นในงานวิทยาศาสตร์
- ทีมวิจัยทดลอง KAN กับ งานวิทยาศาสตร์ ที่ค่อนข้างเรียบง่าย
- การทดลองบางส่วนใช้กฎฟิสิกส์ง่าย ๆ เช่น ความเร็วที่วัตถุสองชิ้นซึ่งเคลื่อนที่ด้วยความเร็วเชิงสัมพัทธภาพสวนผ่านกัน
- สร้างจุดข้อมูลอินพุต-เอาต์พุตด้วยสมการ
- สำหรับฟังก์ชันฟิสิกส์แต่ละแบบ จะฝึกเครือข่ายด้วยข้อมูลบางส่วนและทดสอบด้วยข้อมูลที่เหลือ
- เมื่อเพิ่มขนาด KAN ประสิทธิภาพดีขึ้นเร็วกว่า MLP
- ในการแก้สมการเชิงอนุพันธ์ย่อย KAN ตัวหนึ่งแม่นยำกว่า MLP ที่มีพารามิเตอร์ มากกว่า 100 เท่า ถึง 100 เท่า
- ในการทดลองอีกชุดหนึ่ง มีการฝึกให้ทำนายคุณสมบัติที่เรียกว่า signature ของปม โดยอิงจากคุณสมบัติอื่น ๆ ของปมเชิงทอพอโลยี
- MLP ทำความแม่นยำในการทดสอบได้ 78% ด้วยพารามิเตอร์ประมาณ 300,000 ตัว
- KAN ทำความแม่นยำในการทดสอบได้ 81.6% ด้วยพารามิเตอร์ประมาณ 200 ตัว
ความสามารถในการตีความและการสร้างฟังก์ชันขึ้นใหม่
- ทีมวิจัยสามารถคลี่ KAN ออกมาเป็นภาพ เพื่อดูรูปร่างของ ฟังก์ชันกระตุ้น และความสำคัญของแต่ละการเชื่อมต่อได้
- การเชื่อมต่อที่อ่อนสามารถตัดแต่งได้ทั้งแบบด้วยมือหรือแบบอัตโนมัติ
- ฟังก์ชันกระตุ้นบางส่วนสามารถแทนที่ด้วยฟังก์ชันที่เรียบง่ายกว่า เช่น ฟังก์ชัน sine หรือ exponential ได้
- ผลลัพธ์คือสามารถสรุป KAN ทั้งชุด รวมถึงฟังก์ชันกระตุ้นที่ประกอบกันอยู่ ให้เป็น ฟังก์ชันบรรทัดเดียว ที่เข้าใจได้โดยสัญชาตญาณ
- ในบางกรณี สามารถสร้างฟังก์ชันฟิสิกส์ที่ใช้สร้างชุดข้อมูลขึ้นใหม่ได้อย่างสมบูรณ์
- Ziming Liu จาก MIT และ NSF AI Institute for Artificial Intelligence and Fundamental Interactions มองว่า หากป้อนชุดข้อมูลที่ตีความได้ยากเข้าไปใน KAN ก็สามารถสร้างสมมติฐานได้ และสามารถดูไดอะแกรมของ KAN พร้อมปรับโครงสร้างเมื่อจำเป็น
การผสานกับ CNN และทรานส์ฟอร์เมอร์
- พรีพรินต์ของ KAN ถูกอ้างอิงแล้วในบทความวิจัยหลายสิบฉบับ
- Alexander Bodner จาก University of San Andrés และเพื่อนร่วมงานได้นำ KAN ไปผสานกับ CNN ซึ่งใช้กันอย่างแพร่หลายในงานประมวลผลภาพ เพื่อสร้าง Convolutional KANs
- ในงานจำแนกเลขลายมือและภาพเสื้อผ้า Convolutional KANs ให้ความแม่นยำเกือบเท่ากับ CNN แบบดั้งเดิม
- ในการจำแนกตัวเลข ทั้งสองเครือข่ายมีความแม่นยำ 99%
- ในการจำแนกเสื้อผ้า ทั้งสองเครือข่ายมีความแม่นยำ 90%
- โมเดลที่ผสาน KAN ใช้พารามิเตอร์น้อยลงประมาณ 40%
- Bodner ระบุว่าชุดข้อมูลที่ใช้นั้นเรียบง่าย แต่ทีมอื่น ๆ ที่มีทรัพยากรคอมพิวติ้งมากกว่าเริ่มขยายเครือข่ายแล้ว
- นักวิจัยรายอื่น ๆ กำลังผสาน KAN กับ transformer ซึ่งใช้กันอย่างแพร่หลายในโมเดลภาษาขนาดใหญ่
การเรียนรู้ที่ช้าและขอบเขตการประยุกต์ใช้
- ข้อเสียของ KAN คือใช้เวลาเรียนรู้ต่อพารามิเตอร์นานกว่า
- หนึ่งในเหตุผลที่การเรียนรู้ช้าคือใช้ประโยชน์จาก GPU ได้ยาก
- อย่างไรก็ตาม KAN ต้องการพารามิเตอร์น้อย
- Ziming Liu มองว่า แม้ KAN จะไม่เข้ามาแทนที่ CNN หรือ transformer ขนาดใหญ่สำหรับการประมวลผลภาพและภาษา แต่ในงานขนาดเล็กของปัญหาฟิสิกส์จำนวนมาก เวลาในการเรียนรู้อาจไม่ใช่ปัญหา
- Liu กำลังศึกษาวิธีให้ผู้เชี่ยวชาญใส่ความรู้ล่วงหน้าเข้าไปใน KAN
- เช่น อาจให้มนุษย์เลือกฟังก์ชันกระตุ้นเองได้
- ยังอยู่ระหว่างพิจารณาวิธีดึงความรู้ออกจาก KAN ได้ง่าย ๆ ผ่านอินเทอร์เฟซที่เรียบง่าย
- ในระยะยาว KAN อาจช่วยในการค้นพบ ตัวนำยิ่งยวด อุณหภูมิสูง หรือการหาวิธีควบคุมฟิวชันนิวเคลียร์ได้
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
ได้ทดลอง KAN ด้วยตัวเองกับการทำโมเดลขนาดเล็กและเขียนสรุปไว้ รวมถึงลองเทียบกับเครือข่ายประสาททั่วไป: https://news.ycombinator.com/item?id=40855028
ข้อสรุปหลักคือ KAN ฝึกยากกว่ามาก เมื่อเทียบกับเครือข่ายประสาททั่วไป โดยทั่วไปสามารถทำให้ loss ต่อพารามิเตอร์ใกล้เคียงกันได้ แต่ต้องจูนไฮเปอร์พารามิเตอร์จำนวนมากและใช้เทคนิคเสริมตามโครงสร้างของ KAN ส่วนเครือข่ายประสาทพื้นฐานฝึกได้ง่ายกว่ามากและทำงานได้ดีภายใต้เงื่อนไขที่กว้างกว่า
สำหรับการฝึกเครือข่ายประสาทนั้นมีความพยายามสะสมมามหาศาลแล้ว และ optimizer อย่าง Adam ก็มีส่วนที่ถูกออกแบบและปรับแต่งให้เหมาะกับเครือข่ายประสาท จึงมองว่าไม่ใช่การเปรียบเทียบที่ยุติธรรมโดยสมบูรณ์ KAN มีศักยภาพ แต่ไม่ใช่คำตอบครอบจักรวาล และข้ออ้างที่ว่า spline ที่ใช้กันทั่วไปตีความได้ง่ายกว่าการวิเคราะห์เอาต์พุตของนิวรอนในชั้นล่างมากนั้นก็น่าสงสัยอยู่บ้าง
https://cprimozic.net/blog/trying-out-kans/
งานวิจัยสุดท้ายแล้วคือกระบวนการค้นหาว่าการปรับปรุงแบบใดเปลี่ยนความมีประโยชน์ได้ และการติดตามความคืบหน้าใน https://github.com/mintisan/awesome-kan พร้อมดูการทดลองหลากหลายแบบก็สนุกดี ระหว่าง KAN กับเครือข่ายประสาทที่ใช้ activation function แบบคงที่ ยังมีพื้นที่วิจัยต่อเนื่องในเรื่องการจูน activation function
ตัวอย่างเช่น ชุด activation function แบบพารามิเตอร์อย่างง่ายอย่าง xsigmoid(mx) อาจทำงานเหมือน ReLU เมื่อ m มีค่ามาก, เหมือน GeLU เมื่อ m=1.7 และเหมือน SiLU เมื่อ m=1 ได้ ยังมีจุดต่าง ๆ ตั้งแต่ activation function เดี่ยวต่อหนึ่งนิวรอน, activation function ที่มีหลายพารามิเตอร์, function approximator ไปจนถึง KAN เต็มรูปแบบที่ไม่มี weight และคนที่สามารถคำนวณด้วยสูตรรวมได้ว่าควรวางพารามิเตอร์เพิ่มเติมไว้ตรงไหนจึงจะได้ผลมากที่สุด น่าจะได้รับการยอมรับอย่างมาก
เห็นด้วย 100% ว่า KAN ไม่น่าจะตีความได้ง่ายกว่า ถ้าเป็นนิวรอนตัวเดียวก็พอเข้าใจได้ แต่พอเริ่มนำสิ่งเหล่านี้มาประกอบกัน ความสามารถในการตีความก็จะหายไปในไม่ช้า
KAN สามารถโมเดลเป็นโครงสร้าง activation อีกแบบหนึ่งภายใน multilayer perceptron ทั่วไปได้ และเนื่องจากมีความยืดหยุ่นสูงจึงไม่น่าแปลกใจ ได้ทำแผนภูมิที่จัดประเภทโครงสร้างหลายแบบไว้: https://x.com/thomasahle/status/1796902311765434694
ที่น่าสนใจคือ KAN จะไม่มีประสิทธิภาพนักถ้า implement ด้วยการคูณเมทริกซ์ทั่วไปของ PyTorch แต่ถ้าใช้ custom CUDA kernel หรือ torch.compile ก็อาจเร็วมากได้: https://x.com/thomasahle/status/1798408687981297844
การสนทนาก่อนหน้านี้เกี่ยวกับ Kolmogorov-Arnold Networks: https://news.ycombinator.com/item?id=40219205
“ข้อเสียของ KAN คือใช้เวลาฝึกต่อพารามิเตอร์นานกว่า ส่วนหนึ่งเพราะไม่สามารถใช้ประโยชน์จาก GPU ได้ แต่ก็ต้องการพารามิเตอร์น้อยกว่า Liu กล่าวว่าต่อให้ KAN ไม่สามารถแทนที่ CNN หรือ Transformer ขนาดใหญ่สำหรับการประมวลผลภาพและภาษาได้ แต่ในปัญหาฟิสิกส์จำนวนมากที่มีขนาดเล็ก เวลาในการฝึกก็ไม่น่าจะเป็นปัญหา”
ไม่มีแม้แต่การบอกว่าในอนาคตอาจใช้ GPU ได้ จึงอ่านแล้วเหมือนเป็น ข้อจำกัดเชิงพื้นฐาน
สงสัยว่าจะสามารถนำแนวทางนี้มาใช้กับ KAN อย่างคุ้มต้นทุนได้หรือไม่ โดยเฉพาะว่าจะเป็นไปได้ไหมที่จะฝึกโมเดลที่ตีความได้ด้วยโมเดลภาษาแบบ pre-trained อย่าง LlaMa-3
“จากนั้นพวกเขาสามารถสรุป KAN ทั้งหมดให้เป็นฟังก์ชันหนึ่งบรรทัดที่เข้าใจได้โดยสัญชาตญาณ และในบางกรณีก็สร้างฟังก์ชันทางฟิสิกส์ที่ใช้สร้างชุดข้อมูลขึ้นมาใหม่ได้อย่างสมบูรณ์”
แนวคิด KAN น่าสนใจมากจริง ๆ แต่ถ้าพูดอย่างเคร่งครัด โครงข่ายประสาทแบบดั้งเดิมก็สามารถเขียนเป็น นิพจน์หนึ่งบรรทัดแบบรูปแบบปิด ได้เช่นกัน เพียงแต่ว่าบรรทัดนั้นจะยาวมากเท่านั้น แม้จะสร้างขอบเขตการตัดสินใจแบบเดียวกันได้ด้วยจำนวน neuron ที่น้อยกว่า แต่ก็ไม่แน่ใจว่าการใช้ spline แทน weight จะทำให้นิพจน์เองซับซ้อนน้อยลงหรือไม่
โดยหลักการแล้ว น่าจะทำสิ่งคล้ายกันกับ multilayer perceptron ได้ แต่ representation ของ multilayer perceptron ค่อนข้างกระจายตัว จึงอาจทำให้การทำให้เบาบางและการทำให้เป็นสัญลักษณ์ยากกว่า
ช่วยอธิบายเหมือนอธิบายให้เด็กห้าขวบฟังได้ไหม? ผมเข้าใจว่า neural network พยายามลด loss function เพื่อให้ได้ผลลัพธ์ที่ดีขึ้น แต่สงสัยว่า KAN ต่างออกไปจริง ๆ ตรงไหน
neural network ทั่วไป หรือ multilayer perceptron จะมีเมทริกซ์ที่เต็มไปด้วยตัวเลข floating-point ซึ่งทำหน้าที่เป็น weight อยู่ weight คือ ฟังก์ชันเชิงเส้น เช่น y=wx ดังนั้นถ้านำ input x และ output y ไปพล็อตบนพิกัดก็จะเป็นเส้นตรง ถ้าเพิ่มหรือลด input output ก็จะเพิ่มหรือลดด้วยอัตราส่วนคงที่ และจะไม่อยู่ ๆ ก็มีผลมากขึ้น น้อยลง หรือกลับทิศทาง
ดังนั้น network จึงเรียนรู้ weight หลายชั้น แล้วเชื่อมพวกมันเข้าด้วยกันด้วยฟังก์ชันบางอย่างที่เหมือนกาววิเศษ ซึ่งไม่ได้ถูกเรียนรู้แต่รวมอยู่ในการออกแบบ ผลคือความสัมพันธ์ที่ซับซ้อนระหว่าง input กับ output ถูกสร้างขึ้นขณะผ่านหลายชั้น
ในทางกลับกัน KAN ทำให้ network เรียนรู้ฟังก์ชันชนิดอื่นแทน weight หรือฟังก์ชันเชิงเส้น ฟังก์ชันเหล่านี้เป็นแบบไม่เชิงเส้น ดังนั้นเมื่อเพิ่ม input output อาจพุ่งขึ้นแบบเร่ง หรืออาจเปลี่ยนทิศทางแล้วลดลงก็ได้ มันสามารถเรียนรู้ความสัมพันธ์ที่ซับซ้อนกว่ามากระหว่าง input กับ output แต่ก็อาจสูญเสียประสิทธิภาพบางส่วนของ GPU ที่ถูกปรับแต่งมาสำหรับการคำนวณเมทริกซ์ขนาดใหญ่ และอาจต้องพึ่ง CPU สำหรับการคำนวณคณิตศาสตร์ตามอำเภอใจ
ดังนั้น KAN จึงมี “neuron” น้อยกว่าแต่ซับซ้อนกว่า และแต่ละ neuron ประกอบด้วยฟังก์ชันที่ซับซ้อน จุดดึงดูดดูเหมือนจะอยู่ที่ว่าเมื่อมองเข้าไปใน neuron หนึ่งตัว จะได้สูตรที่ชัดเจนซึ่งอธิบายว่ามันทำอะไร ใน multilayer perceptron ต้องไล่ตาม weight หลายชั้น จึงต้องทำงานมากกว่าเพื่อเข้าใจพฤติกรรมทั้งหมด
แต่ฟังก์ชันที่ออกมาจาก KAN ก็น่าจะไม่ใช่สูตรที่เข้าใจได้โดยสัญชาตญาณแบบที่อาจเห็นในสมุดจดของ Isaac Newton แต่คงเต็มไปด้วยค่าคงที่แปลก ๆ และพจน์ที่ไม่ค่อยเป็นธรรมชาติซึ่งหักล้างกันเอง
output = simple_function(sum(many_inputs*many_weights) + extra_weight_for_bias)ส่วนชั้น KAN จะใกล้เคียงกับoutput = sum(fancy_functions(many_inputs))อาจผิดก็ได้ และนี่เพิ่งผ่านไปแค่วันเดียวเองf(x, y)ส่วน output ของ KAN คือสูตรหน้าตาดูดีอย่างexp(0.3sin(x) + 4cos(y))และนั่นคือความหมายของการตีความได้สงสัยว่าชุดของฟังก์ชันที่เรียนรู้แล้วจะสามารถสร้าง truth table ของ ตรรกะอันดับหนึ่ง ได้หรือไม่ น่าจะตรวจสอบได้ง่าย
อย่างไรก็ตาม ในแง่ของ differentiability นี่เป็นข่าวดี ตอนนี้การเขียนเงื่อนไข
ifใน JAX ทำได้ยุ่งยาก และอย่างน้อยสำหรับผมมันแทบจะเป็นกำแพงต่อการ optimize แต่ถ้าเงื่อนไขสามารถเรียนรู้ได้และอยู่ใน network อยู่แล้ว ก็น่าจะยอดเยี่ยมเมื่อไม่กี่สัปดาห์ก่อน ที่ London Machine Learning Meetup เราเชิญ Ziming Liu มา เขาบรรยายได้ยอดเยี่ยมเกี่ยวกับงานที่น่าสนใจนี้ และมีวิดีโอบันทึกอยู่ที่นี่: https://youtu.be/FYYZZVV5vlY?si=ReoygVJMgY9oje3p
ค่อนข้างกังขาอยู่ ในยุค 80–90 ก็มีงานวิจัยและการทดลองจำนวนมากเกี่ยวกับ โครงสร้างโครงข่ายประสาทเทียม หลายแบบที่เป็นทางเลือกแทน
f(x*w+b)แต่โมเดลที่ให้ประสิทธิภาพสูงสุดในทางปฏิบัติทุกวันนี้ก็ยังคงอิงการคูณ-สะสม-threshold อยู่ดี สุดท้ายก็เพราะความเร็วและความเรียบง่าย“ข้อเสียของ KAN คือเวลาในการฝึกต่อพารามิเตอร์ยาวกว่า ส่วนหนึ่งเพราะไม่สามารถใช้ประโยชน์จาก GPU ได้”
ดูเหมือนเป็นช่องว่างใหญ่ทีเดียว สงสัยว่ามีใครรู้ไหมว่านี่เป็น ความไม่สอดคล้องเชิงโครงสร้างพื้นฐาน หรือแค่ยังไม่มีใครเขียน CUDA kernel ที่จำเป็นเท่านั้น