Kolmogorov-Arnold-Netzwerke (KANS): Eine neuartige Architektur für neuronale Netzwerke für die interpretierbare Modellierung
Neuere Forschungen haben Kolmogorov-Arnold Networks (KANs) eingeführt, eine neuartige Architektur für neuronale Netzwerke zur Verbesserung der Interpretierbarkeit der wissenschaftlichen Modellierung. Im Gegensatz zu herkömmlichen "Black Box" -Modellen wie Multi-Layer-Perzeptrons (MLPs) bieten Kans mehr Transparenz, was sie in Bereichen wie Physik besonders wertvoll macht.
Kans basieren im Kolmogorov-Arnold-Repräsentations-Theorem, der darauf hinweist, dass jede kontinuierliche multivariable Funktion in eine Summe einfacherer Einzelvariablenfunktionen zerlegt werden kann. Während der Satz die Existenz dieser univariaten Funktionen garantiert, bieten Kans eine Methode, um sie zu lernen. Kans lernen diese einfacheren Komponenten, die zu einem flexiblen und hoch interpretierbaren Modell führen, insbesondere für nichtlineare Beziehungen, anstatt direkt zu nähern.
Kans vs. MLPs: Ein wichtiger architektonischer UnterschiedDie zentrale Unterscheidung zwischen Kans und MLPs liegt am Ort der ertragbaren Aktivierungsfunktionen. MLPs verwenden feste Aktivierungsfunktionen (Relu, Sigmoid usw.) innerhalb von Neuronen, während Kans lernbare Aktivierungsfunktionen an den Kanten mit Neuronen platzieren. Die ursprüngliche Implementierung verwendet B-Splinen, aber auch andere Funktionen wie Chebyshev-Polynome sind anpassungsfähig. Sowohl flache als auch tiefe Kans zersetzen komplexe Funktionen in einfachere univariate, wie unten dargestellt:
Dieser architektonische Unterschied ermöglicht es Kans, sich dynamisch an Daten anzupassen und möglicherweise eine höhere Genauigkeit mit weniger Parametern als MLPs zu erreichen. Nach dem Training können nicht verwendete Kanten beschnitten werden, was das Modell weiter optimiert. Darüber hinaus können die gelernten univariaten Funktionen extrahiert werden, um die Rekonstruktion der multivariablen Funktion zu ermöglichen - ein entscheidendes Merkmal für die Interpretierbarkeit.
Praktische Implementierung mit Pykan
Die Bibliothek erleichtert die Implementierung von Kans. Die Installation ist unkompliziert:
pykan
pip install git+https://github.com/KindXiaoming/pykan.git
Ein Beispieldatensatz kann erstellt und visualisiert werden:
from kan import * model = KAN(width=[2,5,1]) # 2 inputs, 5 hidden neurons, 1 output
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()
Training wird mit
durchgeführt
.fit()
model.fit(dataset, steps=1000);
model = model.prune() model.plot()
Anwendungen und Überlegungen
kans zeigen in verschiedenen Anwendungen vielversprechend:
Human-kan-Zusammenarbeit
Ein einzigartiger Aspekt von Kans ist das Potenzial für die Interaktion zwischen Menschenmodell. Forscher können erlernte univariate Funktionen extrahieren und analysieren, um Einblicke in Datenbeziehungen zu erhalten und das Modell iterativ zu verfeinern. Dieser kollaborative Ansatz macht Kans anpassungsfähig und potenziell transformativ für wissenschaftliche Entdeckungen.
Schlussfolgerung
kans stellen einen signifikanten Fortschritt in der neuronalen Netzwerkarchitektur dar und bieten eine flexible und interpretierbare Alternative zu traditionellen Modellen. Weitere Erforschung und Entwicklungsversprechen, Kans als leistungsstarke Instrumente für die wissenschaftliche Modellierung und darüber hinaus zu etablieren.
Das obige ist der detaillierte Inhalt vonKolmogorov-Arnold-Netzwerke (KANS): Ein Leitfaden mit Implementierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!