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­plissent main­te­nant des tâches qui sem­blaient aupa­ra­vant réser­vées aux êtres dotés de sys­tèmes ner­veux. Ces algo­rithmes sont tous basés sur le concept de réseau de neu­rones arti­fi­ciels. Dans le but de bais­ser la consom­ma­tion éner­gé­tique de ces algo­rithmes d’IA, Axel Labo­rieux s’est appuyé sur le cal­cul neu­ro­mor­phique qui prend pour modèle le fonc­tion­ne­ment du cer­veau humain.

Depuis une dizaine d’année le domaine de l’intelligence arti­fi­cielle (IA) a connu une révo­lu­tion. Les ordi­na­teurs sont désor­mais capables de réa­li­ser auto­ma­ti­que­ment des tâches cog­ni­tives dif­fi­ciles comme la détec­tion d’objets dans des images ou vidéos en haute défi­ni­tion, la com­pré­hen­sion du lan­gage natu­rel à par­tir de son ou de texte écrit, et même de battre le cham­pion du monde de go, un jeu de socié­té mil­lé­naire qui avait jusqu’alors résis­té aux algo­rithmes à cause de son trop grand nombre de pos­si­bi­li­té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 uni­tés qui s’apparentent à des neu­rones bio­lo­giques très sim­pli­fiés effec­tuent des opé­ra­tions. Ces uni­tés sont reliées entre elles par des connexions qui s’apparentent aux synapses connec­tant les neu­rones bio­lo­giques entre eux. Le réseau peut alors réa­li­ser un cal­cul à par­tir de don­nées, par exemple une image, comme s’il s’agissait d’une entrée sen­so­rielle, et pro­duire un résultat. 

Pour que ce résul­tat soit utile, il faut d’abord entraî­ner le réseau sur une grande base de don­nées d’exemples dans un pro­ces­sus ité­ra­tif où la force des connexions entre les neu­rones est modi­fiée petit à petit pour que le réseau s’améliore. Il est fas­ci­nant que les algo­rithmes d’IA puissent alors géné­ra­li­ser à des don­nées jamais vues lors de l’entraînement et ain­si accom­plir des tâches simi­laires à ce que ferait un cer­veau, tout cela à par­tir de cal­culs ins­pi­rés ini­tia­le­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.”

Tou­te­fois, les algo­rithmes d’IA pos­sèdent plu­sieurs limi­ta­tions qui les rendent très dif­fé­rents du cer­veau sur beau­coup d’aspects. Tout d’abord, la consom­ma­tion éner­gé­tique d’un algo­rithme d’IA, aus­si bien pen­dant l’entraînement que pen­dant son uti­li­sa­tion ulté­rieure, est supé­rieure à celle du cer­veau de plu­sieurs ordres de gran­deur. La rai­son de cette sur­con­som­ma­tion est d’abord archi­tec­tu­rale : l’architecture de J. von Neu­mann des ordi­na­teurs sépare phy­si­que­ment le pro­ces­seur où les cal­culs ont lieu, et la mémoire où les don­nées sont stockées.

Dans le contexte de l’IA, cette sépa­ra­tion donne lieu à un gou­lot d’étranglement où la plus grande par­tie de l’énergie est dépen­sée pour trans­por­ter la don­née d’un point à un autre. Dans le cer­veau, une telle sépa­ra­tion n’existe pas. Le cal­cul neu­ro­mor­phique est le domaine de recherche qui consiste à déve­lop­per des archi­tec­tures où la mémoire et les uni­té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 simu­ler un réseau de neu­rones sur ordi­na­teur, pour­quoi ne pas direc­te­ment construire le réseau de neu­rones arti­fi­ciels avec des com­po­sants phy­siques innovants ? 

L’idée n’est pas nou­velle et remonte aux années 80 avec les tra­vaux de Car­ver Mead. Des neu­rones et synapses arti­fi­ciels repro­dui­sant très fidè­le­ment les pro­prié­tés obser­vées en bio­lo­gie ont été construits avec des com­po­sants phy­siques. Mais il n’est pas suf­fi­sant d’en assem­bler un grand nombre pour qu’un cal­cul utile se pro­duise : le pro­blème est aus­si algo­rith­mique car les connexions doivent chan­ger de manière cohé­rente à l’échelle du réseau. 

En effet, un com­po­sant neu­ro­mor­phique ne devrait avoir besoin que de l’information qui lui est loca­le­ment acces­sible dans l’espace et dans le temps pour limi­ter les mou­ve­ments de don­nées, comme dans le cer­veau. Cepen­dant, les réseaux de neu­rones actuels n’ont pas été pen­sés pour être com­pa­tibles avec les contraintes phy­siques des com­po­sants neu­ro­mor­phiques. Ain­si, la créa­tion de puces élec­tro­niques qui implé­men­te­raient direc­te­ment les algo­rithmes actuels d’IA à faible coût éner­gé­tique est difficile. 

L’objectif de ma thèse a donc été d’adapter des prin­cipes pré­sents dans le cer­veau pour conce­voir des algo­rithmes d’IA com­pa­tibles avec une implé­men­ta­tion sur puce élec­tro­nique dédiée, et de par­ti­ci­per à la concep­tion de ces puces. Plus pré­ci­sé­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é­res­sé au pro­blème de l’oubli catas­tro­phique dans les réseaux de neu­rones arti­fi­ciels. L’oubli catas­tro­phique est une limi­ta­tion qui empêche les réseaux de neu­rones arti­fi­ciels d’apprendre plu­sieurs tâches à la suite.

Si l’on entraîne un réseau de neu­rones à recon­naître des chiffres manus­crits, et qu’ensuite on sou­haite uti­li­ser ce même réseau pour apprendre à recon­naître des lettres, le réseau appren­dra cette seconde tâche en oubliant très rapi­de­ment com­ment recon­naître des chiffres. Ce com­por­te­ment est très dif­fé­rent du cer­veau humain et il serait bien sûr pré­fé­rable que le réseau conti­nue à apprendre quand de nou­velles don­nées sont dis­po­nibles ou qu’une nou­velle tâche doit être apprise, sans avoir besoin de réap­prendre les anciennes don­nées en même temps que les nouvelles.

Le pro­blème de l’oubli catas­tro­phique s’explique par le fait qu’un réseau de neu­rones doit à la fois modi­fier ses connexions pour apprendre une tâche comme expli­qué plus haut, mais aus­si les empê­cher de chan­ger afin de conser­ver ce qui a été appris dans le pas­sé, ce qui semble contra­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 cer­veau, les synapses sont dites plas­tiques, car leurs forces peuvent être modi­fiées pour l’apprentissage, mais elles sont aus­si méta­plas­tiques : il existe des pro­ces­sus bio­lo­giques qui les rendent plus ou moins plas­tiques, de manière à conso­li­der cer­tains sou­ve­nirs et en oublier d’autres. Ce concept a été beau­coup étu­dié en neu­ros­ciences com­pu­ta­tion­nelles, un domaine de recherche visant à modé­li­ser les méca­nismes des réseaux de neu­rones biologiques.

Dans un article publié 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 concept de méta­plas­ti­ci­té pou­vait être natu­rel­le­ment appli­qué aux réseaux de neu­rones binaires (c’est-à-dire pou­vant prendre deux valeurs), une caté­go­rie de réseaux de neu­rones par­ti­cu­liè­re­ment étu­diée pour les appli­ca­tions de cal­cul neuromorphique.

Alors que les approches pré­cé­dentes pour réduire l’oubli catas­tro­phique dans les réseaux de neu­rones arti­fi­ciels repo­saient sur des cal­culs sup­plé­men­taires à effec­tuer entre les dif­fé­rentes tâches pour iden­ti­fier les connexions à conso­li­der, notre approche per­met de les iden­ti­fier direc­te­ment pen­dant l’apprentissage, ce qui la rend com­pa­tible avec des com­po­sants neu­ro­mor­phiques. Il est en effet envi­sa­geable de réa­li­ser un tel com­por­te­ment méta­plas­tique en uti­li­sant les pro­prié­tés phy­siques de nano­ma­té­riaux magnétiques.

Cepen­dant, bien que cette nou­velle règle de conso­li­da­tion soit locale, le pro­ces­sus par lequel la connexion sait dans quelle direc­tion évo­luer ne l’est pas, ce qui consti­tue une autre limi­ta­tion majeure des réseaux de neu­rones arti­fi­ciels actuels pour l’implémentation avec des com­po­sants physiques.

Un apprentissage très différent du cerveau

Met­tons de côté l’apprentissage de plu­sieurs tâches suc­ces­sives et concen­trons-nous sur l’apprentissage d’une seule tâche. La chaîne d’événements qui séparent une entrée sen­so­rielle (par exemple 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 mar­teau) sont consti­tuées de nom­breuses étapes inter­mé­diaires. L’information arrive par les yeux et tra­verse les dif­fé­rentes aires du cor­tex visuel avant de déclen­cher le geste. Cette idée de hié­rar­chie est aus­si pré­sente dans les réseaux de neu­rones arti­fi­ciels uti­li­sés actuel­le­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épa­rées par plu­sieurs couches de neu­rones et de synapses.

Le défi qui se pré­sente aus­si bien aux réseaux de neu­rones bio­lo­giques qu’aux réseaux arti­fi­ciels est le sui­vant : com­ment une synapse située loin en amont de la sor­tie peut-elle être modi­fiée pour amé­lio­rer les per­for­mances futures ? Il s’agit d’un pro­blème dif­fi­cile car modi­fier une connexion 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 cer­veau pour résoudre ce pro­blème, des expé­riences en neu­ros­ciences montrent qu’une synapse est modi­fiée sur la base de l’activité locale des neu­rones qu’elle relie. Dans les réseaux arti­fi­ciels, ce pro­blème est réso­lu avec une méthode en appa­rence très dif­fé­rente qui consiste à cal­cu­ler expli­ci­te­ment l’influence d’une modi­fi­ca­tion synap­tique sur le résul­tat en sor­tie (le gra­dient). Cette opé­ra­tion n’est plus locale mais effec­tuée par un sys­tème paral­lèle ou auxiliaire.


Axel Laborieux

Après ma thèse sur le cal­cul neu­ro­mor­phique, j’ai déci­dé d’enchaîner sur un post­doc­to­rat en neu­ros­ciences com­pu­ta­tion­nelles dans le groupe de Frie­de­mann Zenke à l’Institut Frie­drich Mies­cher pour la recherche bio­mé­di­cale à Bâle, en Suisse.


Jus­qu’à pré­sent, cette méthode 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 simi­laires à ce que semble faire le cer­veau. Et encore une fois, cette dif­fé­rence avec la bio­lo­gie rend dif­fi­cile l’implémentation directe avec des com­po­sants phy­siques, car le sys­tème devrait être capable de réa­li­ser deux types de cal­culs dis­tincts avec les mêmes composants.

Au lieu de cal­cu­ler expli­ci­te­ment le gra­dient, les méthodes alter­na­tives cherchent à l’estimer en fonc­tion de quan­ti­tés locales à chaque connexion. Cepen­dant, même si ces méthodes sont plus plau­sibles du point de vue de la bio­lo­gie, elles ne fonc­tionnent en géné­ral que sur des tâches simples et ne passent pas à l’échelle sur des tâches d’IA plus réalistes.

Dans une col­la­bo­ra­tion avec le Mila de Mont­réal et Thales à Saclay effec­tuée dans le cadre de ma thèse, nous avons mon­tré qu’une de ces méthodes alter­na­tives peut pas­ser à l’échelle, ce qui ouvre la pos­si­bi­li­té de conce­voir des sys­tèmes phy­siques capables d’apprendre en uti­li­sant direc­te­ment la phy­sique de leurs com­po­sants, et sans avoir besoin de connaître leurs carac­té­ris­tiques individuelles.

Une telle façon de réa­li­ser l’apprentissage sera beau­coup plus effi­cace en termes de besoins éner­gé­tiques que l’utilisation de centres de cal­cul pour les rai­sons expli­quées pré­cé­dem­ment. Cela per­met­tra de déployer des sys­tèmes intel­li­gents dans des contextes embar­qués comme les voi­tures auto­nomes, la robo­tique, etc.

À l’heure actuelle, des puces élec­tro­niques implé­men­tant direc­te­ment des réseaux de neu­rones arti­fi­ciels com­mencent à voir le jour, mais elles sont encore à des stades pré­li­mi­naires et se limitent à 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­tro­nique dédié.

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

Les neu­rones arti­fi­ciels simu­lés par les IA sont très simples com­pa­rés aux neu­rones bio­lo­giques. L’opération essen­tielle qu’ils réa­lisent se réduit à l’addition des signaux pro­ve­nant d’autres neu­rones, préa­la­ble­ment mul­ti­pliés par la force des connexions synap­tiques, et à la com­pa­rai­son de cette somme avec un seuil. Le neu­rone émet alors un résul­tat qui sera uti­li­sé par les neu­rones sui­vants. Cepen­dant, cette opé­ra­tion doit être réa­li­sée un très grand nombre de fois à cause du nombre éle­vé de neu­rones et de connexions.

calcul neuromorphique

En uti­li­sant des com­po­sants mémoire pour enco­der les connexions et en les dis­po­sant sous forme de tableau où chaque ligne est connec­tée à un neu­rone de l’entrée, et chaque colonne à un neu­rone de sor­tie, il est pos­sible d’implémenter ces opé­ra­tions de manière très effi­cace du point de vue éner­gé­tique en uti­li­sant par exemple les lois de conser­va­tion du cou­rant élec­trique. Le défi est alors d’avoir suf­fi­sam­ment de pré­ci­sion et peu de varia­bi­li­té entre les com­po­sants pour obte­nir 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­cu­liè­re­ment inté­res­sants car les connexions et les neu­rones ne peuvent prendre que deux valeurs (par exemple 1 et ‑1). Les opé­ra­tions à faire sur puce deviennent donc plus simples et plus robustes aux erreurs de lec­ture. Les per­for­mances d’un réseau de neu­rones binaires sur les tâches d’IA sont bien sûr moins éle­vées qu’un réseau uti­li­sant des valeurs conti­nues, mais res­tent conve­nables par rap­port aux gains obte­nus pour l’implémentation physique.

Des membres de mon équipe au C2N avaient conçu une telle puce pour enco­der un réseau de neu­rones binaires. Dans une col­la­bo­ra­tion avec le CEA-Leti de Gre­noble et l’université d’Aix-Marseille effec­tuée dans le cadre de ma thèse, nous avons mon­tré qu’en uti­li­sant la puce dans un régime par­ti­cu­lier la même archi­tec­ture pou­vait être uti­li­sée pour enco­der une troi­sième valeur de connexion synaptique.

Cela per­met au réseau d’être plus per­for­mant tout en conser­vant une implé­men­ta­tion robuste aux varia­tions entre les com­po­sants et aux erreurs de lec­ture. Des esti­ma­tions ont mon­tré que ce type d’implémentation phy­sique réduit l’énergie néces­saire pour uti­li­ser le réseau de plu­sieurs ordres de gran­deur com­pa­rée à l’utilisation d’ordinateurs actuels. En effet, dans ce type d’architecture, les com­po­sants mémoire codant les connexions synap­tiques se trouvent au cœur du cir­cuit effec­tuant le cal­cul et n’ont donc pas besoin d’être dépla­cés comme dans l’architecture J. von Neu­mann des ordi­na­teurs classiques.

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

Ces trois pro­jets menés pen­dant ma thèse m’ont per­mis de prendre la mesure des défis à sur­mon­ter pour la créa­tion de sys­tèmes repo­sant sur l’utilisation d’IA néces­si­tant peu d’énergie. L’interdisciplinarité est pro­ba­ble­ment le plus impor­tant d’entre eux. Construire de tels sys­tèmes met en jeu des connais­sances de phy­sique, d’électronique, de neu­ros­ciences et d’informatique.

Les approches déve­lop­pées indé­pen­dam­ment dans chaque dis­ci­pline ont ten­dance à ne pas prendre en compte les contraintes et les avan­cées des autres domaines. Par exemple, créer un sys­tème qui ne ferait qu’imiter les neu­rones bio­lo­giques dans toute leur com­plexi­té sans prendre en compte les avan­cées algo­rith­miques dans le domaine de l’apprentissage machine ne pro­dui­ra pas de cal­cul utile. De même, une approche consis­tant à implé­men­ter tels quels les algo­rithmes de l’apprentissage machine sur une puce est sus­cep­tible 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 ori­gine l’étude du cer­veau, et les méthodes récentes d’IA per­mettent à leur tour de défi­nir de nou­velles direc­tions de recherche en neu­ros­ciences 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­met­tra de com­prendre et répli­quer les prin­cipes d’une intel­li­gence néces­si­tant peu d’énergie.


Présentation du laboratoire d’accueil

Le Centre de Nanos­ciences et de Nano­tech­no­lo­gies – C2N (CNRS/Université Paris-Saclay), a été créé le 1er juin 2016 du regrou­pe­ment de deux labo­ra­toires fran­ci­liens lea­ders dans leur domaine : le Labo­ra­toire de pho­to­nique et de nano­struc­tures (LPN) et l’Institut d’électronique fon­da­men­tale (IEF). En 2018, les équipes se sont ins­tal­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 pla­teau de Saclay se place dans une pers­pec­tive ambi­tieuse. Il répond à deux objec­tifs prin­ci­paux indissociables :

  • consti­tuer un labo­ra­toire phare pour la recherche en Nanos­ciences et en Nanotechnologies
  • doter le pla­teau de Saclay et l’Île-de-France d’une grande cen­trale de tech­no­lo­gie ouverte à tous les acteurs aca­dé­miques et indus­triels du domaine, en par­ti­cu­lier les franciliens

Le centre déve­loppe des recherches dans les domaines des maté­riaux, de la nano­pho­to­nique, de la nano­élec­tro­nique, des nano-
bio-tech­no­lo­gies et des micro-sys­tèmes, ain­si que dans ceux des nano­tech­no­lo­gies. Sur ces sujets, il traite les aspects fon­da-men­taux et appli­qués. L’unité est struc­tu­rée en quatre dépar­te­ments scien­ti­fiques. Sa Cen­trale de tech­no­lo­gie est un outil essen­tiel pour les études et recherches menées au labo­ra­toire. Elle fait éga­le­ment par­tie du réseau RENATECH des grandes cen­trales de tech­no­lo­gie pilo­té par le CNRS pour sou­te­nir la recherche et l’innovation dans le domaine des micro-nano­tech­no­lo­gies au niveau natio­nal. La Cen­trale héberge ain­si plus de deux cents pro­jets tech­no­lo­giques, dont près d’un quart sont por­tés par des labo­ra­toires exté­rieurs, prin­ci­pa­le­ment aca­dé­miques mais aus­si industriels.


À propos de la thèse

Doc­teur : Axel Labo­rieux (2014)

Direc­teur de thèse : Dr. Damien Quer­lioz

Co-enca­drante : Dr. Liza Her­re­ra-Diez

Titre en anglais : Bio-ins­pi­red conti­nual lear­ning and cre­dit assi­gn­ment for neu­ro­mor­phic computing.

Titre en fran­çais : Appren­tis­sage conti­nu et esti­ma­tion du gra­dient ins­pi­rés de la bio­lo­gie pour le cal­cul neuromorphique.

Date et lieu de sou­te­nance : 6.10.2021 au Centre de Nanos­ciences et de Nano­tech­no­lo­gies, Palai­seau, France.

Com­po­si­tion du jury : 

  • Dr. Julie Grol­lier, direc­trice de recherche, Uni­té Mixte de Phy­sique CNRS, Thales, pré­si­dente du jury.
  • Prof. Emre Neft­ci, For­schung­zen­trum Jülich, Alle­magne, rap­por­teur et examinateur.
  • Dr. Daniel Brun­ner, char­gé de recherche, HDR, FEMTO-ST, Besan­çon, rap­por­teur et examinateur.
  • Prof. Robert Legen­stein, Graz Uni­ver­si­ty of Tech­no­lo­gy Bestä­tigte, Autriche, examinateur.
  • Dr. Damien Quer­lioz, char­gé de recherche, Centre de Nanos­ciences et Nano­tech­no­lo­gies, direc­teur de thèse.
  • Dr. Liza Her­re­ra-Diez, char­gée de recherche, Centre de Nanos­ciences et Nano­tech­no­lo­gies, co-enca­drante et examinatrice.

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


Poster un commentaire