- Kolmogorov-Arnold Networks (KANs) haben eine andere Struktur als bestehende neuronale Netze und liefern schon in kleinem Maßstab besser interpretierbare und genauere Ergebnisse; sie könnten Wissenschaftlern als Werkzeug dienen, um aus physikalischen Daten neue Hypothesen abzuleiten
- Während herkömmliche MLPs auf den Gewichten der Synapsen und den Aktivierungsfunktionen der Neuronen beruhen, lernen bei KANs die Synapsen Eingabe-Ausgabe-Funktionen, und die Neuronen berechnen nur die Summe der Synapsenausgaben
- Bei Daten zu physikalischen Gesetzen und Experimenten zu topologischen Knoten verbesserte sich die Leistung von KANs mit wachsender Größe schneller; beim Lösen partieller Differentialgleichungen war ein KAN 100-mal genauer als ein MLP mit 100-mal mehr Parametern
- Die Forschenden visualisierten die Funktionsformen im Inneren von KANs und die Wichtigkeit der Verbindungen und schnitten schwache Verbindungen weg; in manchen Fällen rekonstruierten sie die dem Datensatz zugrunde liegende physikalische Funktion als intuitive Ein-Zeilen-Funktion
- KANs benötigen pro Parameter längere Trainingszeiten und lassen sich schwer auf GPUs ausnutzen, bleiben aber wegen der geringen Zahl benötigter Parameter in kleinen Maßstäben wie bei physikalischen Problemen praktisch einsetzbar
KAN schlägt eine neue Struktur für neuronale Netze vor
- Künstliche neuronale Netze, das Zentrum der modernen KI, treiben Chatbots und Bildgeneratoren an, können wegen ihrer vielen Neuronen aber zu einer schwer interpretierbaren Black Box werden
- Die neue Struktur Kolmogorov-Arnold Networks (KANs) ist besser interpretierbar als traditionelle neuronale Netze und zeigte in Experimenten selbst bei kleinerer Größe genauere Ergebnisse
- Die Entwickler von KANs gehen davon aus, dass diese Struktur physikalische Daten kompakt darstellen kann und Wissenschaftlern helfen könnte, neue Hypothesen über Naturgesetze zu entdecken
- Brice Ménard von der Johns Hopkins University bewertet das Auftauchen einer neuen Architektur, die wie KAN aus ersten Prinzipien entworfen wurde, positiv; seiner Ansicht nach beruhte das Design neuronaler Netze in den vergangenen mehr als zehn Jahren überwiegend auf Anpassungen durch Versuch und Irrtum
Unterschiede zwischen herkömmlichen MLPs und KANs
- In traditionellen neuronalen Netzen lernt eine Synapse nur ein einzelnes Gewicht, das die Stärke der Verbindung zwischen zwei Neuronen ausdrückt
- Neuronen bilden die gewichtete Summe der Eingaben aus den Neuronen der vorherigen Schicht und wenden darauf eine einfache Aktivierungsfunktion an
- Die Struktur, in der jedes Neuron mit allen Neuronen der nächsten Schicht verbunden ist, wird multi-layer perceptron (MLP) genannt
- Bei KANs werden die Rollen vertauscht
- Synapsen lernen statt einer bloßen Verbindungsstärke eine Aktivierungsfunktion, die Eingaben auf Ausgaben abbildet
- Diese Funktion kann ein Spline sein, also eine Kombination mehrerer Funktionen, und sich für jede Verbindung unterscheiden
- Neuronen werden einfacher und summieren nur noch die Ausgaben der vorherigen Synapsen
- Der Name KAN geht auf die beiden Mathematiker Kolmogorov und Arnold zurück, die die Art der Funktionskomposition untersucht haben
- Ziel dieser Struktur ist es, bei der Darstellung von Daten mit weniger trainierbaren Parametern größere Flexibilität zu bieten
Leistung bei wissenschaftlichen Aufgaben
- Die Forschenden testeten KANs an vergleichsweise einfachen wissenschaftlichen Aufgaben
- Einige Experimente nutzten einfache physikalische Gesetze, etwa die Geschwindigkeit, mit der sich zwei Objekte, die sich mit relativistischen Geschwindigkeiten bewegen, aneinander vorbeibewegen
- Aus Gleichungen wurden Eingabe-Ausgabe-Datenpunkte erzeugt
- Für jede physikalische Funktion wurde das Netzwerk mit einem Teil der Daten trainiert und mit den übrigen Daten getestet
- Mit wachsender Größe verbesserte sich die Leistung von KANs schneller als die von MLPs
- Beim Lösen partieller Differentialgleichungen war ein KAN 100-mal genauer als ein MLP mit 100-mal mehr Parametern
- In einem weiteren Experiment wurde das Netzwerk darauf trainiert, eine Eigenschaft von Knoten namens signature auf Basis anderer Eigenschaften topologischer Knoten vorherzusagen
- Ein MLP erreichte mit etwa 300.000 Parametern eine Testgenauigkeit von 78 %
- Ein KAN erreichte mit etwa 200 Parametern eine Testgenauigkeit von 81,6 %
Interpretierbarkeit und Rekonstruktion von Funktionen
- Die Forschenden konnten KANs visuell entfalten und so die Form der Aktivierungsfunktionen und die Wichtigkeit jeder Verbindung betrachten
- Schwache Verbindungen konnten manuell oder automatisch beschnitten werden
- Einige Aktivierungsfunktionen ließen sich durch einfachere Funktionen wie die
sine-Funktion oder dieexponential-Funktion ersetzen - Dadurch ließ sich das gesamte KAN einschließlich seiner Aktivierungsfunktionen als intuitive Ein-Zeilen-Funktion zusammenfassen
- In manchen Fällen wurde die physikalische Funktion, aus der der Datensatz erzeugt worden war, vollständig rekonstruiert
- Ziming Liu vom MIT und dem NSF AI Institute for Artificial Intelligence and Fundamental Interactions meint, dass man schwer interpretierbare Datensätze in ein KAN einspeisen könne, um Hypothesen zu erzeugen, und die Struktur bei Bedarf anhand des KAN-Diagramms anpassen könne
Kombination mit CNNs und Transformern
- Das KAN-Preprint wurde bereits in Dutzenden Arbeiten zitiert
- Alexander Bodner von der University of San Andrés und seine Kollegen kombinierten KANs mit CNNs, die in der Bildverarbeitung weit verbreitet sind, und entwickelten Convolutional KANs
- Bei Klassifikationsaufgaben mit handgeschriebenen Ziffern und Kleidungsbildern erreichten Convolutional KANs nahezu die gleiche Genauigkeit wie traditionelle CNNs
- Bei der Ziffernklassifikation erzielten beide Netzwerke 99 % Genauigkeit
- Bei der Kleidungsklassifikation erzielten beide Netzwerke 90 % Genauigkeit
- Das mit KAN kombinierte Modell verwendete rund 40 % weniger Parameter
- Bodner erklärte, die verwendeten Datensätze seien einfach gewesen, andere Teams mit mehr Rechenressourcen hätten jedoch bereits begonnen, die Netzwerke zu skalieren
- Andere Forschende kombinieren KANs zudem mit dem Transformer, der in großen Sprachmodellen weit verbreitet ist
Langsames Training und möglicher Einsatzbereich
- Ein Nachteil von KANs ist, dass das Training pro Parameter länger dauert
- Ein Grund für das langsame Training ist, dass sich GPUs nur schwer ausnutzen lassen
- Dafür benötigen KANs weniger Parameter
- Ziming Liu geht davon aus, dass KANs riesige CNNs oder Transformer für Bild- und Sprachverarbeitung zwar nicht ersetzen werden, die Trainingszeit bei vielen physikalischen Problemen im kleinen Maßstab aber kein Problem sein muss
- Liu untersucht, wie Experten Vorwissen in KANs einbringen können
- So könnten etwa Aktivierungsfunktionen direkt von Menschen ausgewählt werden
- Außerdem wird geprüft, wie sich Wissen mit einer einfachen Oberfläche leicht aus KANs extrahieren lässt
- Langfristig könnten KANs dabei helfen, Hochtemperatur-Supraleiter zu entdecken oder Wege zur Steuerung der Kernfusion zu finden
1 Kommentare
Hacker-News-Kommentare
Ich habe KAN selbst an kleinen Modellierungsaufgaben ausprobiert, die Ergebnisse aufgeschrieben und mit gewöhnlichen neuronalen Netzen verglichen: https://news.ycombinator.com/item?id=40855028
Das zentrale Fazit ist, dass KANs deutlich schwieriger zu trainieren sind als gewöhnliche neuronale Netze. Den Verlust pro Parameter kann man meist auf ein ähnliches Niveau bringen, aber dafür waren viel Hyperparameter-Tuning und zusätzliche KAN-spezifische Techniken nötig. Normale neuronale Netze ließen sich dagegen deutlich einfacher trainieren und funktionierten unter breiteren Bedingungen gut.
In das Training neuronaler Netze ist bereits enorm viel Arbeit geflossen, und auch Optimierer wie Adam wurden in gewisser Weise für neuronale Netze entworfen und optimiert, daher halte ich den Vergleich nicht für völlig fair. KANs haben Potenzial, sind aber kein Allheilmittel, und ich bin auch etwas skeptisch gegenüber der Behauptung, dass die üblicherweise verwendeten Splines viel interpretierbarer seien als die Analyse der Ausgaben von Neuronen in unteren Schichten.
https://cprimozic.net/blog/trying-out-kans/
Forschung ist letztlich der Prozess, herauszufinden, welche Verbesserungen den praktischen Nutzen verändern, und es macht Spaß, die Entwicklung von https://github.com/mintisan/awesome-kan zu verfolgen und die verschiedenen Versuche zu sehen. Zwischen KANs und neuronalen Netzen mit festen Aktivierungsfunktionen gibt es einen kontinuierlichen Forschungsraum des Aktivierungsfunktions-Tunings.
Zum Beispiel kann eine einfache Familie parametrisierter Aktivierungsfunktionen wie xsigmoid(mx) je nach Wert von m wie ReLU, bei m=1.7 wie GeLU oder bei m=1 wie SiLU funktionieren. Es gibt viele Punkte auf diesem Spektrum: eine einzelne Aktivierungsfunktion pro Neuron, Aktivierungsfunktionen mit mehreren Parametern, Funktionsapproximatoren bis hin zu vollständigen KANs ohne Gewichte. Wer eine einheitliche Formel berechnen kann, die zeigt, wo zusätzliche Parameter am wirkungsvollsten platziert werden sollten, dürfte viel Anerkennung bekommen.
Ich stimme zu 100 % zu, dass KANs wohl nicht interpretierbarer sein werden. Für ein einzelnes Neuron kann ich das noch nachvollziehen, aber sobald man beginnt, solche Dinge zu kombinieren, verschwindet die Interpretierbarkeit schnell.
KANs lassen sich als eine weitere Aktivierungsstruktur innerhalb gewöhnlicher Mehrschicht-Perzeptrons modellieren, und wegen ihrer hohen Flexibilität ist das nicht überraschend. Ich habe ein Diagramm erstellt, das verschiedene Strukturtypen einordnet: https://x.com/thomasahle/status/1796902311765434694
Interessanterweise sind KANs nicht effizient, wenn man sie mit gewöhnlicher Matrixmultiplikation in PyTorch implementiert, aber mit benutzerdefinierten CUDA-Kernels oder
torch.compilekönnen sie sehr schnell werden: https://x.com/thomasahle/status/1798408687981297844Frühere Diskussion zu Kolmogorov-Arnold-Netzwerken: https://news.ycombinator.com/item?id=40219205
„Der Nachteil von KAN ist, dass das Training pro Parameter länger dauert, teilweise weil GPUs nicht genutzt werden können. Dafür werden aber weniger Parameter benötigt. Liu sagt, dass KANs selbst dann, wenn sie riesige CNNs oder Transformer für Bild- und Sprachverarbeitung nicht ersetzen können, bei vielen kleineren physikalischen Problemen nützlich sein könnten, wo die Trainingszeit keine große Rolle spielt.“
Da nicht einmal gesagt wird, dass GPUs künftig vielleicht genutzt werden könnten, liest sich das wie eine grundlegende Einschränkung.
Ich frage mich, ob sich so ein Ansatz auch bei KANs kosteneffizient anwenden ließe. Besonders interessiert mich, ob sich damit mithilfe vortrainierter Sprachmodelle wie LlaMa-3 interpretierbare Modelle trainieren lassen.
„Danach konnten wir das gesamte KAN als eine intuitive Funktion in einer einzigen Zeile zusammenfassen und in einigen Fällen die physikalische Funktion, die den Datensatz erzeugt hat, perfekt rekonstruieren.“
Die KAN-Idee ist wirklich interessant, aber streng genommen kann man auch ein traditionelles neuronales Netz als irgendeinen geschlossenen Ausdruck in einer Zeile schreiben. Nur wird diese Zeile dann eben sehr lang. Selbst wenn man dieselbe Entscheidungsgrenze mit weniger Neuronen erzeugen kann, ist für mich nicht klar, ob die Verwendung von Splines statt Gewichten den Ausdruck selbst wirklich weniger komplex macht
Im Prinzip könnte man bei einem mehrschichtigen Perzeptron etwas Ähnliches machen, aber die Darstellung eines mehrschichtigen Perzeptrons ist etwas verteilter, sodass Sparsifizierung und Symbolisierung schwieriger sein könnten
Könnte das jemand so erklären, als wäre ich fünf? Ich verstehe, dass neuronale Netze versuchen, die Verlustfunktion zu verringern, um bessere Ergebnisse zu erzielen, aber mich interessiert, was bei KAN tatsächlich anders ist
Ein normales neuronales Netz, also ein mehrschichtiges Perzeptron, hat Matrizen voller Gleitkommazahlen, die als Gewichte dienen. Gewichte sind lineare Funktionen wie y=wx; wenn man also Eingabe x und Ausgabe y in ein Koordinatensystem einträgt, erhält man eine Gerade. Wenn man die Eingabe vergrößert oder verkleinert, wächst oder schrumpft die Ausgabe ebenfalls in konstantem Verhältnis; der Effekt wird nicht plötzlich stärker oder schwächer und kehrt auch nicht die Richtung um
Deshalb lernt das Netzwerk Gewichte über viele Schichten hinweg und verbindet sie mit einer Art magischem Klebstoff aus Funktionen, die nicht gelernt werden, sondern Teil des Entwurfs sind. Am Ende entsteht die komplexe Beziehung zwischen Eingabe und Ausgabe durch das Durchlaufen vieler Schichten
Bei KAN lässt man das Netzwerk dagegen statt Gewichten, also linearen Funktionen, andere Arten von Funktionen lernen. Diese Funktionen sind nichtlinear, sodass die Ausgabe beim Erhöhen der Eingabe beschleunigt ansteigen oder die Richtung wechseln und sinken kann. Dadurch lassen sich viel komplexere Beziehungen zwischen Eingabe und Ausgabe lernen, aber man verliert womöglich einen Teil der Effizienz von GPUs, die für riesige Matrixoperationen optimiert sind, und braucht für beliebige mathematische Berechnungen eher die CPU
Daher hat KAN weniger, aber komplexere „Neuronen“, und jedes Neuron besteht aus einer komplexen Funktion. Der Reiz scheint zu sein, dass man ein einzelnes Neuron anschauen und eine klare Formel erhalten kann, die erklärt, was es tut. Bei mehrschichtigen Perzeptrons muss man Gewichte über viele Schichten hinweg verfolgen, sodass mehr Arbeit nötig ist, um das Gesamtverhalten zu verstehen
Allerdings dürften auch die Funktionen, die bei KAN herauskommen, eher nicht wie intuitive Formeln aus Isaac Newtons Notizbuch aussehen, sondern voller seltsamer Konstanten und unintuitiver Terme sein, die sich gegenseitig aufheben
output = simple_function(sum(many_inputs*many_weights) + extra_weight_for_bias)und eine KAN-Schicht eheroutput = sum(fancy_functions(many_inputs)). Kann falsch sein, ich bin erst seit einem Tag dabeif(x, y). Die Ausgabe eines KAN ist eine hübsch aussehende Formel wieexp(0.3sin(x) + 4cos(y)), und genau das ist mit Interpretierbarkeit gemeintIch frage mich, ob die Menge der gelernten Funktionen Wahrheitstabellen der Prädikatenlogik erster Stufe reproduzieren kann. Das sollte sich leicht überprüfen lassen
Jedenfalls wäre das in Bezug auf Differenzierbarkeit eine gute Nachricht. Derzeit ist es in JAX schwierig,
if-Bedingungen auszudrücken, und zumindest für mich ist das praktisch eine Optimierungsbarriere; wenn Bedingungen lernbar wären und bereits im Netzwerk steckten, wäre das großartigVor ein paar Wochen haben wir Ziming Liu zum London Machine Learning Meetup eingeladen. Er hat einen großartigen Vortrag über diese interessante Arbeit gehalten, und die Aufzeichnung gibt es hier: https://youtu.be/FYYZZVV5vlY?si=ReoygVJMgY9oje3p
Ich bin etwas skeptisch. In den 80er und 90er Jahren gab es bereits viele Paper und Experimente zu verschiedenen Architekturen künstlicher neuronaler Netze als Alternativen zu
f(x*w+b). Aber die praktisch leistungsstärksten Modelle von heute basieren immer noch auf Multiplikation, Akkumulation und Schwellwerten. Letztlich wegen Geschwindigkeit und Einfachheit„Der Nachteil von KAN ist, dass die Trainingszeit pro Parameter länger ist, teilweise weil GPUs nicht genutzt werden können.“
Das wirkt wie eine große Lücke. Ich würde gern wissen, ob das eine grundlegende strukturelle Unvereinbarkeit ist oder ob bisher einfach noch niemand die nötigen CUDA-Kernel geschrieben hat