Etude des réseaux KAN pour systèmes embarqués
Stage Grenoble (Isère) Développement informatique
Description de l'offre
Détail de l'offre
Informations générales
Entité de rattachement
Le CEA est un acteur majeur de la recherche, au service des citoyens, de l'économie et de l'Etat.Il apporte des solutions concrètes à leurs besoins dans quatre domaines principaux : transition énergétique, transition numérique, technologies pour la médecine du futur, défense et sécurité sur un socle de recherche fondamentale. Le CEA s'engage depuis plus de 75 ans au service de la souveraineté scientifique, technologique et industrielle de la France et de l'Europe pour un présent et un avenir mieux maîtrisés et plus sûrs.
Implanté au cœur des territoires équipés de très grandes infrastructures de recherche, le CEA dispose d'un large éventail de partenaires académiques et industriels en France, en Europe et à l'international.
Les 20 000 collaboratrices et collaborateurs du CEA partagent trois valeurs fondamentales :
• La conscience des responsabilités
• La coopération
• La curiosité
Référence
2024-33882Description de l'unité
Le présent stage se déroulera au sein de l’institut CEA LIST, dans les locaux du CEA Grenoble, dans le laboratoire LIIM (Laboratoire Intelligence Intégrée Multi-capteurs). Ce laboratoire se consacre au développement d'algorithmes pour l'Intelligence Artificielle Embarquée, la fusion de données et la perception environnementale déployés dans les systèmes cyber-physiques. Le laboratoire développe des plateformes de démonstration matérielles et logicielles utilisant ces algorithmes combinés à des technologies innovantes fréquemment intégrées dans des circuits intégrés.
Description du poste
Domaine
Composants et équipements électroniques
Contrat
Stage
Intitulé de l'offre
Etude des réseaux KAN pour systèmes embarqués
Sujet de stage
Les réseaux Kolmogorov-Arnold sont-ils adaptés aux systèmes embarqués ?
Durée du contrat (en mois)
6
Description de l'offre
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)
Moyens / Méthodes / Logiciels
Python, Pytorch, GPU
Profil recherché
Profil du candidat
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