Rumah >Peranti teknologi >AI >Kolmogorov-Arnold Networks (KAN): Panduan dengan pelaksanaan
Kolmogorov-Arnold Networks (KAN): Senibina rangkaian neural novel untuk pemodelan yang boleh ditafsirkan
Penyelidikan baru-baru ini telah memperkenalkan Kolmogorov-Arnold Networks (KAN), sebuah seni bina rangkaian novel novel yang direka untuk meningkatkan tafsiran dalam pemodelan saintifik. Tidak seperti model "kotak hitam" tradisional seperti Perceptrons Multi-Layer (MLPS), KAN menawarkan ketelusan yang lebih besar, menjadikannya sangat berharga dalam bidang seperti fizik.
KAN didasarkan pada teorem perwakilan Kolmogorov-arnold, yang berpendapat bahawa sebarang fungsi multivariable yang berterusan dapat diuraikan ke dalam jumlah fungsi yang lebih mudah dan berubah. Walaupun teorem menjamin kewujudan fungsi univariat ini, KAN menyediakan kaedah untuk mempelajari mereka. Daripada secara langsung menghampiri fungsi yang kompleks, KAN mempelajari komponen yang lebih mudah ini, menghasilkan model yang fleksibel dan sangat ditafsirkan, terutama untuk hubungan bukan linear.
Kans vs MLPS: Perbezaan seni bina utama
Perbezaan teras antara KAN dan MLPS terletak di lokasi fungsi pengaktifan yang boleh dipelajari. MLPS menggunakan fungsi pengaktifan tetap (relu, sigmoid, dan lain -lain) dalam neuron, manakala KAN meletakkan fungsi pengaktifan yang boleh dipelajari pada tepi yang menghubungkan neuron. Pelaksanaan asal menggunakan B-splines, tetapi fungsi lain seperti Chebyshev Polynomials juga boleh disesuaikan. Kedua -dua Kans cetek dan mendalam menguraikan fungsi kompleks ke dalam yang lebih mudah univariate, seperti yang digambarkan di bawah:
Perbezaan seni bina ini membolehkan KAN secara dinamik menyesuaikan diri dengan data, yang berpotensi mencapai ketepatan yang lebih tinggi dengan parameter yang lebih sedikit daripada MLP. Latihan pasca, tepi yang tidak digunakan boleh dipangkas, lagi menyelaraskan model. Selain itu, fungsi univariate yang dipelajari dapat diekstrak, membolehkan pembinaan semula fungsi multivariable -ciri penting untuk interpretasi.
pelaksanaan praktikal dengan pykan
Perpustakaan
memudahkan pelaksanaan KAN. Pemasangan adalah mudah: pykan
pip install git+https://github.com/KindXiaoming/pykan.gitKan yang mudah boleh ditakrifkan seperti berikut:
from kan import * model = KAN(width=[2,5,1]) # 2 inputs, 5 hidden neurons, 1 outputdataset sampel boleh dibuat dan digambarkan:
from kan.utils import create_dataset f = lambda x: 3*x[:,[0]]**3+2*x[:,[0]]+4 + 2 * x[:,[0]] * x[:,[1]] ** 2 + 3 * x[:,[1]] ** 3 dataset = create_dataset(f, n_var=2) model(dataset['train_input']); model.plot()
Latihan dilakukan menggunakan
.fit()
model.fit(dataset, steps=1000);
model = model.prune() model.plot()
Aplikasi dan Pertimbangan
Kelebihan termasuk penafsiran dan fleksibiliti yang lebih baik dalam memilih fungsi asas. Walau bagaimanapun, cabaran termasuk kerumitan pengiraan semasa latihan dan keperluan untuk kepakaran khusus.
Kerjasama Human-Kan
Aspek unik KAN adalah potensi untuk interaksi model manusia. Penyelidik boleh mengekstrak dan menganalisis fungsi univariate yang dipelajari, memperoleh pandangan mengenai hubungan data dan menyempurnakan model secara berulang. Pendekatan kolaboratif ini menjadikan Kans dapat disesuaikan dan berpotensi transformatif untuk penemuan saintifik.
Kesimpulan
KAN mewakili kemajuan yang signifikan dalam seni bina rangkaian saraf, yang menawarkan alternatif yang fleksibel dan dapat diterjemahkan kepada model tradisional. Penjelajahan dan pembangunan lebih lanjut menjanjikan untuk menubuhkan KAN sebagai alat yang berkuasa untuk pemodelan saintifik dan seterusnya.
Atas ialah kandungan terperinci Kolmogorov-Arnold Networks (KAN): Panduan dengan pelaksanaan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!