- Les Kolmogorov-Arnold Networks (KANs) reposent sur une architecture différente des réseaux neuronaux classiques : même à petite échelle, ils offrent des résultats plus interprétables et plus précis, et pourraient devenir un outil permettant aux scientifiques de formuler de nouvelles hypothèses à partir de données physiques
- Alors que les MLP classiques s’appuient sur les poids des synapses et les fonctions d’activation des neurones, dans un KAN les synapses apprennent des fonctions entrée-sortie, tandis que les neurones se contentent de calculer la somme des sorties des synapses
- Sur des données de lois physiques et dans une expérience sur des nœuds topologiques, les performances des KAN se sont améliorées plus rapidement à mesure que leur taille augmentait ; pour la résolution d’équations aux dérivées partielles, ils ont été 100 fois plus précis qu’un MLP comptant 100 fois plus de paramètres
- Les chercheurs ont visualisé la forme des fonctions internes des KAN et l’importance des connexions, puis élagué les connexions faibles ; dans certains cas, ils ont ainsi reconstruit la fonction physique ayant généré le jeu de données sous la forme d’une fonction intuitive d’une seule ligne
- Les KAN demandent plus de temps d’entraînement par paramètre et exploitent difficilement les GPU, mais comme ils nécessitent peu de paramètres, ils restent pratiques à petite échelle, par exemple pour des problèmes de physique
La nouvelle architecture de réseau neuronal proposée par les KAN
- Les réseaux neuronaux artificiels au cœur de l’IA moderne alimentent les chatbots et les générateurs d’images, mais leur grand nombre de neurones peut en faire des boîtes noires dont le fonctionnement interne est difficile à interpréter
- La nouvelle architecture des Kolmogorov-Arnold Networks (KANs) est plus interprétable que les réseaux neuronaux traditionnels et, dans les expériences, a obtenu de meilleurs résultats avec une taille plus réduite
- Les concepteurs des KAN estiment que cette architecture peut représenter de façon concise des données physiques et aider les scientifiques à découvrir de nouvelles hypothèses sur les lois de la nature
- Brice Ménard, de Johns Hopkins University, souligne que depuis plus de dix ans la conception des réseaux neuronaux repose largement sur des ajustements par essais et erreurs, et voit positivement l’émergence d’une nouvelle architecture conçue à partir de premiers principes comme les KAN
Différences entre les MLP classiques et les KAN
- Dans un réseau neuronal traditionnel, une synapse apprend un unique poids représentant la force de connexion entre deux neurones
- Un neurone calcule ensuite une somme pondérée des entrées provenant des neurones de la couche précédente, puis applique à cette somme une simple fonction d’activation
- Une architecture où tous les neurones sont connectés à tous les neurones de la couche suivante est appelée multi-layer perceptron (MLP)
- Dans les KAN, les rôles sont inversés
- Les synapses apprennent une fonction d’activation qui mappe une entrée vers une sortie, au lieu d’une simple intensité de connexion
- Cette fonction peut être une spline, c’est-à-dire une combinaison de plusieurs fonctions, et peut varier d’une connexion à l’autre
- Les neurones deviennent plus simples : ils ne font qu’additionner les sorties des synapses précédentes
- Le nom KAN vient des mathématiciens Kolmogorov et Arnold, qui ont étudié les façons de composer des fonctions
- L’objectif de cette architecture est d’offrir davantage de flexibilité pour représenter des données avec moins de paramètres d’apprentissage
Performances observées sur des tâches scientifiques
- Les chercheurs ont testé les KAN sur des tâches scientifiques relativement simples
- Certaines expériences utilisaient des lois physiques simples, comme la vitesse à laquelle deux objets se déplaçant à des vitesses relativistes se croisent
- Des équations ont servi à générer des points de données entrée-sortie
- Pour chaque fonction physique, le réseau a été entraîné sur une partie des données puis testé sur le reste
- À mesure que leur taille augmentait, les KAN amélioraient leurs performances plus vite que les MLP
- Pour la résolution d’équations aux dérivées partielles, un KAN a été 100 fois plus précis qu’un MLP comptant 100 fois plus de paramètres
- Dans une autre expérience, les réseaux ont été entraînés à prédire une propriété appelée signature d’un nœud à partir d’autres propriétés de nœuds topologiques
- Le MLP a atteint une précision de test de 78 % avec environ 300 000 paramètres
- Le KAN a atteint une précision de test de 81,6 % avec environ 200 paramètres
Interprétabilité et reconstruction de fonctions
- Les chercheurs ont pu déployer visuellement un KAN afin d’observer la forme des fonctions d’activation et l’importance de chaque connexion
- Les connexions faibles pouvaient être élaguées manuellement ou automatiquement
- Certaines fonctions d’activation pouvaient être remplacées par des fonctions plus simples, comme une fonction sinus ou exponentielle
- Le KAN complet pouvait ainsi être résumé par une fonction d’une seule ligne intuitive, incluant ses fonctions d’activation constitutives
- Dans certains cas, la fonction physique ayant généré le jeu de données a été parfaitement reconstruite
- Ziming Liu, du MIT et du NSF AI Institute for Artificial Intelligence and Fundamental Interactions, estime qu’en introduisant dans un KAN un jeu de données difficile à interpréter, on peut générer des hypothèses, puis examiner le diagramme du KAN et ajuster sa structure si nécessaire
Combinaison avec les CNN et les transformers
- Le preprint sur les KAN a déjà été cité dans plusieurs dizaines d’articles
- Alexander Bodner, de l’University of San Andrés, et ses collègues ont combiné les KAN avec les CNN, largement utilisés pour le traitement d’images, afin de créer des Convolutional KANs
- Sur des tâches de classification de chiffres manuscrits et d’images de vêtements, les Convolutional KANs ont obtenu une précision presque identique à celle des CNN traditionnels
- Pour la classification de chiffres, les deux réseaux ont atteint 99 % de précision
- Pour la classification de vêtements, les deux réseaux ont atteint 90 % de précision
- Le modèle combiné avec KAN utilisait environ 40 % de paramètres en moins
- Bodner précise que les jeux de données utilisés étaient simples, mais que d’autres équipes disposant de davantage de ressources de calcul ont commencé à faire passer ces réseaux à l’échelle
- D’autres chercheurs combinent les KAN avec les transformers, largement utilisés dans les grands modèles de langage
Entraînement lent et champ d’application possible
- L’inconvénient des KAN est que leur entraînement prend plus de temps par paramètre
- L’une des raisons de cette lenteur est la difficulté à exploiter les GPU
- En revanche, les KAN nécessitent peu de paramètres
- Ziming Liu estime que même si les KAN ne remplacent pas les immenses CNN ou transformers utilisés pour le traitement des images et du langage, le temps d’entraînement pourrait ne pas poser problème à la petite échelle de nombreux problèmes de physique
- Liu étudie des façons d’intégrer les connaissances préalables d’experts dans les KAN
- Par exemple, une personne peut choisir directement les fonctions d’activation
- Il examine aussi des moyens d’extraire facilement des connaissances d’un KAN via une interface simple
- À long terme, les KAN pourraient aider à découvrir des supraconducteurs à haute température ou à explorer des méthodes de contrôle de la fusion nucléaire
1 commentaires
Avis sur Hacker News
Quelqu’un a directement expérimenté KAN sur des modèles de petite taille et en a fait un compte rendu, avec une comparaison aux réseaux de neurones classiques : https://news.ycombinator.com/item?id=40855028
La conclusion principale est que les KAN sont bien plus difficiles à entraîner que les réseaux de neurones classiques. On peut généralement obtenir une perte par paramètre comparable, mais cela a demandé beaucoup plus d’ajustements d’hyperparamètres et des techniques supplémentaires propres à la structure des KAN. À l’inverse, les réseaux de neurones de base s’entraînaient beaucoup plus facilement et fonctionnaient bien dans un éventail de conditions plus large
Il existe déjà une énorme somme de travail accumulée sur l’entraînement des réseaux de neurones, et des optimiseurs comme Adam ont aussi été conçus et optimisés pour eux, donc la comparaison n’est pas totalement équitable. Les KAN ont du potentiel, mais ce ne sont pas une solution universelle, et l’idée selon laquelle les splines couramment utilisées seraient beaucoup plus interprétables que l’analyse des sorties de neurones de couches inférieures semble aussi un peu douteuse
https://cprimozic.net/blog/trying-out-kans/
La recherche consiste au fond à découvrir quelles améliorations changent réellement l’utilité d’une approche, et suivre l’avancement de https://github.com/mintisan/awesome-kan pour voir les différentes tentatives est intéressant. Entre les KAN et les réseaux de neurones à fonctions d’activation fixes, il existe tout un espace de recherche continu autour de l’ajustement des fonctions d’activation
Par exemple, une famille simple de fonctions d’activation paramétrées comme xsigmoid(mx) peut se comporter comme ReLU quand m est grand, comme GeLU quand m=1.7, et comme SiLU quand m=1. Il existe plusieurs points sur ce spectre : une fonction d’activation unique par neurone, des fonctions d’activation avec plusieurs paramètres, des approximateurs de fonctions, jusqu’à un KAN complet sans poids ; toute personne capable de calculer, via une formule unifiée, où placer les paramètres supplémentaires pour obtenir le meilleur effet gagnerait probablement une grande reconnaissance
Je suis d’accord à 100 % sur le fait que les KAN ne seront probablement pas plus interprétables. Pour un neurone isolé, oui, mais dès qu’on commence à composer ces éléments, l’interprétabilité disparaît vite à mon avis
Les KAN peuvent être modélisés comme une autre structure d’activation au sein d’un perceptron multicouche classique, et vu leur flexibilité, ce n’est pas très surprenant. Quelqu’un a réalisé un graphique qui classe plusieurs types de structures : https://x.com/thomasahle/status/1796902311765434694
Fait intéressant, les KAN ne sont pas très efficaces s’ils sont implémentés avec les multiplications matricielles classiques de PyTorch, mais ils peuvent devenir très rapides avec des kernels CUDA personnalisés ou avec torch.compile : https://x.com/thomasahle/status/1798408687981297844
Discussion précédente sur les réseaux Kolmogorov-Arnold : https://news.ycombinator.com/item?id=40219205
« L’inconvénient des KAN est que le temps d’entraînement par paramètre est plus long, en partie parce qu’ils ne peuvent pas exploiter le GPU. Mais ils nécessitent moins de paramètres. Liu dit que même si les KAN ne remplacent pas les énormes CNN ou Transformers pour le traitement d’images et du langage, le temps d’entraînement ne sera probablement pas un problème pour beaucoup de problèmes de physique à petite échelle. »
Comme il n’est même pas dit qu’ils pourraient peut-être exploiter les GPU à l’avenir, cela donne l’impression d’une limite fondamentale
Je me demande si ce type d’approche pourrait aussi s’appliquer aux KAN de manière rentable. En particulier, je me demande s’il serait possible d’entraîner un modèle interprétable à partir d’un modèle de langage préentraîné comme LlaMa-3
« Ensuite, nous avons pu résumer l’ensemble du KAN en une fonction intuitive d’une seule ligne et, dans certains cas, reconstruire parfaitement la fonction physique qui avait généré le jeu de données. »
L’idée des KAN est vraiment intéressante, mais en toute rigueur, un réseau de neurones traditionnel peut aussi s’écrire sous la forme d’une expression compacte en forme fermée sur une seule ligne. C’est juste que cette ligne devient très longue. Même si l’on peut obtenir la même frontière de décision avec moins de neurones, je ne suis pas sûr que remplacer les poids par des splines rende l’expression elle-même moins complexe.
En principe, on pourrait faire quelque chose de similaire avec un perceptron multicouche, mais sa représentation est plus diffuse, ce qui peut rendre la parcimonie et la symbolisation plus difficiles.
Est-ce que quelqu’un pourrait m’expliquer ça comme si j’avais cinq ans ? Je comprends qu’un réseau de neurones essaie de réduire une fonction de perte pour obtenir de meilleurs résultats, mais je me demande ce qui change concrètement avec les KAN.
Un réseau de neurones classique, c’est-à-dire un perceptron multicouche, contient des matrices remplies de nombres à virgule flottante qui jouent le rôle de poids. Les poids sont des fonctions linéaires, du type y=wx ; si l’on trace l’entrée x et la sortie y sur un graphique, on obtient une droite. Si on augmente ou diminue l’entrée, la sortie augmente ou diminue dans une proportion constante ; l’effet ne grossit pas soudainement, ne rétrécit pas brutalement et ne change pas non plus de direction.
Le réseau apprend donc les poids de plusieurs couches, puis les relie avec une sorte de fonction de colle magique incluse dans l’architecture plutôt qu’apprise. Au final, la relation complexe entre l’entrée et la sortie se construit au fil des couches.
Avec un KAN, en revanche, au lieu d’apprendre des poids — donc des fonctions linéaires — on laisse le réseau apprendre un autre type de fonctions. Ces fonctions sont non linéaires : quand l’entrée augmente, la sortie peut accélérer, ou bien changer de direction et diminuer. Cela permet d’apprendre des relations bien plus complexes entre les entrées et les sorties, mais on peut perdre une partie de l’efficacité des GPU, optimisés pour les grosses opérations matricielles, et devoir s’appuyer sur le CPU pour des calculs mathématiques arbitraires.
Donc un KAN a moins de « neurones », mais ils sont plus complexes, et chaque neurone est constitué d’une fonction complexe. Ce qui est séduisant, c’est qu’en examinant un seul de ces neurones, on peut obtenir une formule claire qui décrit ce qu’il fait. Dans un perceptron multicouche, il faut suivre les poids à travers plusieurs couches, ce qui demande davantage de travail pour comprendre le comportement global.
Cela dit, même les fonctions produites par un KAN risquent moins de ressembler à une formule intuitive sortie des notes d’Isaac Newton qu’à quelque chose rempli de constantes bizarres et de termes peu intuitifs qui s’annulent entre eux.
output = simple_function(sum(many_inputs*many_weights) + extra_weight_for_bias), tandis qu’une couche KAN ressemble davantage àoutput = sum(fancy_functions(many_inputs)). Je peux me tromper, ça ne fait qu’un jour que je regarde ça.f(x, y). La sortie d’un KAN, c’est une jolie formule commeexp(0.3sin(x) + 4cos(y)), et c’est en ce sens qu’on dit qu’il est interprétable.Je me demande si l’ensemble des fonctions apprises peut reproduire la table de vérité de la logique du premier ordre. Ça semble facile à vérifier.
En tout cas, du point de vue de la différentiabilité, c’est une bonne nouvelle. En ce moment, exprimer des conditions
ifdans JAX est compliqué, et pour moi c’est pratiquement une barrière à l’optimisation ; si les conditions peuvent être apprises et déjà intégrées au réseau, je trouve ça excellent.Nous avons invité Ziming Liu il y a quelques semaines au London Machine Learning Meetup. Il a fait une excellente présentation sur ce travail intéressant, et l’enregistrement est ici : https://youtu.be/FYYZZVV5vlY?si=ReoygVJMgY9oje3p
Je suis un peu sceptique. Dans les années 80 et 90, il y a aussi eu beaucoup d’articles et d’expériences sur diverses architectures de réseaux neuronaux artificiels comme alternatives à
f(x*w+b). Pourtant, aujourd’hui encore, les meilleurs modèles réellement performants reposent toujours sur multiplication-accumulation-seuillage. En fin de compte, c’est à cause de la vitesse et de la simplicité.« L’inconvénient des KAN est que le temps d’entraînement par paramètre est plus long, en partie parce qu’ils ne peuvent pas utiliser les GPU. »
Ça semble être un écart important. Je me demande si quelqu’un sait s’il s’agit d’une inadéquation structurelle fondamentale, ou si c’est simplement parce que personne n’a encore écrit les kernels CUDA nécessaires.