Par Alain Cappy, Professeur émérite en électronique, Université de Lille
Le cerveau reste le roi des ordinateurs. Les machines les plus sophistiquées qui s'en inspirent, dites "neuromorphiques", comprennent aujourd'hui jusqu'à
100 millions de neurones, soit autant que le cerveau d'un petit mammifère.
Ces réseaux de neurones et de synapses artificiels sont à la base de l'intelligence artificielle. On peut les émuler de deux façons: soit avec des simulations par ordinateur, soit avec des composants électroniques reproduisant neurones et synapses biologiques, assemblés en "neuroprocesseurs".
Ces approches logicielles et matérielles sont maintenant compatibles, ce qui laisse entrevoir des évolutions drastiques dans le domaine de l'IA.
Comment marche notre cerveau ? Neurones, synapses, réseaux
Le cortex constitue la couche externe du cerveau. Épais de quelques millimètres et de la surface d'une serviette de table, il contient plus de 10 milliards de
neurones qui traitent les informations sous la forme d'impulsions électriques appelées
"potentiels d'action" ou "spike".
Le point de connexion entre un neurone qui émet un
spike (le préneurone) et le neurone qui le reçoit (le postneurone) est la
synapse. Chaque neurone est connecté par des synapses à environ 10000 autres neurones: la connectivité d'un tel réseau, le
connectome, est donc prodigieuse.
La fonction des neurones est figée: elle consiste à sommer les signaux provenant des synapses, et si cette somme atteint un seuil, à générer un potentiel d'action ou
spike qui va se propager dans l'axone. Il est remarquable de noter qu'une partie du traitement est analogique (la somme des signaux synaptiques est
continue) alors que l'autre est binaire (la réponse neuronale est soit la génération d'un
spike, soit rien).
Ainsi le neurone peut être considéré comme un calculateur analogique associé à un
système de communication numérique. Contrairement aux neurones, les synapses sont plastiques, c'est-à-dire qu'elles peuvent moduler l'intensité du signal transmis au postneurone, et ont un effet "mémoire", parce que l'état d'une synapse peut se conserver dans le temps.
Réseau de neurones biologiques et circulation du potentiel d'action ou "spike".
Alain Cappy, Author provided
D'un point de vue anatomique, le cortex se divise en environ un million de
colonnes corticales, qui sont des réseaux de neurones ayant tous la même architecture d'interconnexion. Les colonnes corticales peuvent être considérées comme des processeurs élémentaires, dont les neurones sont les dispositifs de base et les synapses la mémoire.
D'un point de vue fonctionnel, les colonnes corticales forment un réseau hiérarchique comportant des connexions allant du bas (les capteurs sensoriels) vers le haut, ce qui permet les abstractions, mais aussi du haut vers le bas, pour permettre les
prédictions: les processeurs de notre cerveau marchent dans les deux sens.
L'enjeu principal de l'IA est d'émuler les fonctionnalités du cortex avec de réseaux de neurones et de synapses artificiels. Cette idée
n'est pas nouvelle, mais elle est passée ces dernières années à la vitesse supérieure avec le
deep learning, ou "apprentissage profond".
Utiliser des logiciels pour simuler les réseaux de neurones et de synapses
L'approche logicielle vise à simuler les réseaux de neurones et de synapses avec un ordinateur standard. Elle comporte trois ingrédients: des modèles mathématiques des neurones et des synapses, une architecture d'interconnexion des neurones, et une règle d'apprentissage qui permet de modifier les "poids synaptiques".
Architecture d'un réseau de neurones "vers l'avant", ou feedforward. Les paramètres d'un tel réseau sont le nombre de couches, le nombre de neurones par couche, et la règle d'interconnexion d'une couche à la suivante. Pour une tâche donnée, ces paramètres sont généralement choisis de façon empirique et souvent surdimensionnés. Notons que le nombre de couches peut être très élevé: plus de 150 pour le ResNet de Microsoft par exemple.
Alain Cappy, Author provided
Les modèles mathématiques des neurones vont du plus simple au plus réaliste (biologiquement), mais la simplicité est requise pour simuler des réseaux de grandes tailles - plusieurs milliers, voire des millions de neurones - pour limiter le temps calcul. L'architecture des réseaux de neurones et de synapses artificiels comprend généralement une "couche" d'entrée, contenant les "neurones sensoriels", et une couche de sortie, les résultats. Entre les deux, un réseau intermédiaire qui peut revêtir deux formes principales: "feedforward" ou
"récurrent".
Dans un réseau feedforward (vers l'avant), l'information est transférée d'une "couche" à la suivante, sans boucle de rétroaction vers les couches précédentes. Au contraire, dans les réseaux récurrents, des connexions peuvent exister d'une couche
N vers les précédentes
N-1,
N-2, etc. En conséquence, l'état d'un neurone à l'instant
t dépend à la fois des données d'entrée à l'instant
t, mais également de l'état des autres neurones à l'instant
t-Δt., ce qui complexifie notablement les processus d'apprentissage.
L'apprentissage vise à déterminer le poids de chaque synapse, c'est-à-dire l'intensité avec laquelle le
spike provenant d'un préneurone est transmis au postneurone, afin que le réseau puisse répondre à un objectif défini. On distingue deux grands types d'apprentissage: supervisé lorsqu'un "enseignant" (ou "maître") connaît le résultat attendu pour chaque entrée et non supervisé lorsqu'un tel "maître" est absent.
Les réseaux de neurones "récurrents" contiennent des boucles de rétroaction. Dans les réseaux récurrents, la variable "temps" est un paramètre essentiel.
Alain Cappy, Author provided
Dans le cas d'un apprentissage supervisé, c'est la comparaison entre le résultat obtenu pour une entrée et celui du "maître" qui permet d'ajuster les poids synaptiques. Dans le cas de l'apprentissage non supervisé, c'est une règle comme la célèbre règle de
Hebb qui permet de faire évoluer les poids synaptiques au cours des différents essais.
Fabriquer des réseaux de neurones et de synapses artificiels matériels
L'approche matérielle consiste à concevoir et fabriquer des neuroprocesseurs qui émulent neurones, synapses et interconnexions. La technologie la plus avancée repose sur la filière des semi-conducteurs standards (dite
CMOS), utilisés dans nos ordinateurs, tablettes et autres smartphones. C'est la seule filière suffisamment mature actuellement pour fabriquer des circuits comportant plusieurs milliers ou millions de neurones et de synapses aptes à effectuer les tâches complexes demandées par l'IA, mais des technologies basées sur de nouveaux dispositifs sont aussi proposées, par exemple en
spintronique ou utilisant des
memristors.
Comme les réseaux biologiques, les réseaux de neurones et de synapses artificiels matériels associent souvent une partie analogique pour l'intégration des signaux synaptique et une partie numérique pour les communications et la mémorisation des poids synaptiques.
Ce type d'approche mixte est utilisé dans les technologies les plus avancées que sont les puces du projet européen
Human Brain, d'
Intel ou
TrueNorth d'IBM. La puce TrueNorth par exemple associe un million de neurones et 256 millions de synapses programmables, répartis en 4096 coeurs neuromorphiques - assimilables aux colonnes corticales du vivant - reliés entre eux par un réseau de communication. La puissance consommée de la puce TrueNorth est de 20 mW par cm
2, alors que celle d'un microprocesseur conventionnel est de 50 à 100 W par cm
2, soit un gain en énergie supérieur à 1000 (l'habitude est de considérer la "densité surfacique de puissance", car toutes les puces n'ont pas toutes la même surface).
L'avenir sera-t-il matériel ou logiciel ?
Les réseaux de neurones et de synapses artificiels logiciels permettent de résoudre de façon élégante de nombreux problèmes, en particulier dans les domaines du traitement des images et des sons et plus récemment de la génération de texte. Mais l'apprentissage des réseaux de neurones et de synapses artificiels récurrents reste un exemple de difficulté majeure, que ce soit par des méthodes supervisées ou non. Autre problème: la puissance de calcul nécessaire devient considérable pour les réseaux de neurones et de synapses artificiels de grande taille nécessaires à la résolution de problèmes complexes.
À titre d'exemple, les résultats impressionnants du programme conversationnel
"GPT-3" reposent sur le plus grand réseau de neurones et de synapses artificiels jamais construit. Il possède 175 milliards de synapses, et nécessite une puissance de calcul considérable constituée de 295 000 processeurs qui consomment une puissance électrique de plusieurs mégawatts, c'est-à-dire équivalente à la puissance consommée par une ville de plusieurs milliers d'habitants. Cette valeur est à comparer aux quelques watts consommés par un cerveau humain qui effectue la même tâche !
L'approche matérielle et les neuroprocesseurs sont beaucoup plus performants sur le plan énergétique, mais ils souffrent d'une difficulté majeure: le passage à l'échelle, c'est-à-dire la fabrication de plusieurs millions ou milliards de neurones et de synapses et de leur
réseau d'interconnexion.
À l'avenir, et dans la mesure ou les neuroprocesseurs utilisent la même filière technologique CMOS que les processeurs usuels, la co-intégration des approches
logicielle et matérielle peut ouvrir la voie à une nouvelle façon de concevoir le traitement de l'information et donc une IA performante et peu gourmande en énergie.