L’informatique neuromorphique dans les problèmes d’optimisation
Les neurones sont fascinants. Ils coordonnent nos gestes, nos pensées et même notre imagination. Grâce à leur interaction, nous pouvons lire et comprendre ces lignes en un instant. Depuis plusieurs décennies, nous essayons de reproduire cette efficacité naturelle dans nos ordinateurs.
Les réseaux neuronaux artificiels, inspirés par la biologie, ont beaucoup progressé. Du perceptron des années 1950 aux réseaux profonds d’aujourd’hui, ils sont présents dans de nombreux domaines comme la reconnaissance d’images, la traduction automatique ou la conduite assistée. Leur principe est simple : chaque neurone additionne ses entrées, applique une fonction d’activation, puis transmet ou non le signal. Par exemple, un petit modèle peut distinguer une mouette d’un autre animal en se basant sur deux questions : « peut-il voler ? » et « cri-t-il ? ». À petite échelle, cela marche très bien.
Mais quand les tâches deviennent plus complexes, ces réseaux demandent plus de puissance de calcul et consomment plus d’énergie. Le cerveau humain, avec environ 86 milliards de neurones, consomme près de 20 watts, soit autant qu’une simple ampoule.
En comparaison, les centres de données qui font tourner nos modèles d’IA consomment plusieurs mégawatts, l’équivalent de milliers de foyers, pour des performances bien inférieures à celles du cerveau. L’architecture classique de nos ordinateurs, appelée architecture von Neumann, sépare la mémoire du calcul, ce qui crée un goulot d’étranglement en énergie et en temps. L’informatique neuromorphique veut dépasser cette limite. Elle utilise des circuits inspirés des neurones biologiques, appelés neurones impulsionnels, où l’information circule sous forme d’impulsions électriques discrètes dans le temps, et non de valeurs continues.
Contrairement aux réseaux classiques, un neurone impulsionnel ne s’active que s’il reçoit suffisamment de signaux pour franchir un seuil. C’est un peu comme apprendre à jouer d’un instrument, à danser ou à battre le « boss » d’un jeu vidéo : après plusieurs essais, un déclic se produit et la bonne séquence devient automatique. Ce fonctionnement asynchrone et local rend les calculs plus économes en énergie et mieux adaptés aux signaux du monde réel. Ces approches sont très prometteuses pour résoudre des problèmes d’optimisation, c’est-à-dire trouver un équilibre entre plusieurs objectifs opposés, comme réduire la consommation tout en augmentant l’efficacité. Le cerveau des mammifères montre bien ce principe : grâce aux interactions entre les ganglions de la base, le thalamus et le cortex, il explore différentes options, en évalue l’utilité et renforce les plus efficaces. Quand on choisit le chemin le plus rapide pour rentrer chez soi ou la meilleure stratégie dans un jeu, on met en place un vrai processus d’optimisation interne. L’informatique neuromorphique s’en inspire pour créer des machines capables d’apprendre, de s’adapter et d’optimiser leurs calculs comme le cerveau, tout en consommant très peu d’énergie.
Dans ce contexte, des recherches récentes montrent qu’il est possible de repenser les algorithmes d’optimisation pour les faire fonctionner directement sur du matériel neuromorphique, avec une consommation d’énergie très faible. Avec le projet NeurOptim, nous explorons cette voie pour créer des algorithmes d’optimisation plus économes.