Contexte :
Les réseaux Kolmogorov-Arnold ont récemment fait l'objet d'une attention accrue [1], en tant qu'alternative aux réseaux perceptrons multicouches (MLP) aujourd’hui utilisés dans de nombreuses applications d'apprentissage profond (Deep Learning).
Dans les MLP, les neurones exécutent des fonctions d'activation prédéfinies et non linéaires sur la somme pondérée de leurs valeurs d'entrée (connexions). Les poids linéaires sur les connexions sont ajustés pendant la phase d'entraînement du réseau.
A l’inverse, les modèles KAN ont des fonctions d'activation qui ne sont pas fixes et qui sont ajustées à l’apprentissage. Des fonctions de base paramétrables, comme des B-splines, sont utilisées. En apprenant les coefficients de ces fonctions, les KAN peuvent obtenir des fonctions d'activation très flexibles et expressives sur chaque connexion. Ensuite, les neurones KAN additionnent simplement les valeurs des entrées au niveau des nœuds.
Les modèles à base de KAN ont le potentiel d'offrir de meilleures performances avec une taille plus compacte. Les fonctions de base paramétrables sont plus expressives qu'une série de projections linéaires combinées à des activations fixes et non linéaires. Par conséquent, il est potentiellement possible de construire un modèle pour résoudre un problème donné avec un nombre réduit de ces fonctions comparés à la combinaison de poids et de fonctions d’activation.
Néanmoins, les KAN ont également des inconvénients. Comme les fonctions de base sont plus complexes, la littérature fait état de temps d'apprentissage plus longs ; de plus les bons hyper-paramètres pour les modèles sont plus difficiles à identifier. Un autre problème important est le risque de surapprentissage (overfitting). Comme les fonctions de base sont plus complexes, on peut observer un surajustement sur le jeu de données d’entrainement ne permettant pas la généralisation par la suite.
Objectifs du stage :
La principale question visée dans ce stage est la suivante : quel est le potentiel des réseaux de Kolmogorov-Arnold dans les systèmes d'intelligence artificielle (IA) embarqués ? Sont-ils vraiment plus performants et plus efficaces (en termes de ressources de calcul nécessaires à l'inférence) ?
L'étude sera menée sur des tâches de traitement de séries temporelles comme de la prédiction ou de la détection. Une application candidate est par exemple la détection de mots-clés. Deux versions de cette application pourraient être étudiées, évaluées et comparées : un KAN [2] et une implémentation basée sur des transformeurs [3].
Références :
[1] Liu, Ziming, et al. "Kan: Kolmogorov-arnold networks," arXiv:2404.19756 (2024)
[2] Xu, Anfeng, et al. "Effective Integration of KAN for Keyword Spotting," arXiv:2409.08605 (2024)
[3] A. Berg, M. O’Connor, et M. T. Cruz, “Keyword Transformer: A Self-Attention Model for Keyword Spotting,” arXiv:2104.00769 (2021)
Compétences recherchées :
- Fin d'étude d'ingénieur ou Master 2 (Bac+5)
- Compétences en systèmes embarqués, programmation, calcul numérique
- Connaissance sur l'intelligence artificielle, réseaux de neurones
- Programmation Python/C/C++
- Expérience sur PyTorch
Plan de travail :
- Familiarisation avec les KAN : publications et outils à l’état de l’art, environnements de programmation (basés sur Pytorch)
- Définition de métriques pour estimer le coût de mise en œuvre matérielle
- Proposition d’une méthode pour déterminer le coût de calcul des réseaux existants- Evaluation des KAN et DNN conventionnels pour un problème spécifique basé sur les outils de profilage existants
- Formulation d’un compromis coût du matériel par rapport aux performances pour les KAN (précision, taux d'erreur de détection,…)
- Rédaction du rapport final, préparation de la soutenance de stage
En cliquant sur "JE DÉPOSE MON CV", vous acceptez nos CGU et déclarez avoir pris connaissance de la politique de protection des données du site jobijoba.com.