L’intelligence artificielle embarquée nécessite une puissance de calcul très importante afin de pouvoir traiter en temps réel de grandes quantités de données en provenance de plusieurs types de périphériques, comme des caméras, des capteurs de proximité pour un véhicule autonome, etc. Aujourd’hui, le traitement des données se fait principalement dans le cloud ou dans des centres de données. Mais cela nécessite une bande passante élevée pour le transfert des données, une sécurisation de ces données et cela a pour conséquence des délais dans le traitement des données et une consommation énergétique élevée. Pour résoudre ces problèmes, la communauté scientifique et industrielle s’est concentrée sur le développement d’architectures à faible consommation pour permettre le traitement local des données. Cela devient d’autant plus crucial que, dans les années à venir, des milliards de dispositifs IoT périphériques seront connectés
Alors, comment peut-on réduire drastiquement la consommation de ces systèmes électroniques ? La recherche se tourne désormais vers de nouvelles unités de calcul pour permettre de traiter plus de données en moins de temps, tout en consommant moins d’énergie. Les processeurs classiques (CPU) sont basés sur l’architecture de von Neumann dans laquelle l’unité de calcul et la mémoire sont séparées en deux unités distinctes. Le transfert entre la mémoire et l’unité de calcul est alors consommateur de temps et d’énergie. Pour accélérer les traitements, les nouveaux processeurs (GPU) utilisent plusieurs de ces architectures (unité de calcul et unité de mémoire) pour effectuer les calculs en parallèle. Cependant, ce type de processeur consomme toujours beaucoup trop d’énergie lors du transfert de données entre le processeur et la mémoire. Pour réduire le transfert de données entre processeur et mémoire, des architectures de calcul en mémoire ont également été proposées, offrant des cellules mémoires avec des capacités de calculs simples. Plus récemment, la recherche s’est tournée vers de nouvelles architectures inspirées de la nature et du fonctionnement du cerveau humain pour réduire la consommation énergétique des systèmes électroniques. Ces circuits sont dits neuromorphiques. Les chercheurs ont en effet estimé que le cerveau humain a une puissance de l’ordre de 20 watts pour accomplir des tâches extrêmement complexes.
Ainsi, les réseaux de neurones artificiels (ANN pour Artificial Neural Networks) sont apparus. Les ANN s’inspirent des réseaux de neurones et de leur capacité à reproduire et à modéliser des processus non linéaires. Un ANN contient une multitude de neurones connectés entre eux par des synapses. Les calculs sont effectués par les neurones alors que les synapses représentent par leur valeur la mémoire du système.
Plusieurs types d’ANN ont été conçus, les plus utilisés sont les réseaux de neurones à perceptron simple ou multicouche, les réseaux de neurones convolutionnels, les réseaux de neurones à impulsions et les réseaux de neurones récurrents. Parmi les réseaux de neurones récurrents, les réseaux de neurones oscillants (ONN pour Oscillatory Neural Network), sont apparus récemment comme une alternative intéressante pour résoudre des problèmes complexes à basse consommation.
Cet article donne une description approfondie du paradigme de calcul à base d’ONN, de l’implémentation, et des applications. Dans un premier temps, un bref état de l’art des réseaux de neurones artificiels est présenté ; ensuite, le principe de l’ONN, son architecture et ses possibles implémentations sont détaillées ; finalement, des utilisations possibles de l’ONN, et des exemples d’applications concrètes sont décrits.