Algorithmes neuromorphiques et leur implémentation matérielle
Auteur / Autrice : | Christos Malogiannis |
Direction : | Haralampos Stratigopoulos |
Type : | Projet de thèse |
Discipline(s) : | Sciences et technologies de l'information et de la communication |
Date : | Inscription en doctorat le 15/05/2024 |
Etablissement(s) : | Sorbonne université |
Ecole(s) doctorale(s) : | École doctorale Informatique, télécommunications et électronique de Paris (1992-...) |
Partenaire(s) de recherche : | Laboratoire : LIP6 |
Mots clés
Résumé
L'informatique neuromorphique est un paradigme informatique émergent qui trouve son origine dans l'imitation du fonctionnement des neurones du cerveau biologique, basé sur les impulsions. Un processeur neuromorphique reproduit essentiellement un réseau neuronal à impulsions (en anglais Spiking Neural Networks - SNN). Les SNN peuvent offrir une efficacité énergétique et une vitesse d'inférence supérieures à celles des réseaux neuronaux artificiels (ANN) conventionnels. Pour ces raisons, les SNN ouvrent de nouvelles perspectives pour la réalisation des systèmes d'intelligence artificielle (IA) de la prochaine génération. Ils présentent également un grand potentiel pour l'alimentation des composants intelligents et autonomes avec un traitement local de l'intelligence artificielle. Ces dernières années, le développement de plusieurs processeurs neuromorphiques à grande échelle soutenus par des logiciels a constitué une avancée majeure. Dans cette thèse, nous étudierons les algorithmes neuromorphiques et leur mise en uvre matérielle efficace : 1) Calcul tolérant aux fautes : Les processeurs neuromorphiques sont sujets à des défauts au niveau du matériel, c'est-à-dire des défauts de fabrication, la variabilité du procédé, les effets du vieillissement, les erreurs induites par les radiations, etc. On pense que les SNN héritent des remarquables capacités de tolérance aux fautes du cerveau biologique. Il est vrai qu'une certaine tolérance aux fautes inhérente existe grâce au traitement distribué et hautement parallèle et au surprovisionnement. Toutefois, si la plupart des erreurs sont bénignes, certaines finissent par être critiques pour l'application et entraînent une perte de performance considérable, c'est-à-dire une classification erronée. L'objectif sera de développer des algorithmes de tolérance aux fautes ainsi que des techniques au niveau matériel afin d'améliorer la fiabilité des applications SNN. 2) Apprentissage fédéré avec des nuds neuromorphiques : De nos jours, nous observons un nombre croissant d'applications d'intelligence artificielle utilisant des données utilisateur sensibles. La fuite de données sensibles soulève des problèmes de sécurité et de confidentialité pour les utilisateurs et des risques juridiques pour les fournisseurs. Récemment, l'apprentissage fédéré (en anglais Federated Learning - FL) est apparu comme une approche prometteuse de l'apprentissage distribué qui permet d'apprendre à partir de données appartenant à plusieurs participants, sans compromettre la confidentialité puisque les données de l'utilisateur ne sont jamais directement échangées. Alors que les ANN sont les architectures de facto pour FL, les architectures neuromorphiques pourraient être une alternative attrayante permettant un apprentissage en ligne plus rapide, une meilleure efficacité énergétique, une sécurité plus forte contre les attaques telles que l'empoisonnement des données, ainsi que des caractéristiques de préservation de confidentialité plus fortes. L'objectif est de mettre au point un cadre tenant compte du matériel pour la FL sur les nuds neuromorphiques. 3) Recherche d'une architecture neuronale : La plupart des modèles SNN utilisent des architectures de type ANN, mais ce ne sont pas nécessairement les architectures optimales compte tenu des tâches cognitives ciblées. Pour y remédier, des approches de recherche d'architecture neuronale (en anglais Neural Architectural Search - NAS) sont nécessaires pour trouver de meilleures architectures de SNN. Le NAS vise à automatiser la conception des réseaux neuronaux et à dériver des réseaux neuronaux dont les performances sont équivalentes ou supérieures à celles des architectures conventionnelles ou conçues à la main. L'objectif ici est de développer des algorithmes NAS efficaces spécifiquement pour les SNN qui sont compatibles avec le matériel et, par la suite, de développer un accélérateur matériel SNN programmable qui peut exécuter de tels modèles SNN générés.