L’informatique neuromorphique, également connue sous le nom d’ingénierie neuromorphique, est une approche de l’informatique qui imite le fonctionnement du cerveau humain. Il s’agit de concevoir du matériel et des logiciels qui simulent les structures et les fonctions neuronales et synaptiques du cerveau pour traiter l’information.
On pourrait penser que l’informatique neuromorphique est un tout nouveau domaine, mais ses origines remontent aux années 1980. C’est au cours de cette décennie que Misha Mahowald et Carver Mead ont mis au point la première rétine et la première cochlée en silicium, ainsi que les premiers neurones et synapses en silicium qui ont ouvert la voie au paradigme de l’informatique neuromorphique.1
Les systèmes d’intelligence artificielle (IA) ne cessent de se développer, et ils ont besoin de matériel et de logiciels de pointe. L’informatique neuromorphique peut agir comme un accélérateur de croissance pour l’IA, améliorer le calcul haute performance et servir de base à la superintelligence artificielle. Des expériences sont même en cours pour combiner l’informatique neuromorphique et l’informatique quantique.2
L’informatique neuromorphique a été citée par la société de conseil en gestion Gartner comme l’une des principales technologies émergentes pour les entreprises.3 De même, le cabinet de services professionnels PwC note que l’informatique neuromorphique est une technologie essentielle que les organisations devraient explorer, car elle progresse rapidement mais n’est pas encore suffisamment mature pour se généraliser.4
Comme l’informatique neuromorphique s’inspire du fonctionnement du cerveau humain, elle emprunte beaucoup à la biologie et aux neurosciences.
Selon le Queensland Brain Institute, les neurones « sont les unités fondamentales du cerveau et du système nerveux ».5 En tant que messagers, ces cellules neuronales transmettent les informations entre les différentes aires cérébrales et aux autres parties du corps. Lorsqu’un neurone s’active ou qu’il produit une « impulsion », cela déclenche la libération de signaux chimiques et électriques qui sont relayés via un réseau de points de connexion appelés synapses, permettant aux neurones de communiquer entre eux.6
Ces mécanismes neurologiques et biologiques sont modélisés dans des systèmes informatiques neuromorphiques via des réseaux de neurones à impulsions (SNN). Un réseau de neurones à impulsions est un type de réseau neuronal artificiel composé de neurones à impulsions et de synapses.
Les neurones à impulsions stockent et traitent les données de la même manière que les neurones biologiques, chaque neurone ayant ses propres valeurs de charge, de délai et de seuil. Les synapses créent des chemins entre les neurones, et des valeurs de délai et de poids leur sont également associées. Ces valeurs (charges neuronales, délais neuronaux et synaptiques, seuils neuronaux et poids synaptiques) peuvent toutes être programmées dans des systèmes informatiques neuromorphiques.7
Dans l’architecture neuromorphique, les synapses sont représentées comme des dispositifs synaptiques à base de transistors, utilisant des circuits pour transmettre des signaux électriques. Les synapses comprennent généralement une composante d’apprentissage, modifiant leurs valeurs de poids au fil du temps en fonction de l’activité au sein du réseau de neurones à impulsions.7
Contrairement aux réseaux neuronaux conventionnels, le facteur temps est pris en compte dans le fonctionnement des SNN. La valeur de la charge d’un neurone s’accumule au fil du temps et, lorsque cette charge atteint la valeur seuil associée au neurone, celui-ci émet une impulsion, propageant ainsi l’information le long de son réseau synaptique. Mais si la valeur de charge ne dépasse pas le seuil, elle se dissipe et finit par « s’échapper ». En outre, les SNN sont axés sur les événements : les valeurs de délai neuronal et synaptique permettent une diffusion asynchrone de l’information.7
Au cours des dernières décennies, de nombreux progrès ont été réalisés dans le domaine de l’informatique neuromorphique : avec du matériel neuromorphique.
Dans le milieu universitaire, le Neurogrid de l’Université de Stanford en est l’un des premiers exemples. Son système mixte analogique-numérique multipuce peut « simuler un million de neurones avec des milliards de connexions synaptiques en temps réel ».8 Parallèlement, le centre de recherche IMEC crée une puce neuromorphique capable d’auto-apprentissage.9
Les organismes gouvernementaux soutiennent eux aussi la recherche neuromorphique. Menée sur une période de 10 ans, l’initiative Human Brain Project de l’Union européenne s’est achevée en 2023. Son objectif était de mieux comprendre le cerveau, de trouver de nouveaux traitements pour les maladies cérébrales et de développer de nouvelles technologies informatiques inspirées du fonctionnement du cerveau.
Parmi les technologies concernées, citons les machines neuromorphiques à grande échelle SpiNNaker et BrainScaleS. SpiNNaker fonctionne en temps réel sur des puces numériques multicœurs, avec un réseau basé sur des paquets qui optimise les échanges d’impulsions. BrainScaleS est une machine accélérée qui émule des modèles électroniques analogiques de neurones et de synapses. Il possède un système à puce Wafer-Scale de première génération (appelé BrainScales-1) et un système à puce unique de deuxième génération (appelé BrainScales-2).10
Dans le secteur technologique, les processeurs neuromorphiques incluent Loihi d’Intel, NeuronFlow de GrAI Matter Labs, et les puces neuromorphiques TrueNorth et NorthPole (nouvelle génération) d’IBM.
La plupart des dispositifs neuromorphiques sont fabriqués à partir de silicium et utilisent la technologie CMOS (Complementary Metal Oxide Semiconductor). Mais les chercheurs étudient également de nouveaux types de matériaux, tels que les matériaux ferroélectriques et à changement de phase. Les éléments électroniques de mémoire non volatile appelés memristors ou memristance (une combinaison de « mémoire » et de « résistance ») constituent un autre module permettant la colocation de la mémoire et du traitement de données dans les neurones à impulsions.
Dans le domaine des logiciels, le développement d’algorithmes d’entraînement et d’apprentissage pour l’informatique neuromorphique implique à la fois des techniques de machine learning et d’autres techniques. En voici quelques-unes :7
Pour effectuer des inférences, des réseaux neuronaux profonds préentraînés peuvent être convertis en réseaux de neurones à impulsions via des stratégies de mappage telles que la normalisation des poids ou les fonctions d’activation. Un réseau neuronal profond peut également être entraîné de manière à ce que ses neurones soient activés comme des neurones à impulsions.
Ces algorithmes inspirés de la biologie utilisent des principes de l’évolution, tels que la mutation, la reproduction et la sélection. Les algorithmes évolutionnaires peuvent être utilisés pour concevoir ou entraîner des SNN, en modifiant et en optimisant leurs paramètres (délais et seuils, par exemple) et leur structure (le nombre de neurones et la méthode de liaison via des synapses, par exemple) au fil du temps.
Les réseaux de neurones à impulsions se prêtent bien aux représentations graphiques, un SNN prenant la forme d’un graphe orienté. Lorsque l’un des nœuds du graphe connaît un pic, le moment où les autres nœuds connaissent également un pic coïncide avec la longueur du chemin le plus court depuis le nœud d’origine.
En neurosciences, la neuroplasticité fait référence à la capacité du cerveau et du système nerveux humains à modifier leurs voies neuronales et leurs synapses en réponse à un traumatisme. Dans une architecture neuromorphique, la plasticité synaptique est généralement implémentée via la plasticité fonction du temps d’occurrence des impulsions. Cette opération ajuste le poids des synapses en fonction du temps d’occurrence relatif des impulsions des neurones.
Le calcul par réservoir, basé sur des réseaux neuronaux, utilise un « réservoir » pour projeter des entrées dans un espace de calcul de dimension supérieure, avec un mécanisme de lecture entraîné pour lire la sortie du réservoir.
Dans l’informatique neuromorphique, les signaux d’entrée sont transmis à un réseau de neurones à impulsions, qui sert de réservoir. Le SNN n’est pas entraîné. Au lieu de cela, il s’appuie sur les connexions récurrentes au sein de son réseau ainsi que sur les délais synaptiques pour mapper les entrées à un espace de calcul de dimension supérieure.
Les systèmes neuromorphiques sont très prometteurs en matière de calcul. Voici quelques-uns des avantages potentiels de ce type d’architecture informatique :
Cette technologie s’inspirant du fonctionnement du cerveau, l’informatique neuromorphique implique également la notion de plasticité. Les dispositifs neuromorphiques sont conçus pour l’apprentissage en temps réel : ils s’adaptent en continu à des stimuli évolutifs se présentant sous forme d’entrées et de paramètres. En d’autres termes, ils pourraient être d’excellents atouts pour la résolution de problèmes inédits.
Comme mentionné précédemment, les systèmes neuromorphiques sont basés sur des événements, les neurones et les synapses traitant l’information en réponse aux autres neurones à impulsions. En conséquence, seul le segment qui calcule les impulsions consomme de l’énergie, tandis que le reste du réseau reste inactif. Cela se traduit par une consommation énergétique plus efficace.
La plupart des ordinateurs modernes, également connus sous le nom d’ordinateurs de von Neumann, ont des unités centrales de traitement et des unités de mémoire séparées, et le transfert de données entre ces unités peut créer un goulot d’étranglement affectant la vitesse du système. De leur côté, les systèmes informatiques neuromorphiques stockent et traitent les données dans des neurones individuels, ce qui permet de réduire la latence et d’accélérer les calculs par rapport à l’architecture de von Neumann.
En raison de la nature asynchrone des SNN, les neurones individuels peuvent effectuer différentes opérations simultanément. Théoriquement, les dispositifs neuromorphiques peuvent exécuter autant de tâches qu’il y a de neurones à un moment donné. Ainsi, les architectures neuromorphiques disposent d’immenses capacités de traitement parallèle, qui leur permettent d’exécuter rapidement des fonctions.
L’informatique neuromorphique est encore un domaine émergent. Et comme toute technologie à ses débuts, les systèmes neuromorphiques sont confrontés à quelques défis :
Le processus de conversion des réseaux neuronaux profonds en réseaux de neurones à impulsions peut entraîner une baisse de la précision. En outre, les memristors utilisés dans le matériel neuromorphique peuvent présenter des variations d’un cycle et d’un dispositif à l’autre, variations qui peuvent affecter la précision, ainsi que des limites aux valeurs de poids synaptiques, qui peuvent elles aussi réduire la précision.7
En tant que technologie émergente, l’informatique neuromorphique manque de normes en matière d’architecture, de matériel et de logiciels. Les systèmes neuromorphiques n’ont pas non plus de benchmarks clairement définis et établis, de jeux de données exemples, de tâches de test et d’indicateurs. Il est donc difficile d’en évaluer les performances et d’en prouver l’efficacité.
La plupart des approches algorithmiques appliquées à l’informatique neuromorphique utilisent encore des logiciels conçus pour le matériel von Neumann, ce qui peut limiter les résultats à ce que l’architecture de von Neumann peut réaliser. De leur côté, les API (interfaces de programmation des applications), les modèles de codage et les langages de programmation pour les systèmes neuromorphiques ne sont pas encore développés ni diffusés très largement.
L’informatique neuromorphique est un domaine complexe, qui s’appuie sur des disciplines telles que la biologie, l’informatique, l’ingénierie électronique, les mathématiques, les neurosciences et la physique. Cela le rend difficile à comprendre en dehors d’un laboratoire universitaire spécialisé dans la recherche neuromorphique.
Les applications actuelles des systèmes neuromorphiques sont rares, mais le paradigme informatique peut éventuellement être appliqué à ces cas d’utilisation :
Grâce à ses performances élevées et à aux gains considérables qu’elle représente en termes d’efficacité énergétique, l’informatique neuromorphique peut contribuer à optimiser les compétences de navigation des véhicules autonomes, permettant de corriger plus rapidement leur trajectoire et d’améliorer la prévention des collisions tout en réduisant les émissions énergétiques.
Les systèmes neuromorphiques peuvent permettre de détecter des tendances ou des activités inhabituelles qui pourraient être le signe d’une cyberattaque ou d’une violation. Ces menaces peuvent être déjouées rapidement grâce à la faible latence et à la rapidité de calcul des dispositifs neuromorphiques.
Les caractéristiques de l’architecture neuromorphique la rendent adaptée à l’IA en périphérie. Sa faible consommation d’énergie peut compenser la courte durée de vie de la batterie d’appareils tels que les smartphones et les technologies portables, tandis que son adaptabilité et sa nature orientée événements s’adaptent aux méthodes de traitement de l’information des capteurs à distance, des drones et d’autres appareils IdO (Internet des objets).
Grâce à ses capacités étendues de traitement parallèle, l’informatique neuromorphique peut être utilisée dans les applications de machine learning pour reconnaître des schémas dans le langage naturel et la parole, analyser les images médicales et traiter les signaux d’imagerie des examens cérébraux par résonance magnétique fonctionnelle (fMRI) et des tests d’électroencéphalogramme (EEG) qui mesurent l’activité électrique du cerveau .
Technologie adaptable, l’informatique neuromorphique peut être utilisée pour améliorer les capacités d’apprentissage et de prise de décision en temps réel d’un robot, lui permettant de mieux reconnaître les objets, de s’y retrouver dans des aménagements d’usine complexes et de fonctionner plus rapidement sur une chaîne de montage.
Entraînez, validez, réglez et déployez une IA générative, des modèles de fondation et des capacités de machine learning avec IBM watsonx.ai, un studio d’entreprise nouvelle génération pour les générateurs d’IA. Créez des applications d’IA en peu de temps et avec moins de données.
Mettez l’IA au service de votre entreprise en vous appuyant sur l’expertise de pointe d’IBM dans le domaine de l’IA et sur son portefeuille de solutions.
Réinventez les workflows et les opérations critiques en ajoutant l’IA pour optimiser les expériences, la prise de décision et la valeur métier en temps réel.
Apprenez des concepts fondamentaux et développez vos compétences grâce à des ateliers pratiques, à des cours, à des projets guidés, à des essais et à d’autres ressources.
Découvrez comment intégrer en toute confiance l’IA générative et le machine learning dans votre entreprise.
Vous voulez obtenir un meilleur retour sur vos investissements dans l’IA ? Découvrez comment la mise à l’échelle de l’IA générative dans des domaines clés favorise le changement en aidant vos meilleurs éléments à créer et à fournir de nouvelles solutions innovantes.
Découvrez comment choisir le modèle de fondation d’IA le mieux adapté à votre cas d’utilisation.
IBM Granite est notre famille de modèles d’IA ouverts, performants et fiables, conçus pour les entreprises et optimisés pour dimensionner vos applications d’IA. Explorez les options de langage, de code, de séries temporelles et de garde-fous.
Explorez les trois éléments clés d’une stratégie d’IA réussie : créer un avantage concurrentiel, étendre l’IA à l’ensemble de l’entreprise et faire progresser l’IA digne de confiance.
Nous avons interrogé 2 000 entreprises à propos de leurs initiatives d’IA pour découvrir ce qui fonctionne, ce qui ne fonctionne pas et comment progresser.
1 Carver Mead Earns Lifetime Contribution Award for Neuromorphic Engineering, Caltech, 7 mai 2024.
2 Neuromorphic Quantum Computing, Quromorphic, consulté le 21 juin 2024.
3 30 Emerging Technologies That Will Guide Your Business Decisions, Gartner, 12 février 2024.
4 The new Essential Eight technologies: what you need to know, PwC, 15 novembre 2023.
5 What is a neuron?, Queensland Brain Institute, consulté le 21 juin 2024.
6 Action potentials and synapses, Queensland Brain Institute, consulté le 21 juin 2024.
7 Opportunities for neuromorphic computing algorithms and applications, Nature, 31 janvier 2022.
8 Neurogrid: A Mixed-Analog-Digital Multichip System for Large-Scale Neural Simulations, IEEE, 24 avril 2014.
9 IMEC demonstrates self-learning neuromorphic chip that composes music, IMEC, 16 mai 2017.
10 Neuromorphic computing, Human Brain Project, consulté le 21 juin 2024.