- Kolmogorov-Arnold Networks (KANs) menunjukkan struktur yang berbeda dari jaringan saraf yang ada; bahkan pada skala kecil, model ini lebih mudah diinterpretasikan dan memberikan hasil yang lebih akurat, sehingga dapat menjadi alat bagi ilmuwan untuk menemukan hipotesis baru dari data fisika
- Sementara MLP konvensional bergantung pada bobot sinaps dan fungsi aktivasi neuron, pada KAN sinaps mempelajari fungsi input-output dan neuron hanya menghitung jumlah keluaran sinaps
- Dalam data hukum fisika dan eksperimen simpul topologi, kinerja KAN meningkat lebih cepat saat skalanya diperbesar, dan dalam penyelesaian persamaan diferensial parsial, KAN 100 kali lebih akurat daripada MLP dengan parameter 100 kali lebih banyak
- Tim peneliti memvisualisasikan bentuk fungsi dan pentingnya koneksi di dalam KAN, lalu memangkas koneksi yang lemah; dalam beberapa kasus, mereka berhasil merekonstruksi fungsi fisika yang membentuk dataset menjadi fungsi intuitif satu baris
- KAN memiliki waktu pelatihan per parameter yang lebih lama dan sulit memanfaatkan GPU, tetapi karena membutuhkan parameter lebih sedikit, model ini tetap praktis pada skala kecil seperti masalah fisika
Struktur jaringan saraf baru yang diajukan KAN
- Jaringan saraf buatan yang menjadi pusat AI modern mendukung chatbot dan generator gambar, tetapi karena banyaknya neuron, jaringan ini bisa menjadi kotak hitam yang sulit diinterpretasikan cara kerjanya di dalam
- Struktur baru Kolmogorov-Arnold Networks (KANs) lebih mudah diinterpretasikan daripada jaringan saraf tradisional, dan dalam eksperimen menunjukkan hasil yang lebih akurat meski berukuran lebih kecil
- Para pengembang KAN menilai struktur ini dapat membantu ilmuwan menemukan hipotesis baru tentang hukum alam karena mampu merepresentasikan data fisika secara ringkas
- Brice Ménard dari Johns Hopkins University menilai positif kemunculan arsitektur baru seperti KAN yang dirancang dari prinsip pertama, setelah lebih dari 10 tahun desain jaringan saraf umumnya bergantung pada penyesuaian coba-coba
Perbedaan antara MLP konvensional dan KAN
- Dalam jaringan saraf tradisional, sinaps mempelajari satu bobot yang merepresentasikan kekuatan koneksi antara dua neuron
- Neuron kemudian mengambil jumlah berbobot dari masukan neuron di lapisan sebelumnya, lalu menerapkan fungsi aktivasi sederhana pada jumlah tersebut
- Bentuk ketika semua neuron terhubung ke semua neuron di lapisan berikutnya disebut multi-layer perceptron (MLP)
- Dalam KAN, perannya dibalik
- Sinaps, alih-alih hanya menyimpan kekuatan koneksi sederhana, mempelajari fungsi aktivasi yang memetakan input ke output
- Fungsi ini bisa berupa spline, yaitu kombinasi beberapa fungsi, dan dapat berbeda untuk tiap koneksi
- Neuron menjadi lebih sederhana karena hanya menjumlahkan keluaran sinaps sebelumnya
- Nama KAN diambil dari dua matematikawan, Kolmogorov dan Arnold, yang meneliti cara menggabungkan fungsi
- Tujuan struktur ini adalah memberikan fleksibilitas lebih besar saat merepresentasikan data dengan parameter pelatihan yang lebih sedikit
Kinerja yang ditunjukkan pada tugas ilmiah
- Tim peneliti menguji KAN pada tugas ilmiah yang relatif sederhana
- Beberapa eksperimen menggunakan hukum fisika sederhana, seperti kecepatan dua benda yang saling melintas pada kecepatan relativistik
- Mereka membuat titik data input-output dari persamaan
- Untuk setiap fungsi fisika, jaringan dilatih dengan sebagian data dan diuji dengan sisa data
- KAN menunjukkan peningkatan kinerja yang lebih cepat daripada MLP saat ukurannya diperbesar
- Dalam penyelesaian persamaan diferensial parsial, satu KAN 100 kali lebih akurat daripada MLP dengan 100 kali lebih banyak parameter
- Dalam eksperimen lain, model dilatih untuk memprediksi properti simpul yang disebut signature berdasarkan sifat lain dari simpul topologi
- MLP mencapai akurasi uji 78% dengan sekitar 300.000 parameter
- KAN mencapai akurasi uji 81,6% dengan sekitar 200 parameter
Interpretabilitas dan rekonstruksi fungsi
- Tim peneliti dapat membentangkan KAN secara visual untuk melihat bentuk fungsi aktivasi dan pentingnya tiap koneksi
- Koneksi yang lemah dapat dipangkas secara manual atau otomatis
- Beberapa fungsi aktivasi dapat diganti dengan fungsi yang lebih sederhana seperti fungsi sine atau fungsi exponential
- Hasilnya, keseluruhan KAN dapat diringkas menjadi fungsi satu baris yang intuitif, termasuk fungsi aktivasi penyusunnya
- Dalam beberapa kasus, mereka merekonstruksi dengan sempurna fungsi fisika yang membentuk dataset
- Ziming Liu dari MIT dan NSF AI Institute for Artificial Intelligence and Fundamental Interactions menilai bahwa jika dataset yang sulit diinterpretasikan dimasukkan ke KAN, model ini dapat membantu membentuk hipotesis, dan struktur dapat disesuaikan sambil melihat diagram KAN bila diperlukan
Integrasi dengan CNN dan transformer
- Pracetak makalah KAN sudah dikutip dalam puluhan makalah
- Alexander Bodner dari University of San Andrés dan rekan-rekannya menggabungkan KAN dengan CNN yang banyak digunakan untuk pemrosesan gambar dan membuat Convolutional KANs
- Pada tugas klasifikasi angka tulisan tangan dan gambar pakaian, Convolutional KANs menunjukkan akurasi yang hampir sama dengan CNN tradisional
- Pada klasifikasi angka, kedua jaringan sama-sama mencapai akurasi 99%
- Pada klasifikasi pakaian, kedua jaringan sama-sama mencapai akurasi 90%
- Model gabungan KAN menggunakan sekitar 40% lebih sedikit parameter
- Bodner menyatakan dataset yang digunakan memang sederhana, tetapi tim lain dengan sumber daya komputasi lebih besar sudah mulai memperbesar jaringan tersebut
- Peneliti lain juga sedang menggabungkan KAN dengan transformer yang banyak digunakan dalam model bahasa berskala besar
Pelatihan yang lambat dan cakupan penerapan
- Kekurangan KAN adalah waktu pelatihan per parameter yang lebih lama
- Salah satu alasan pelatihan lebih lambat adalah karena sulit memanfaatkan GPU
- Namun, KAN membutuhkan parameter yang lebih sedikit
- Ziming Liu menilai bahwa meskipun KAN mungkin tidak akan menggantikan CNN atau transformer raksasa untuk pemrosesan gambar dan bahasa, waktu pelatihan mungkin tidak menjadi masalah pada skala kecil dalam banyak masalah fisika
- Liu sedang meneliti cara agar para ahli dapat memasukkan pengetahuan sebelumnya ke dalam KAN
- Misalnya, manusia dapat memilih sendiri fungsi aktivasi
- Ia juga sedang meninjau cara mengekstrak pengetahuan dari KAN dengan mudah melalui antarmuka sederhana
- Dalam jangka panjang, KAN berpotensi membantu penemuan superkonduktor suhu tinggi atau pencarian cara mengendalikan fusi nuklir
1 komentar
Opini Hacker News
Saya sudah mencoba langsung KAN pada pemodelan skala kecil dan menuliskannya, serta membandingkannya dengan neural network biasa: https://news.ycombinator.com/item?id=40855028
Kesimpulan utamanya adalah KAN jauh lebih sulit dilatih dibanding neural network biasa. Loss per parameter umumnya bisa dibuat kira-kira serupa, tetapi butuh banyak tuning hyperparameter dan teknik tambahan pada struktur KAN. Sebaliknya, neural network dasar jauh lebih mudah dilatih dan bekerja baik pada kondisi yang lebih luas
Sudah ada upaya luar biasa besar yang terkumpul dalam pelatihan neural network, dan optimizer seperti Adam pun dalam beberapa hal dirancang serta dioptimalkan untuk neural network, jadi saya rasa ini bukan perbandingan yang sepenuhnya adil. KAN punya potensi, tetapi bukan obat mujarab; klaim bahwa spline yang biasa dipakai jauh lebih mudah diinterpretasikan dibanding menganalisis output neuron lapisan bawah juga agak meragukan
https://cprimozic.net/blog/trying-out-kans/
Pada akhirnya riset adalah proses menemukan perbaikan mana yang mengubah kegunaan, dan menarik untuk mengikuti perkembangan di https://github.com/mintisan/awesome-kan serta melihat berbagai percobaannya. Di antara KAN dan neural network dengan fungsi aktivasi tetap, ada ruang riset kontinu berupa tuning fungsi aktivasi
Misalnya, sekumpulan fungsi aktivasi terparameterisasi sederhana seperti xsigmoid(mx) dapat berperilaku seperti ReLU saat m besar, seperti GeLU saat m=1.7, dan seperti SiLU saat m=1. Ada berbagai titik, mulai dari satu fungsi aktivasi per neuron, fungsi aktivasi dengan banyak parameter, aproksimator fungsi, hingga KAN penuh tanpa bobot; orang yang bisa menghitung dengan formula terpadu di mana parameter tambahan sebaiknya ditempatkan agar dampaknya paling besar tampaknya akan mendapat pengakuan besar
Saya 100% setuju bahwa KAN tidak akan lebih mudah diinterpretasikan. Kalau satu neuron saja, mungkin bisa dipahami, tetapi begitu hal-hal seperti ini mulai dikomposisikan, interpretabilitasnya akan segera hilang
KAN dapat dimodelkan sebagai struktur aktivasi lain di dalam multilayer perceptron biasa, dan karena fleksibilitasnya tinggi, ini tidak mengejutkan. Saya membuat bagan yang merangkum berbagai tipe struktur: https://x.com/thomasahle/status/1796902311765434694
Menariknya, KAN tidak efisien jika diimplementasikan dengan perkalian matriks umum PyTorch, tetapi bisa menjadi sangat cepat jika memakai kernel CUDA kustom atau torch.compile: https://x.com/thomasahle/status/1798408687981297844
Diskusi sebelumnya tentang Kolmogorov-Arnold network: https://news.ycombinator.com/item?id=40219205
“Kelemahan KAN adalah waktu pelatihan per parameter lebih lama, sebagian karena tidak bisa memanfaatkan GPU. Namun, KAN membutuhkan lebih sedikit parameter. Liu mengatakan bahwa meskipun KAN tidak akan menggantikan CNN atau Transformer raksasa untuk pemrosesan gambar dan bahasa, pada skala kecil untuk banyak masalah fisika, waktu pelatihan tidak akan menjadi masalah.”
Karena bahkan tidak ada pernyataan bahwa GPU mungkin bisa dimanfaatkan di masa depan, ini terbaca seperti batasan fundamental
Saya penasaran apakah pendekatan seperti ini juga bisa diterapkan pada KAN secara cost-effective. Terutama apakah mungkin melatih model yang dapat diinterpretasikan menggunakan model bahasa pralatih seperti LlaMa-3
“Setelah itu, seluruh KAN bisa diringkas menjadi fungsi satu baris yang intuitif, dan dalam beberapa kasus berhasil merekonstruksi secara sempurna fungsi fisika yang membuat dataset.”
Ide KAN memang sangat menarik, tetapi secara ketat jaringan saraf tradisional pun bisa ditulis sebagai suatu ekspresi satu baris dalam bentuk tertutup. Hanya saja baris itu akan menjadi sangat panjang. Meski batas keputusan yang sama bisa dibuat dengan lebih sedikit neuron, saya belum yakin apakah memakai spline alih-alih bobot benar-benar membuat ekspresinya sendiri jadi kurang kompleks
Pada prinsipnya hal serupa bisa dilakukan juga pada perceptron multilapis, tetapi representasi perceptron multilapis cenderung agak terdistribusi, sehingga sparsifikasi dan simbolisasi bisa lebih sulit
Bisa jelaskan ini seolah-olah kepada anak berusia lima tahun? Saya paham bahwa jaringan saraf berusaha mengurangi fungsi loss untuk mendapat hasil yang lebih baik, tetapi penasaran apa sebenarnya yang berbeda dari KAN
Jaringan saraf biasa, yaitu perceptron multilapis, memiliki matriks yang penuh angka floating-point yang berperan sebagai bobot. Bobot adalah fungsi linear seperti y=wx, jadi jika input x dan output y digambar pada koordinat, hasilnya berupa garis lurus. Jika input diperbesar atau diperkecil, output juga naik atau turun dengan rasio tetap, dan efeknya tidak tiba-tiba membesar, mengecil, atau berbalik arah
Karena itu jaringan mempelajari bobot pada banyak lapisan, lalu menghubungkannya dengan fungsi-fungsi semacam lem ajaib yang tidak dipelajari, melainkan termasuk dalam desain. Akibatnya, relasi kompleks antara input dan output terbentuk saat melewati banyak lapisan
Sebaliknya, dalam KAN, alih-alih bobot, yaitu fungsi linear, jaringan dibuat mempelajari jenis fungsi lain. Fungsi-fungsi ini nonlinier, sehingga ketika input dinaikkan, output bisa naik makin cepat, atau bahkan berbalik arah lalu menurun. Ini dapat mempelajari relasi yang jauh lebih kompleks antara input dan output, tetapi mungkin kehilangan sebagian efisiensi GPU yang dioptimalkan untuk operasi matriks raksasa, dan perhitungan matematika arbitrer bisa membutuhkan CPU
Jadi KAN punya “neuron” yang lebih sedikit tetapi lebih kompleks, dan tiap neuron terdiri dari fungsi yang kompleks. Daya tariknya tampaknya adalah, jika kita melihat satu neuron itu, kita bisa mendapatkan rumus yang jelas untuk menjelaskan apa yang dilakukannya. Pada perceptron multilapis, kita harus menelusuri bobot di banyak lapisan, sehingga perlu lebih banyak kerja untuk memahami keseluruhan perilakunya
Namun fungsi yang keluar dari KAN juga rasanya bukan rumus intuitif seperti yang mungkin ada di catatan Isaac Newton, melainkan akan penuh konstanta aneh dan suku-suku tidak intuitif yang saling meniadakan
output = simple_function(sum(many_inputs*many_weights) + extra_weight_for_bias), sedangkan lapisan KAN lebih mendekatioutput = sum(fancy_functions(many_inputs)). Bisa saja salah, dan ini baru satu harif(x, y). Output KAN adalah rumus yang tampak rapi sepertiexp(0.3sin(x) + 4cos(y)), dan itulah yang dimaksud dengan bisa diinterpretasikanSaya penasaran apakah kumpulan fungsi yang dipelajari dapat mereproduksi tabel kebenaran logika orde pertama. Sepertinya mudah untuk dicek
Bagaimanapun, dari sisi diferensiabilitas ini kabar baik. Saat ini mengekspresikan kondisi
ifdi JAX itu rumit dan setidaknya bagi saya praktis menjadi penghalang optimisasi; kalau kondisi bisa dipelajari dan sudah masuk ke dalam jaringan, menurut saya itu bagusBeberapa minggu lalu kami mengundang Ziming Liu di London Machine Learning Meetup. Ia memberikan presentasi yang sangat bagus tentang pekerjaan menarik ini, dan rekamannya ada di sini: https://youtu.be/FYYZZVV5vlY?si=ReoygVJMgY9oje3p
Saya agak skeptis. Pada tahun 80–90-an pun ada banyak makalah dan eksperimen tentang berbagai arsitektur jaringan saraf tiruan yang menjadi alternatif bagi
f(x*w+b). Namun model berkinerja terbaik yang praktis saat ini masih berbasis perkalian-akumulasi-ambang. Pada akhirnya karena kecepatan dan kesederhanaan“Kelemahan KAN adalah waktu pelatihan per parameter lebih lama, sebagian karena tidak bisa memanfaatkan GPU.”
Ini terlihat seperti kesenjangan besar. Saya penasaran apakah ada yang tahu apakah ini ketidakcocokan struktural mendasar, atau hanya karena belum ada yang menulis kernel CUDA yang diperlukan