IA calcul neuromorphique

Apprentissage continu et estimation du gradient inspirés de la biologie pour le calcul neuromorphique

Dossier : Nouvelles du PlatâlMagazine N°774 Avril 2022
Par Axel LABORIEUX (2014)

Les algo­rithmes d’IA accom­plis­sent main­tenant des tâch­es qui sem­blaient aupar­a­vant réservées aux êtres dotés de sys­tèmes nerveux. Ces algo­rithmes sont tous basés sur le con­cept de réseau de neu­rones arti­fi­ciels. Dans le but de baiss­er la con­som­ma­tion énergé­tique de ces algo­rithmes d’IA, Axel Laborieux s’est appuyé sur le cal­cul neu­ro­mor­phique qui prend pour mod­èle le fonc­tion­nement du cerveau humain.

Depuis une dizaine d’année le domaine de l’intelligence arti­fi­cielle (IA) a con­nu une révo­lu­tion. Les ordi­na­teurs sont désor­mais capa­bles de réalis­er automa­tique­ment des tâch­es cog­ni­tives dif­fi­ciles comme la détec­tion d’objets dans des images ou vidéos en haute déf­i­ni­tion, la com­préhen­sion du lan­gage naturel à par­tir de son ou de texte écrit, et même de bat­tre le cham­pi­on du monde de go, un jeu de société mil­lé­naire qui avait jusqu’alors résisté aux algo­rithmes à cause de son trop grand nom­bre de pos­si­bil­ités à chaque tour.

Les récents développements de l’intelligence artificielle et ses limites

Dans un réseau de neu­rones arti­fi­ciels, des unités qui s’apparentent à des neu­rones biologiques très sim­pli­fiés effectuent des opéra­tions. Ces unités sont reliées entre elles par des con­nex­ions qui s’apparentent aux synaps­es con­nec­tant les neu­rones biologiques entre eux. Le réseau peut alors réalis­er un cal­cul à par­tir de don­nées, par exem­ple une image, comme s’il s’agissait d’une entrée sen­sorielle, et pro­duire un résultat. 

Pour que ce résul­tat soit utile, il faut d’abord entraîn­er le réseau sur une grande base de don­nées d’exemples dans un proces­sus itératif où la force des con­nex­ions entre les neu­rones est mod­i­fiée petit à petit pour que le réseau s’améliore. Il est fasci­nant que les algo­rithmes d’IA puis­sent alors généralis­er à des don­nées jamais vues lors de l’entraînement et ain­si accom­plir des tâch­es sim­i­laires à ce que ferait un cerveau, tout cela à par­tir de cal­culs inspirés ini­tiale­ment des réseaux de neu­rones biologiques !

“Le calcul neuromorphique est le domaine de recherche
qui consiste à développer des architectures où la mémoire
et les unités de calcul sont au plus proche, comme dans le cerveau.”

Toute­fois, les algo­rithmes d’IA pos­sè­dent plusieurs lim­i­ta­tions qui les ren­dent très dif­férents du cerveau sur beau­coup d’aspects. Tout d’abord, la con­som­ma­tion énergé­tique d’un algo­rithme d’IA, aus­si bien pen­dant l’entraînement que pen­dant son util­i­sa­tion ultérieure, est supérieure à celle du cerveau de plusieurs ordres de grandeur. La rai­son de cette sur­con­som­ma­tion est d’abord archi­tec­turale : l’architecture de J. von Neu­mann des ordi­na­teurs sépare physique­ment le processeur où les cal­culs ont lieu, et la mémoire où les don­nées sont stockées.

Dans le con­texte de l’IA, cette sépa­ra­tion donne lieu à un goulot d’étranglement où la plus grande par­tie de l’énergie est dépen­sée pour trans­porter la don­née d’un point à un autre. Dans le cerveau, une telle sépa­ra­tion n’existe pas. Le cal­cul neu­ro­mor­phique est le domaine de recherche qui con­siste à dévelop­per des archi­tec­tures où la mémoire et les unités de cal­cul sont au plus proche, comme dans le cerveau. 

Le calcul neuromorphique pour contourner les limites des réseaux de neurones actuels

Au lieu de simuler un réseau de neu­rones sur ordi­na­teur, pourquoi ne pas directe­ment con­stru­ire le réseau de neu­rones arti­fi­ciels avec des com­posants physiques innovants ? 

L’idée n’est pas nou­velle et remonte aux années 80 avec les travaux de Carv­er Mead. Des neu­rones et synaps­es arti­fi­ciels repro­duisant très fidèle­ment les pro­priétés observées en biolo­gie ont été con­stru­its avec des com­posants physiques. Mais il n’est pas suff­isant d’en assem­bler un grand nom­bre pour qu’un cal­cul utile se pro­duise : le prob­lème est aus­si algo­rith­mique car les con­nex­ions doivent chang­er de manière cohérente à l’échelle du réseau. 

En effet, un com­posant neu­ro­mor­phique ne devrait avoir besoin que de l’information qui lui est locale­ment acces­si­ble dans l’espace et dans le temps pour lim­iter les mou­ve­ments de don­nées, comme dans le cerveau. Cepen­dant, les réseaux de neu­rones actuels n’ont pas été pen­sés pour être com­pat­i­bles avec les con­traintes physiques des com­posants neu­ro­mor­phiques. Ain­si, la créa­tion de puces élec­tron­iques qui implé­menteraient directe­ment les algo­rithmes actuels d’IA à faible coût énergé­tique est difficile. 

L’objectif de ma thèse a donc été d’adapter des principes présents dans le cerveau pour con­cevoir des algo­rithmes d’IA com­pat­i­bles avec une implé­men­ta­tion sur puce élec­tron­ique dédiée, et de par­ticiper à la con­cep­tion de ces puces. Plus pré­cisé­ment, ma thèse se décom­pose en trois pro­jets indépen­dants autour de cette thématique.

Les réseaux de neurones artificiels ont la mémoire courte

Dans mon pre­mier pro­jet, je me suis intéressé au prob­lème de l’oubli cat­a­strophique dans les réseaux de neu­rones arti­fi­ciels. L’oubli cat­a­strophique est une lim­i­ta­tion qui empêche les réseaux de neu­rones arti­fi­ciels d’apprendre plusieurs tâch­es à la suite.

Si l’on entraîne un réseau de neu­rones à recon­naître des chiffres man­u­scrits, et qu’ensuite on souhaite utilis­er ce même réseau pour appren­dre à recon­naître des let­tres, le réseau appren­dra cette sec­onde tâche en oubliant très rapi­de­ment com­ment recon­naître des chiffres. Ce com­porte­ment est très dif­férent du cerveau humain et il serait bien sûr préférable que le réseau con­tin­ue à appren­dre quand de nou­velles don­nées sont disponibles ou qu’une nou­velle tâche doit être apprise, sans avoir besoin de réap­pren­dre les anci­ennes don­nées en même temps que les nouvelles.

Le prob­lème de l’oubli cat­a­strophique s’explique par le fait qu’un réseau de neu­rones doit à la fois mod­i­fi­er ses con­nex­ions pour appren­dre une tâche comme expliqué plus haut, mais aus­si les empêch­er de chang­er afin de con­serv­er ce qui a été appris dans le passé, ce qui sem­ble con­tra­dic­toire à pre­mière vue.

“L’oubli catastrophique est une limitation qui empêche
les réseaux de neurones artificiels d’apprendre plusieurs tâches à la suite.”

Dans le cerveau, les synaps­es sont dites plas­tiques, car leurs forces peu­vent être mod­i­fiées pour l’apprentissage, mais elles sont aus­si méta­plas­tiques : il existe des proces­sus biologiques qui les ren­dent plus ou moins plas­tiques, de manière à con­solid­er cer­tains sou­venirs et en oubli­er d’autres. Ce con­cept a été beau­coup étudié en neu­ro­sciences com­pu­ta­tion­nelles, un domaine de recherche visant à mod­élis­er les mécan­ismes des réseaux de neu­rones biologiques.

Dans un arti­cle pub­lié dans le jour­nal Nature Com­mu­ni­ca­tions dans le cadre de l’élaboration de ma thèse, nous avons mon­tré com­ment ce con­cept de méta­plas­tic­ité pou­vait être naturelle­ment appliqué aux réseaux de neu­rones binaires (c’est-à-dire pou­vant pren­dre deux valeurs), une caté­gorie de réseaux de neu­rones par­ti­c­ulière­ment étudiée pour les appli­ca­tions de cal­cul neuromorphique.

Alors que les approches précé­dentes pour réduire l’oubli cat­a­strophique dans les réseaux de neu­rones arti­fi­ciels repo­saient sur des cal­culs sup­plé­men­taires à effectuer entre les dif­férentes tâch­es pour iden­ti­fi­er les con­nex­ions à con­solid­er, notre approche per­met de les iden­ti­fi­er directe­ment pen­dant l’apprentissage, ce qui la rend com­pat­i­ble avec des com­posants neu­ro­mor­phiques. Il est en effet envis­age­able de réalis­er un tel com­porte­ment méta­plas­tique en util­isant les pro­priétés physiques de nanomatéri­aux magnétiques.

Cepen­dant, bien que cette nou­velle règle de con­sol­i­da­tion soit locale, le proces­sus par lequel la con­nex­ion sait dans quelle direc­tion évoluer ne l’est pas, ce qui con­stitue une autre lim­i­ta­tion majeure des réseaux de neu­rones arti­fi­ciels actuels pour l’implémentation avec des com­posants physiques.

Un apprentissage très différent du cerveau

Met­tons de côté l’apprentissage de plusieurs tâch­es suc­ces­sives et con­cen­trons-nous sur l’apprentissage d’une seule tâche. La chaîne d’événements qui sépar­ent une entrée sen­sorielle (par exem­ple la vue d’une taupe sor­tant d’un trou dans le jeu de la taupe) et la réac­tion qui en résulte (le mou­ve­ment du bras pour frap­per la taupe avec le marteau) sont con­sti­tuées de nom­breuses étapes inter­mé­di­aires. L’information arrive par les yeux et tra­verse les dif­férentes aires du cor­tex visuel avant de déclencher le geste. Cette idée de hiérar­chie est aus­si présente dans les réseaux de neu­rones arti­fi­ciels util­isés actuelle­ment : on dit qu’ils sont pro­fonds. Dans les deux cas, l’entrée et la sor­tie du sys­tème sont séparées par plusieurs couch­es de neu­rones et de synapses.

Le défi qui se présente aus­si bien aux réseaux de neu­rones biologiques qu’aux réseaux arti­fi­ciels est le suiv­ant : com­ment une synapse située loin en amont de la sor­tie peut-elle être mod­i­fiée pour amélior­er les per­for­mances futures ? Il s’agit d’un prob­lème dif­fi­cile car mod­i­fi­er une con­nex­ion loin de la sor­tie aura un effet en cas­cade sur le reste de la hiérarchie.

Bien que l’on ne sache pas com­ment fait le cerveau pour résoudre ce prob­lème, des expéri­ences en neu­ro­sciences mon­trent qu’une synapse est mod­i­fiée sur la base de l’activité locale des neu­rones qu’elle relie. Dans les réseaux arti­fi­ciels, ce prob­lème est résolu avec une méth­ode en apparence très dif­férente qui con­siste à cal­culer explicite­ment l’influence d’une mod­i­fi­ca­tion synap­tique sur le résul­tat en sor­tie (le gra­di­ent). Cette opéra­tion n’est plus locale mais effec­tuée par un sys­tème par­al­lèle ou auxiliaire.


Axel Laborieux

Après ma thèse sur le cal­cul neu­ro­mor­phique, j’ai décidé d’enchaîner sur un post­doc­tor­at en neu­ro­sciences com­pu­ta­tion­nelles dans le groupe de Friede­mann Zenke à l’Institut Friedrich Miesch­er pour la recherche bio­médi­cale à Bâle, en Suisse.


Jusqu’à présent, cette méth­ode fonc­tionne bien pour les réseaux de neu­rones codés. D’ailleurs, cela fonc­tionne beau­coup mieux que toutes les alter­na­tives qui sont pour­tant plus sim­i­laires à ce que sem­ble faire le cerveau. Et encore une fois, cette dif­férence avec la biolo­gie rend dif­fi­cile l’implémentation directe avec des com­posants physiques, car le sys­tème devrait être capa­ble de réalis­er deux types de cal­culs dis­tincts avec les mêmes composants.

Au lieu de cal­culer explicite­ment le gra­di­ent, les méth­odes alter­na­tives cherchent à l’estimer en fonc­tion de quan­tités locales à chaque con­nex­ion. Cepen­dant, même si ces méth­odes sont plus plau­si­bles du point de vue de la biolo­gie, elles ne fonc­tion­nent en général que sur des tâch­es sim­ples et ne passent pas à l’échelle sur des tâch­es d’IA plus réalistes.

Dans une col­lab­o­ra­tion avec le Mila de Mon­tréal et Thales à Saclay effec­tuée dans le cadre de ma thèse, nous avons mon­tré qu’une de ces méth­odes alter­na­tives peut pass­er à l’échelle, ce qui ouvre la pos­si­bil­ité de con­cevoir des sys­tèmes physiques capa­bles d’apprendre en util­isant directe­ment la physique de leurs com­posants, et sans avoir besoin de con­naître leurs car­ac­téris­tiques individuelles.

Une telle façon de réalis­er l’apprentissage sera beau­coup plus effi­cace en ter­mes de besoins énergé­tiques que l’utilisation de cen­tres de cal­cul pour les raisons expliquées précédem­ment. Cela per­me­t­tra de déploy­er des sys­tèmes intel­li­gents dans des con­textes embar­qués comme les voitures autonomes, la robo­t­ique, etc.

À l’heure actuelle, des puces élec­tron­iques implé­men­tant directe­ment des réseaux de neu­rones arti­fi­ciels com­men­cent à voir le jour, mais elles sont encore à des stades prélim­i­naires et se lim­i­tent à l’utilisation d’un réseau préen­traîné sur ordi­na­teur et trans­féré par la suite sur un cir­cuit élec­tron­ique dédié.

Des matériaux innovants ‑permettent la création de réseaux de neurones physiques

Les neu­rones arti­fi­ciels simulés par les IA sont très sim­ples com­parés aux neu­rones biologiques. L’opération essen­tielle qu’ils réalisent se réduit à l’addition des sig­naux provenant d’autres neu­rones, préal­able­ment mul­ti­pliés par la force des con­nex­ions synap­tiques, et à la com­para­i­son de cette somme avec un seuil. Le neu­rone émet alors un résul­tat qui sera util­isé par les neu­rones suiv­ants. Cepen­dant, cette opéra­tion doit être réal­isée un très grand nom­bre de fois à cause du nom­bre élevé de neu­rones et de connexions.

calcul neuromorphique

En util­isant des com­posants mémoire pour encoder les con­nex­ions et en les dis­posant sous forme de tableau où chaque ligne est con­nec­tée à un neu­rone de l’entrée, et chaque colonne à un neu­rone de sor­tie, il est pos­si­ble d’implémenter ces opéra­tions de manière très effi­cace du point de vue énergé­tique en util­isant par exem­ple les lois de con­ser­va­tion du courant élec­trique. Le défi est alors d’avoir suff­isam­ment de pré­ci­sion et peu de vari­abil­ité entre les com­posants pour obtenir un résul­tat précis.

Pour ce type d’implémentation, les réseaux de neu­rones binaires évo­qués plus haut sont par­ti­c­ulière­ment intéres­sants car les con­nex­ions et les neu­rones ne peu­vent pren­dre que deux valeurs (par exem­ple 1 et ‑1). Les opéra­tions à faire sur puce devi­en­nent donc plus sim­ples et plus robustes aux erreurs de lec­ture. Les per­for­mances d’un réseau de neu­rones binaires sur les tâch­es d’IA sont bien sûr moins élevées qu’un réseau util­isant des valeurs con­tin­ues, mais restent con­ven­ables par rap­port aux gains obtenus pour l’implémentation physique.

Des mem­bres de mon équipe au C2N avaient conçu une telle puce pour encoder un réseau de neu­rones binaires. Dans une col­lab­o­ra­tion avec le CEA-Leti de Greno­ble et l’université d’Aix-Marseille effec­tuée dans le cadre de ma thèse, nous avons mon­tré qu’en util­isant la puce dans un régime par­ti­c­uli­er la même archi­tec­ture pou­vait être util­isée pour encoder une troisième valeur de con­nex­ion synaptique.

Cela per­met au réseau d’être plus per­for­mant tout en con­ser­vant une implé­men­ta­tion robuste aux vari­a­tions entre les com­posants et aux erreurs de lec­ture. Des esti­ma­tions ont mon­tré que ce type d’implémentation physique réduit l’énergie néces­saire pour utilis­er le réseau de plusieurs ordres de grandeur com­parée à l’utilisation d’ordinateurs actuels. En effet, dans ce type d’architecture, les com­posants mémoire codant les con­nex­ions synap­tiques se trou­vent au cœur du cir­cuit effec­tu­ant le cal­cul et n’ont donc pas besoin d’être déplacés comme dans l’architecture J. von Neu­mann des ordi­na­teurs classiques.

L’interdisciplinarité est au cœur des enjeux du développe­ment de sys­tèmes intelligents.

Ces trois pro­jets menés pen­dant ma thèse m’ont per­mis de pren­dre la mesure des défis à sur­mon­ter pour la créa­tion de sys­tèmes reposant sur l’utilisation d’IA néces­si­tant peu d’énergie. L’interdisciplinarité est prob­a­ble­ment le plus impor­tant d’entre eux. Con­stru­ire de tels sys­tèmes met en jeu des con­nais­sances de physique, d’électronique, de neu­ro­sciences et d’informatique.

Les approches dévelop­pées indépen­dam­ment dans chaque dis­ci­pline ont ten­dance à ne pas pren­dre en compte les con­traintes et les avancées des autres domaines. Par exem­ple, créer un sys­tème qui ne ferait qu’imiter les neu­rones biologiques dans toute leur com­plex­ité sans pren­dre en compte les avancées algo­rith­miques dans le domaine de l’apprentissage machine ne pro­duira pas de cal­cul utile. De même, une approche con­sis­tant à implé­menter tels quels les algo­rithmes de l’apprentissage machine sur une puce est sus­cep­ti­ble de ne pas fonctionner.

L’interaction entre dis­ci­plines est béné­fique : la révo­lu­tion récente de l’IA a eu pour orig­ine l’étude du cerveau, et les méth­odes récentes d’IA per­me­t­tent à leur tour de définir de nou­velles direc­tions de recherche en neu­ro­sciences en posant de nou­velles ques­tions. C’est pour moi la preuve que seul un effort com­mun dans toutes ces dis­ci­plines nous per­me­t­tra de com­pren­dre et répli­quer les principes d’une intel­li­gence néces­si­tant peu d’énergie.


Présentation du laboratoire d’accueil

Le Cen­tre de Nanosciences et de Nan­otech­nolo­gies — C2N (CNRS/Université Paris-Saclay), a été créé le 1er juin 2016 du regroupe­ment de deux lab­o­ra­toires fran­ciliens lead­ers dans leur domaine : le Lab­o­ra­toire de pho­tonique et de nanos­truc­tures (LPN) et l’Institut d’électronique fon­da­men­tale (IEF). En 2018, les équipes se sont instal­lées dans un nou­veau bâti­ment au cœur du Cam­pus Paris-Saclay.

La créa­tion du C2N sur le plateau de Saclay se place dans une per­spec­tive ambitieuse. Il répond à deux objec­tifs prin­ci­paux indissociables :

  • con­stituer un lab­o­ra­toire phare pour la recherche en Nanosciences et en Nanotechnologies
  • dot­er le plateau de Saclay et l’Île-de-France d’une grande cen­trale de tech­nolo­gie ouverte à tous les acteurs académiques et indus­triels du domaine, en par­ti­c­uli­er les franciliens

Le cen­tre développe des recherch­es dans les domaines des matéri­aux, de la nanopho­tonique, de la nanoélec­tron­ique, des nano-
bio-tech­nolo­gies et des micro-sys­tèmes, ain­si que dans ceux des nan­otech­nolo­gies. Sur ces sujets, il traite les aspects fon­da-men­taux et appliqués. L’unité est struc­turée en qua­tre départe­ments sci­en­tifiques. Sa Cen­trale de tech­nolo­gie est un out­il essen­tiel pour les études et recherch­es menées au lab­o­ra­toire. Elle fait égale­ment par­tie du réseau RENATECH des grandes cen­trales de tech­nolo­gie piloté par le CNRS pour soutenir la recherche et l’innovation dans le domaine des micro-nan­otech­nolo­gies au niveau nation­al. La Cen­trale héberge ain­si plus de deux cents pro­jets tech­nologiques, dont près d’un quart sont portés par des lab­o­ra­toires extérieurs, prin­ci­pale­ment académiques mais aus­si industriels.


À propos de la thèse

Doc­teur : Axel Laborieux (2014)

Directeur de thèse : Dr. Damien Quer­lioz

Co-encad­rante : Dr. Liza Her­rera-Diez

Titre en anglais : Bio-inspired con­tin­u­al learn­ing and cred­it assign­ment for neu­ro­mor­phic computing.

Titre en français : Appren­tis­sage con­tinu et esti­ma­tion du gra­di­ent inspirés de la biolo­gie pour le cal­cul neuromorphique.

Date et lieu de sou­te­nance : 6.10.2021 au Cen­tre de Nanosciences et de Nan­otech­nolo­gies, Palaiseau, France.

Com­po­si­tion du jury : 

  • Dr. Julie Grol­lier, direc­trice de recherche, Unité Mixte de Physique CNRS, Thales, prési­dente du jury.
  • Prof. Emre Neft­ci, Forschungzen­trum Jülich, Alle­magne, rap­por­teur et examinateur.
  • Dr. Daniel Brun­ner, chargé de recherche, HDR, FEMTO-ST, Besançon, rap­por­teur et examinateur.
  • Prof. Robert Leg­en­stein, Graz Uni­ver­si­ty of Tech­nol­o­gy Bestätigte, Autriche, examinateur.
  • Dr. Damien Quer­lioz, chargé de recherche, Cen­tre de Nanosciences et Nan­otech­nolo­gies, directeur de thèse.
  • Dr. Liza Her­rera-Diez, chargée de recherche, Cen­tre de Nanosciences et Nan­otech­nolo­gies, co-encad­rante et examinatrice.

Lien vers la thèse : https://tel.archives-ouvertes.fr/tel-03406085/document


Poster un commentaire