paint-brush
Comparaison du réseau Kolmogorov-Arnold (KAN) et des perceptrons multicouches (MLP)par@aibites
957 lectures
957 lectures

Comparaison du réseau Kolmogorov-Arnold (KAN) et des perceptrons multicouches (MLP)

par Shrinivasan Sankar8m2024/06/29
Read on Terminal Reader

Trop long; Pour lire

Les KAN défient les perceptrons multicouches qui sont fondamentaux pour TOUS les LLM aujourd'hui. Mais survivront-ils et s’en sortiront-ils ? Comparons et contrastons.
featured image - Comparaison du réseau Kolmogorov-Arnold (KAN) et des perceptrons multicouches (MLP)
Shrinivasan Sankar HackerNoon profile picture
0-item

Nous avons pris pour acquis les perceptrons multicouches (MLP) classiques et avons construit de nombreuses architectures autour de ceux-ci. Les MLP font partie intégrante de chaque modèle de LLM ou de fondation que nous voyons aujourd'hui, tels que chatGPT, LAMA, DALLE et CLIP. Ou même de simples modèles de reconnaissance comme YOLO-v*.


Et si je vous disais maintenant que nous avons un concurrent pour les MLP ? Il y a un nouveau journal en ville appelé « Réseau Kolmogorov-Arnold », ou KAN en abrégé, qui défie les MLP. Si la solution qu’ils proposent évolue réellement, nous pourrons alors avoir la prochaine génération de réseaux de neurones, ce qui nous rapprochera encore davantage de l’intelligence générale artificielle (IAG).


Alors que les MLP comprennent des fonctions d'activation telles que ReLU, sigmoïde, tanh, GeLU, etc., KAN propose d'apprendre ces fonctions d'activation. Alors, comment KAN fait-il ? Quelles sont les mathématiques derrière tout ça ? Comment est-il mis en œuvre ? Et comment pouvons-nous même former les KAN ?

J'ai fait de mon mieux pour résumer ici l'article de la KAN. Vous pouvez soit choisir de lire l’essentiel, soit de lire le document, qui fait 48 pages !

Explication visuelle

Si vous êtes comme moi et que vous souhaitez visualiser les choses pour mieux comprendre, voici une version vidéo de cet article :


MLP - Le problème

Commençons par les MLP, que nous connaissons bien. Les MLP sont composés de nœuds et d’arêtes. Dans chaque nœud, les entrées sont additionnées et des activations telles que ReLU, GeLU et SeLU sont appliquées afin de produire la sortie pour ce nœud particulier.

Une figure tirée de l'article illustrant la différence entre les MLP et les KAN


Ces fonctions d'activation ne changent jamais pendant le processus de formation. En d’autres termes, ils n’ont aucun paramètre. Ils ne sont pas assez intelligents pour s’adapter à un ensemble de données d’entraînement donné. Ainsi, ce qui est formé ou mis à jour pendant la formation, ce sont les poids de chacun de ces nœuds.

Maintenant, que se passe-t-il si nous remettons en question l’hypothèse selon laquelle la fonction d’activation doit être corrigée et rendue entraînable ? C'est donc le défi que le réseau KAN a tenté de relever. Les fonctions d'activation du réseau KAN sont mises à jour au cours du processus de formation. Avant d'approfondir, commençons par les polynômes et l'ajustement des courbes.

Polynômes et ajustement de courbe

Ainsi, l’idée fondamentale des KAN est que toute fonction composite multivariée peut être décomposée en une somme de plusieurs fonctions qui sont des variables uniques.

Une animation illustrant les fonctions x^2 et x^3

Par exemple, disons que nous avons une équation de degré 3 où y=x³ comme tracé par la courbe jaune ci-dessus. Et une autre équation de degré 2, y=x², comme le montre la courbe bleue dans l'animation ci-dessus. Nous pouvons voir dans cette visualisation que l'utilisation de x² ne pourra jamais atteindre la courbure obtenue par x³.


Supposons que nous recevions les données représentées par les points rouges et bleus ci-dessous et que nous souhaitions trouver la limite de classification binaire entre les deux classes.

Un problème de jouet où x^3 s'adapte mieux que x^2. Mais peut toujours être résolu avec x^2 en ajoutant deux courbes x^2 !

En utilisant un polynôme du second ordre, , nous ne pourrons pas trouver la limite entre les deux car la courbe x² a la forme d'un « U », mais les données ont la forme d'un « S ». Bien que l'utilisation de soit adaptée à ces données, elle entraîne un coût de calcul supplémentaire. Une solution différente pourrait être d'utiliser lorsque l'entrée x est négative mais d'utiliser - lorsque x est positif (courbe bleue dessinée à la main dans la figure ci-dessus).

Tout ce que nous avons fait, c'est ajouter deux polynômes de degré inférieur pour obtenir une courbe avec un degré de liberté plus élevé. C’est exactement l’idée derrière les réseaux KAN.

Un problème de jouet

Prenons maintenant un problème de jouet légèrement plus complexe où nous savons que les données sont générées par une équation simple, y=exp(sin(x1² + x2²) + sin(x3² + x4²)) . Nous avons donc 4 variables d’entrée et trois opérations, à savoir l’exposant, le sinus et le carré. Ainsi, nous pouvons choisir quatre nœuds d'entrée avec trois couches, chacune dédiée aux trois opérations différentes, comme indiqué ci-dessous.

Un réseau KAN simple avec 4 entrées, 3 couches pour 3 fonctions de base

Réseau KAN pour un problème de jouet avec quatre entrées et trois fonctions de base pour les calculs : exposant, sinusoïde et carré

Après la formation, les nœuds convergeront vers les fonctions carré, sinusoïde et exposant pour s'adapter aux données.


Comme il s’agit d’un problème de jouet, nous connaissons l’équation d’où proviennent les données. Mais en pratique, nous ne connaissons pas la distribution des données du monde réel. Une façon de résoudre ce problème consiste à utiliser les B-splines.

Splines et B-splines

L'idée fondamentale des B-splines est que toute fonction ou courbe donnée peut être représentée comme une combinaison de fonctions ou de courbes plus simples. Ces fonctions plus simples sont appelées fonctions de base. Par exemple, prenons la courbe rouge dans la figure ci-dessous. Par souci de simplicité, essayons de représenter cela avec seulement deux fonctions de base.


On peut le décomposer en 3 points car nous allons le représenter avec la somme de deux fonctions de base. Ces points sont appelés nœuds. Il peut y avoir n’importe quel nombre n de fonctions de base. Le paramètre qui contrôle la façon dont cette base fonctionne avec les combinaisons est c. Il peut y avoir des discontinuités au niveau des nœuds lorsque l’on « rejoint » deux courbes. La solution est de contraindre la courbure des courbes au niveau des nœuds afin d'obtenir une courbe lisse. Par exemple, nous pouvons contraindre la pente des deux courbes à être la même au niveau des nœuds, comme le montre la flèche verte dans la figure ci-dessous.

Mes gribouillis pour illustrer les B-splines et les fonctions de base

Comme nous ne pouvons pas imposer une telle contrainte dans le réseau neuronal, ils ont introduit les fonctions d'activation résiduelles dans l'article. Cela s’apparente davantage à une régularisation. En pratique, il s'agit de l'activation SeLU qui est ajoutée à la fonction spline standard, comme le montre l'article ci-dessous.

Grilles splines et grainage fin des KAN

Les KAN introduisent une nouvelle méthode de formation appelée grainage fin . Ce que nous connaissons tous, c'est le réglage fin, où nous ajoutons plus de paramètres au modèle. Cependant, dans le cas d'un grain fin, on peut améliorer la densité des grilles splines. C'est ce qu'ils appellent l'extension du réseau.

Partie de la figure de l'article montrant un grain fin qui équivaut au réglage fin d'un réseau neuronal standard

Comme nous pouvons le voir sur la figure ci-dessus tirée de l'article, le grain fin consiste simplement à rendre les grilles de B-splines denses afin qu'elles deviennent plus représentatives et, par conséquent, plus puissantes.

Complexité informatique

L’un des inconvénients des splines est qu’elles sont récursives et donc coûteuses en calcul. Leur complexité de calcul est O(N²LG), ce qui est supérieur à la complexité habituelle de O(N²L) pour les MLP. La complexité supplémentaire vient des intervalles de grille G.

Les auteurs défendent ce problème inhérent en montrant que :

  • Le nombre de paramètres requis par KAN est inférieur à celui des MLP pour le même problème
  • Les KAN convergent rapidement et efficacement pendant la formation, nécessitant ainsi moins de temps de formation.

Nous verrons les tracés de ces défenses dans la section résultats. Pour l’instant, intéressons-nous davantage à une autre spécialité des KAN.

Interprétabilité et choix des couches KAN

À mesure que les KAN apprennent des fonctions, il ne s'agit pas simplement d'une boîte noire comme les MLP où nous pouvons simplement les concevoir en choisissant la profondeur et la largeur du MLP pour une donnée ou un problème donné. Ainsi, pour rendre les KAN plus interprétables et concevoir un bon réseau KAN, nous devons suivre les étapes ci-dessous :

  • Sparsification. Nous commençons avec un réseau KAN plus grand que prévu et introduisons la régularisation en introduisant la norme L1 de la fonction d'activation au lieu des entrées comme nous le faisons généralement avec le Machine Learning.
  • Taille. Une fois le réseau clairsemé formé, nous pouvons alors supprimer les nœuds inutiles qui sont en dessous d'un certain seuil dans un critère ou un score défini.
  • Symbolisation. Lorsque nous savons vaguement quelle fonction constitue une donnée donnée, nous pouvons définir quelques nœuds pour prendre cette fonction. C’est ce qu’on appelle la symbolisation. Par exemple, si nous travaillons avec des ondes sonores, la plupart des données sont sinusoïdales, nous nous facilitons donc la vie en définissant certains nœuds comme sinusoïdes. Le framework nous permet de le faire en fournissant une fonction d'interface appelée fix_symbolic(l,i,j,f)l, i, j sont la couche de nœuds et les emplacements, et f est la fonction qui peut être sine, cosine, log, etc

Différentes étapes pour entraîner un modèle KAN

Un résumé des différentes étapes suggérées dans le document pour parvenir à un réseau KAN formé

Les différentes étapes ont été résumées dans la figure ci-dessus. Nous commençons par un grand réseau et éparsifions (étape 1), élaguons le réseau résultant (étape 2), définissons une symbolisation (étape 3), formons le réseau (étape 4) et arrivons enfin au modèle formé.

Expériences et résultats

En utilisant les étapes mentionnées ci-dessus, ils ont formé des réseaux KAN pour cinq problèmes de jouets différents afin d'illustrer leur efficacité et de les comparer aux MLP. Les principaux points à retenir de la comparaison sont :

  • KAN s'entraîne beaucoup plus rapidement que les MLP, compromettant ainsi la complexité informatique qui lui est inhérente.
  • KAN peut faire avec moins de paramètres ce que les MLP peuvent faire avec beaucoup plus
  • Les KAN convergent très facilement avec une perte décroissante rapide par rapport aux MLP

Le premier point est représenté par la ligne bleue épaisse dans les cinq graphiques du graphique du haut ci-dessus pour les cinq problèmes de jouets. Les deux derniers points sont illustrés par le tracé en bas montrant les courbes de perte et le nombre de paramètres pour résoudre un problème donné.

Les résultats de l'article indiquent que les KAN convergent plus rapidement et peuvent être formés avec moins de paramètres et moins de temps pour surmonter le problème de complexité informatique.

Oubli catastrophique

Le prochain point à retenir est que les KAN sont bien meilleurs que les MLP dans le problème de l’oubli catastrophique. Si nous alimentons les données de séquence pour un apprentissage continu, les KAN semblent bien mieux mémoriser les données passées que les MLP. Ceci est illustré dans la figure ci-dessous, où KAN reproduit les 5 phases dans les données, mais MLP a du mal.

Figure tirée de l'article montrant que les KAN sont plus efficaces que les MLP pour surmonter les oublis catastrophiques.

Autres résultats

Ils ont également réalisé des expériences approfondies pour montrer que KAN peut être utilisé pour des problèmes impliquant des dérivées partielles et des équations physiques. Plutôt que d’entrer dans ces détails, voyons quand choisir les KAN par rapport aux MLP.

Choisir entre KAN et MLP

Ils ont donné le chiffre ci-dessous pour nous guider sur le moment de choisir les KAN plutôt que les MLP. Alors, choisissez les KAN si,

  • vous traitez des données structurelles telles que des formes d'onde ou des graphiques
  • souhaite avoir un apprentissage continu à partir des données
  • ne vous souciez pas beaucoup du temps d'entraînement !
  • données de grande dimension

Choisir entre KAN et MLP figure dans le journal

Sinon, les MLP gagnent toujours.

Crier

Si vous avez aimé cet article, pourquoi ne pas me suivre Twitter où je partage les mises à jour des recherches des meilleurs laboratoires d'IA chaque jour de la semaine ?

Abonnez-vous également à mon Chaîne Youtube où j'explique visuellement les concepts et les articles sur l'IA.

Discussion et conclusion

À mon avis, les KAN ne sont pas là pour remplacer les MLP quant à la façon dont les transformateurs ont balayé proprement le paysage de la PNL. Les KAN s’avéreront plutôt utiles pour des problèmes de niche en mathématiques et en physique. Même dans ce cas, je pense que nous avons besoin de beaucoup plus d’améliorations. Mais pour les problèmes de Big Data résolus avec des modèles de base, les KAN ont encore un long chemin à parcourir, du moins dans leur état actuel.

De plus, l’approche de formation et la conception de l’architecture KAN ont tendance à s’écarter de la manière standard de concevoir et de former les réseaux neuronaux modernes. Néanmoins, la page GitHub compte déjà 13 000 étoiles et 1,2 000 forks, ce qui indique qu'elle est prête à faire quelque chose. Attendons et surveillons cet espace.