Recherche de site Web

Les réseaux Kolmogorov-Arnold (KAN) sont-ils une alternative prometteuse au perceptron multicouche ?


Introduction

Un nouvel article sur l'apprentissage automatique présenté par nous présente avec audace une nouvelle voie dans le domaine de l'apprentissage profond. La récente publication sur les réseaux Kolmogorov-Arnold (KAN) fait précisément partie de ces travaux révolutionnaires. Aujourd’hui, nous allons essayer de comprendre les idées de cet article et les concepts fondamentaux des KAN.

Un nouvel algorithme d'apprentissage automatique, Kolmogorov-Arnold Networks (KAN), promet d'être une alternative au Perceptron multicouche. Les perceptrons multicouches (MLP), ou réseaux neuronaux à réaction entièrement connectés, sont comme les éléments fondamentaux de l'apprentissage profond moderne. Ils sont importants pour résoudre des problèmes complexes, car ils permettent d’approcher les relations courbes entre les données d’entrée et de sortie.

Mais les KAN sont-ils la solution ultime pour créer des modèles qui comprennent et prédisent les choses ?

Malgré leur utilisation répandue, les MLP présentent certains inconvénients. Par exemple, dans des modèles tels que les transformateurs, les MLP utilisent une grande partie des paramètres qui ne sont pas impliqués dans l’intégration des données. De plus, ils sont souvent difficiles à comprendre, ce qui en fait un modèle de boîte noire, par rapport à d'autres parties du modèle, comme les couches d'attention, ce qui peut rendre plus difficile la compréhension des raisons pour lesquelles ils font certaines prédictions sans outils d'analyse supplémentaires.

Conditions préalables

  • Calcul de base et algèbre linéaire : comprendre les opérations de différenciation, d'intégration et matricielles.
  • Analyse réelle élémentaire : Familiarité avec les fonctions continues, les séries et les espaces fonctionnels.
  • Calcul multivariable : Connaissance des dérivées partielles et des fonctions multivariables.
  • Systèmes dynamiques : exposition aux concepts de base tels que les espaces de phases, la stabilité et les points fixes.
  • Bases du Machine Learning : compréhension des réseaux neuronaux, des fonctions d'activation et des algorithmes d'entraînement.
  • Théorème de Kolmogorov-Arnold : certains éléments du théorème qui garantissent que toute fonction continue multivariée peut être représentée comme une composition de fonctions univariées continues.

Ces concepts vous aideront à mieux appréhender le concept des KAN.

Pourquoi est-il considéré comme une alternative au MLP ?

Alors que les MLP concernent uniquement des fonctions d'activation fixes sur les nœuds, les KAN inversent le script en plaçant des fonctions d'activation apprenables sur les bords. Cela signifie que chaque paramètre de poids dans un KAN est remplacé par une fonction 1D apprenable, rendant le réseau plus flexible. Étonnamment, malgré cette complexité supplémentaire, les KAN nécessitent souvent des graphiques de calcul plus petits que les MLP. En fait, dans certains cas, un KAN plus simple peut surpasser un MLP beaucoup plus grand, à la fois en termes de précision et d'efficacité des paramètres, comme dans la résolution d'équations aux dérivées partielles (EDP).

Comme indiqué dans le document de recherche, pour la résolution de PDE, un KAN à 2 couches de largeur 10 est 100 fois plus précis qu'un MLP à 4 couches de largeur 100 (10−7 contre 10−5 MSE) et 100 fois plus efficace en termes de paramètres ( 102 contre 104 paramètres).> Comme indiqué dans le document de recherche, pour la résolution de PDE, un KAN à 2 couches de largeur 10 est 100 fois plus précis qu'un MLP à 4 couches de largeur 100 (10−7 vs 10−5 MSE ) et 100 fois plus efficace en termes de paramètres (102 contre 104 paramètres).

Les réseaux Kolmogorov-Arnold sont en l'honneur de deux grands mathématiciens décédés, Andrey Kolmogorov et Vladimir Arnold (Source)

D'autres documents de recherche ont également tenté d'appliquer ce théorème pour former des modèles d'apprentissage automatique dans le passé. Cependant, cet article va plus loin en élargissant l’idée. Il introduit une approche plus généralisée afin que nous puissions former des réseaux de neurones de toute taille et complexité en utilisant la rétropropagation.

Qu’est-ce que KAN ?

Les KAN sont basés sur le théorème de représentation de Kolmogorov-Arnold,

Si f est une fonction continue multivariée sur un domaine borné, alors f peut être écrit comme une composition finie de fonctions continues d'une seule variable et l'opération binaire d'addition. Plus précisément, pour un f : [0, 1]n → R,
lisse Si f est une fonction continue multivariée sur un domaine borné, alors f peut être écrit comme une composition finie de fonctions continues d'une seule variable et l'opération binaire d'addition. Plus précisément, pour un f : [0, 1]n → R, lisse

Pour comprendre cela, prenons un exemple d'équation multivariée comme celle-ci,

Il s'agit d'une fonction multivariée car ici, y dépend de x1, x2,…xn.
Selon le théorème, nous pouvons exprimer cela comme une combinaison de fonctions à variable unique. Cela nous permet de décomposer l'équation multivariée en plusieurs équations individuelles, chacune impliquant une variable et une autre fonction de celle-ci, et ainsi de suite. Résumez ensuite les sorties de toutes ces fonctions et transmettez cette somme à travers une autre fonction univariée, f comme indiqué ici.

Fonction univariée

Passer la sortie additionnée à une autre fonction (composition unique)

De plus, au lieu de créer une seule composition, nous réalisons plusieurs compositions, par exemple plusieurs compositions différentes, et les résumons.

De plus, nous pouvons réécrire l'équation ci-dessus en,

Aperçu du document

L'article a démontré que l'addition est la seule véritable fonction multivariée, car toutes les autres fonctions peuvent être exprimées par une combinaison de fonctions univariées et de sommation. À première vue, cela peut sembler une avancée majeure pour l'apprentissage automatique, réduisant le défi de l'apprentissage de fonctions de grande dimension à la maîtrise d'un nombre polynomial de fonctions 1D.
En termes plus simples, cela revient à dire que même lorsqu’il s’agit d’une équation complexe ou d’une tâche d’apprentissage automatique dont le résultat dépend de nombreux facteurs, nous pouvons la diviser en parties plus petites et plus faciles à gérer. Nous nous concentrons sur chaque facteur individuellement, un peu comme si nous résolvions une pièce du puzzle à la fois, puis nous rassemblons le tout pour résoudre le problème le plus important. Le principal défi consiste donc à déterminer comment gérer ces éléments individuels, et c'est là que l'apprentissage automatique et des techniques telles que la rétropropagation interviennent pour nous aider.

L'équation de représentation originale de Kolmogorov-Arnold s'aligne sur un KAN à 2 couches ayant une forme de [n, 2n + 1, 1].

Il convient de noter que toutes les opérations au sein de cette représentation sont différenciables, ce qui nous permet de former des KAN par rétropropagation.

L'équation ci-dessus montre que la somme externe parcourt toutes les différentes compositions de 1 à m. De plus, la somme interne parcourt chaque variable d'entrée x1 à xn pour chaque fonction externe q. Sous forme matricielle, cela peut être représenté ci-dessous.

Ici, la fonction interne peut être représentée comme une matrice remplie de diverses fonctions d'activation (notées phi). De plus, nous avons un vecteur d'entrée (x) avec n caractéristiques, qui traversera toutes les fonctions d'activation. Veuillez noter ici que phi représente la fonction d'activation et non les poids. Ces fonctions d'activation sont appelées B-Splines. Pour ajouter ici chacune de ces fonctions sont de simples courbes polynomiales. Les courbes dépendent de l'entrée de x.

Représentation visuelle de KAN

Voici une représentation visuelle de la formation d'un KAN à 3 couches,

Représentation visuelle de KAN-Remarquez comment la valeur de x modifie la courbe et cela, à son tour, modifie les valeurs d'activation

À gauche : notations des activations qui transitent par le réseau. À droite : une fonction d'activation est paramétrée sous la forme d'une B-spline, qui permet de basculer entre des grilles à gros grains et à grains fins.

Dans l'illustration donnée, il existe deux entités d'entrée et une première couche de sortie composée de cinq nœuds. Chaque sortie de ces nœuds subit cinq fonctions d'activation univariées paramétrées distinctes. Les activations résultantes sont ensuite additionnées pour produire les fonctionnalités de chaque nœud de sortie. L'ensemble de ce processus constitue une seule couche KAN avec une dimension d'entrée de 2 et une dimension de sortie de 5. Comme le perceptron multicouche (MLP), plusieurs couches KAN peuvent être empilées les unes sur les autres pour générer un réseau neuronal long et plus profond. La sortie d’une couche est l’entrée de la suivante. De plus, comme les MLP, le graphe de calcul est entièrement différentiable, car il repose sur des fonctions d'activation différentiables et une sommation au niveau du nœud, permettant un entraînement via rétropropagation et descente de gradient.

Différence entre les MLP et les KAN

L'un des principaux différenciateurs entre les deux réseaux est que les MLP placent des fonctions d'activation fixes sur les nœuds. En revanche, les KAN placent des fonctions d’activation apprenables le long des bords, et les nœuds les résument.

Dans les MLP, les fonctions d'activation sont sans paramètres et effectuent des opérations fixes sur les entrées, tandis que les paramètres apprenables ne sont que des poids et des biais linéaires. En revanche, les KAN manquent totalement de matrices de poids linéaires ; au lieu de cela, chaque paramètre de poids est remplacé par une fonction d'activation non linéaire apprenable.
De plus, compte tenu du problème d'instabilité des fonctions d'activation traditionnelles dans les réseaux de neurones, la formation est assez difficile. Pour résoudre ce problème, les auteurs des KAN utilisent des B-splines, qui offrent une plus grande stabilité et un comportement limité.

B-Splines

Maintenant, comprenons brièvement les B-splines. Les B-splines sont essentiellement des courbes constituées de segments polynomiaux, chacun ayant un niveau de lissage spécifié. Imaginez chaque segment comme une petite courbe, où plusieurs points de contrôle influencent la forme. Contrairement aux courbes splines plus simples, qui reposent sur seulement deux points de contrôle par segment, les splines B en utilisent davantage, ce qui conduit à des courbes plus lisses et plus adaptables.

La magie des B-splines réside dans leur impact local. L'ajustement d'un point de contrôle affecte uniquement la section voisine de la courbe, laissant le reste intact. Cette propriété offre des avantages remarquables, notamment pour maintenir la douceur et faciliter la différentiabilité, ce qui est crucial pour une rétropropagation efficace pendant l'entraînement.

Une courbe B-spline quadratique (p=2) (Source)

Formation des KAN

La rétropropagation est une technique cruciale pour réduire les pertes dans l’apprentissage automatique. C’est crucial pour entraîner les réseaux de neurones en ajustant de manière itérative leurs paramètres en fonction des erreurs observées. Dans les KAN, la rétropropagation est essentielle pour affiner les paramètres du réseau, notamment les poids de bord et les coefficients des fonctions d'activation apprenables.

La formation des KAN commence par l'initialisation aléatoire des paramètres du réseau. Le réseau subit ensuite des passages aller et retour : les données d'entrée sont transmises à travers le réseau pour générer des prédictions, qui sont comparées aux étiquettes réelles pour calculer la perte. La rétropropagation calcule les gradients de perte par rapport à chaque paramètre en utilisant la règle de calcul en chaîne. Ces gradients guident les mises à jour des paramètres via des méthodes telles que la descente de gradient, la descente de gradient stochastique ou l'optimisation Adam.

Un défi clé dans la formation des KAN est d’assurer la stabilité et la convergence lors de l’optimisation. Les chercheurs utilisent des techniques telles que l’abandon scolaire et la perte de poids pour la régularisation et sélectionnent soigneusement les algorithmes d’optimisation et les taux d’apprentissage pour résoudre ce problème. De plus, les techniques de normalisation par lots et de normalisation par couches aident à stabiliser la formation et à accélérer la convergence.

KAN ou MLP ?

Le principal inconvénient des KAN est leur vitesse d’entraînement lente, qui est environ 10 fois plus lente que celle des MLP avec le même nombre de paramètres. Cependant, la recherche ne s’est pas encore beaucoup concentrée sur l’optimisation de l’efficacité des KAN, il reste donc encore des possibilités d’amélioration. Si vous avez besoin d’une formation rapide, optez pour les MLP. Mais si vous accordez la priorité à l’interprétabilité et à la précision, et que la lenteur de la formation ne vous dérange pas, les KAN valent la peine d’être essayés.

KAN ou MLP (Source)

Les principaux différenciateurs entre les MLP et les KAN sont :

(i) Les fonctions d'activation sont sur les bords plutôt que sur les nœuds,

(ii) Les fonctions d'activation sont apprenables au lieu d'être fixes.

Avantages des KAN

  • Les KAN peuvent apprendre leurs fonctions d'activation, les rendant ainsi plus expressifs que les MLP standards et capables d'apprendre des fonctions avec moins de paramètres.
  • En outre, l’article montre que les KAN surpassent les MLP en utilisant beaucoup moins de paramètres.
  • Une technique appelée extension de grille permet d'affiner les KAN en rendant les grilles de contrôle des splines plus fines, augmentant ainsi la précision sans repartir de zéro. Cela ajoute plus de paramètres au modèle pour une variance et une expressivité plus élevées.
  • Les KAN sont moins sujets à un oubli catastrophique en raison du contrôle local des B-splines.

    • L'oubli catastrophique se produit lorsqu'un réseau neuronal entraîné oublie l'entraînement précédent lors d'un ajustement précis avec de nouvelles données.
    • Dans les MLP, les pondérations changent globalement, ce qui amène le réseau à oublier les anciennes données lors de l'apprentissage de nouvelles données.
    • Dans les KAN, l'ajustement des points de contrôle des splines n'affecte que les régions locales, préservant ainsi la formation précédente.
  • Le document contient de nombreuses autres idées et techniques intéressantes liées aux KAN ; par conséquent, nous recommandons fortement à nos lecteurs de le lire.

Un exemple d’oubli catastrophique dans les MLP et KAN

Faites fonctionner les KAN

Installer via github

!pip install git+https://github.com/KindXiaoming/pykan.git

Installer via PyPI :

!pip install pykan

Exigences

# python==3.9.7
matplotlib==3.6.2
numpy==1.24.4
scikit_learn==1.1.3
setuptools==65.5.0
sympy==1.11.1
torch==2.2.2
tqdm==4.66.2

Initialisez KAN et créez un KAN,

from kan import *create a KAN: 2D inputs, 1D output, and 5 hidden neurons. cubic spline (k=3), 5 grid intervals (grid=5).
model = KAN(width=[2,5,1], grid=5, k=3, seed=0)
# create dataset f(x,y) = exp(sin(pi*x)+y^2)
f = lambda x: torch.exp(torch.sin(torch.pi*x[:,[0]]) + x[:,[1]]**2)
dataset = create_dataset(f, n_var=2)
dataset['train_input'].shape, dataset['train_label'].shape
# plot KAN at initialization
model(dataset['train_input']);
model.plot(beta=100)

# train the model
model.train(dataset, opt="LBFGS", steps=20, lamb=0.01, lamb_entropy=10.);
model.plot()

model.prune()
model.plot(mask=True)

model = model.prune()
model(dataset['train_input'])
model.plot()

model.train(dataset, opt="LBFGS", steps=50);

perte de train : 2.09e-03 | perte d'essai : 2.17e-03 | rég : 1,64e+01 : 100 %|██| 50/50 [00:20<00:00, 2,41 it/s]

model.plot()

mode = "auto" # "manual"

if mode == "manual":
    # manual mode
    model.fix_symbolic(0,0,0,'sin');
    model.fix_symbolic(0,1,0,'x^2');
    model.fix_symbolic(1,0,0,'exp');
elif mode == "auto":
    # automatic mode
    lib = ['x','x^2','x^3','x^4','exp','log','sqrt','tanh','sin','abs']
    model.auto_symbolic(lib=lib)

fixation (0,0,0) avec log, r2=0.9692028164863586
fixation (0,0,1) avec tanh, r2=0.6073551774024963
fixation (0,0,2) avec sin, r2=0,9998868107795715
fixation (0,1,0) avec sin, r2=0,9929550886154175
fixation (0,1,1) avec sin, r2=0.8769869804382324
fixation (0,1,2) avec x^2, r2=0.9999980926513672
fixation (1,0,0) avec tanh, r2=0.902226448059082
fixation (1,1,0) avec abs, r2=0.9792929291725159
fixation (1,2,0) avec exp, r2=0.9999933242797852

model.train(dataset, opt="LBFGS", steps=50);

perte de train : 1.02e-05 | perte de test : 1.03e-05 | reg : 1.10e+03 : 100 %|██| 50/50 [00:09<00:00, 5,22 it/s]

Résumé des limites des KAN et des orientations futures

Selon les recherches, nous avons constaté que les KAN surpassent les MLP dans des tâches scientifiques telles que l'ajustement d'équations physiques et la résolution d'EDP. Ils s'avèrent prometteurs pour des problèmes complexes tels que les équations de Navier-Stokes et la théorie fonctionnelle de la densité. Les KAN pourraient également améliorer les modèles d’apprentissage automatique, comme les transformateurs, créant potentiellement des « kansformers ». »

Les KAN excellent parce qu’ils communiquent dans le « langage » des fonctions scientifiques. Cela les rend idéaux pour la collaboration entre scientifiques en IA, permettant une interaction plus facile et plus efficace entre l’IA et les chercheurs. Au lieu de viser des scientifiques en IA entièrement automatisés, il est plus pratique de développer une IA qui aide les scientifiques en comprenant leurs besoins et préférences spécifiques.

En outre, d’importantes préoccupations doivent être résolues avant que les KAN puissent potentiellement remplacer les MLP dans l’apprentissage automatique. Le principal problème est que les KAN ne peuvent pas utiliser le traitement parallèle des GPU, ce qui les empêche de profiter des multiplications matricielles par lots rapides offertes par les GPU. Cette limitation signifie que les KAN s'entraînent très lentement puisque leurs différentes fonctions d'activation ne peuvent pas exploiter efficacement le calcul par lots ou traiter plusieurs points de données en parallèle. Par conséquent, si la vitesse est cruciale, les MLP sont meilleurs. Cependant, si vous accordez la priorité à l’interprétabilité et à la précision et que vous pouvez tolérer un entraînement plus lent, les KAN sont un bon choix.

De plus, les auteurs n’ont pas testé les KAN sur de grands ensembles de données d’apprentissage automatique. Il n’est donc pas clair s’ils offrent un avantage par rapport aux MLP dans des scénarios réels.

Nous espérons que vous avez trouvé cet article intéressant. Nous vous recommandons fortement de consulter la section ressources pour plus d’informations sur les KAN.

Merci!

Ressources

  • Document de recherche original
  • Explication de l'article de Kolmogorov Arnold Networks (KAN) - Un nouveau paradigme passionnant pour le Deep Learning ?

Articles connexes: