Laboratoire : IRISA – GRANIT Team (Lannion) https://www-granit.irisa.fr/
Contacts : Matthieu Gautier (matthieu.gautier@irisa.fr), Olivier Berder (olivier.berder@irisa.fr)
Contexte
Les réseaux de neurones impulsionnels (Spiking Neural Networks – SNNs) suscite un intérêt croissant en raison de leur capacité à modéliser plus finement le fonctionnement biologique des neurones et à offrir une efficacité énergétique prometteuse, notamment pour des applications embarquées. Contrairement aux réseaux neuronaux classiques, les SNNs traitent l’information sous forme d’événements discrets (spikes), ce qui permet une communication asynchrone et parcimonieuse.
Dans ce contexte, concevoir un système embarqué capable d’adapter dynamiquement l’architecture des réseaux de neurones à spikes pour prendre en compte la variabilité de son énergie pourrait atteindre des niveaux d’efficacité énergétique jamais atteints auparavant.
L’objectif général de ce stage est d’explorer, concevoir ou améliorer des modèles de réseaux à spikes adaptatifs, ainsi que d’en étudier les performances sur des tâches d’apprentissage automatique.
Taches à réaliser
- La première partie consiste à prendre en main un environnement Python [2] simulant les SNN afin de faire de la classification avec dans un premier temps une base de données d’images MNIST (état de l’art) puis pour de la détection de chant d’oiseau. Il s’agit aussi d’identifier les paramètres à adapter pour modifier les performances à travers un compromis précision-énergie.
- La deuxième partie consiste à évaluer le gain de l’adaptation dynamique de ces paramètres lorsque le budget énergétique varie (typiquement lorsque de la récupération d’énergie est utilisée) [3].
- Enfin, l’environnement QUALIA [4] sera enfin utilisé pour entraîner, compresser (i.e. quantifier) et déployer automatiquement des modèles de SNN issus de l’environnement PyTorch sur l’architecture matérielle SPLEAT. Le modèle VHDL correspondant pourra ensuite être synthétisé pour une cible FPGA spécifique.
Profil du candidat
Le ou la candidat(e) devra avoir des compétences en apprentissage automatique, en traitement du signal et en implémentation FPGA. Il ou elle devra faire preuve d’autonomie pour la partie expérimentale, ainsi que de capacités de travail en équipe et d’une bonne aisance à s’intégrer.
Ce stage peut se poursuivre en thèse (financement acquis dans le cadre du projet ANR SpiNNAch).
Références
[1] E. Lemaire et al., “An Analytical Estimation of Spiking Neural Networks Energy Efficiency,” in Neural Information Processing, Cham: Springer International Publishing, 2023.
[2] https://snntorch.readthedocs.io/en/latest/
[3] F. A. Aoudia et al., “RLMan: An Energy Manager Based on Reinforcement Learning for Energy Harvesting Wireless Sensor Networks,” IEEE Trans. Green Commun. Netw., vol. 2, no. 2, 2018
[4] N. Abderrahmane et al., “SPLEAT: SPiking Low-power Event-based ArchiTecture for in-orbit processing of satellite imagery,” in 2022 International Joint Conference on Neural Networks (IJCNN), Jul. 2022
