Le cerveau est comme un ordinateur: mal gérer les mathématiques et bien avec tout le reste

image Nous nous souvenons tous des exercices tourmentés d'arithmétique de l'école. Il faudra au moins une minute pour multiplier des nombres comme 3 752 et 6 901 avec un crayon et du papier. Bien sûr, aujourd'hui, lorsque nous avons des téléphones à portée de main, nous pouvons rapidement vérifier que le résultat de notre exercice devrait être 25 892 552. Les processeurs des téléphones modernes peuvent effectuer plus de 100 milliards de ces opérations par seconde. De plus, ces puces consomment seulement quelques watts, ce qui les rend beaucoup plus efficaces que nos cerveaux lents, consommant 20 watts et nécessitant beaucoup plus de temps pour obtenir le même résultat.

Bien sûr, le cerveau n'a pas évolué pour faire de l'arithmétique. Par conséquent, il le fait mal. Mais il fait face au traitement d'un flux constant d'informations provenant de notre environnement. Et il y réagit - parfois plus vite que nous ne pouvons le réaliser. Peu importe la quantité d'énergie qu'un ordinateur ordinaire consommera - il sera difficile de faire face à ce qui est facilement donné au cerveau - par exemple, comprendre le langage ou monter les escaliers.

S'ils pouvaient créer des machines dont les capacités de calcul et l'efficacité énergétique seraient comparables à celles du cerveau, alors tout changerait radicalement. Les robots se déplaceraient habilement dans le monde physique et communiqueraient avec nous dans un langage naturel. Les systèmes à grande échelle collecteraient d'énormes quantités d'informations sur les affaires, la science, la médecine ou le gouvernement, découvrant de nouveaux modèles, trouvant des relations causales et faisant des prédictions. Les applications mobiles intelligentes comme Siri et Cortana pourraient moins s'appuyer sur les nuages. Une telle technologie pourrait nous permettre de créer des appareils à faible consommation d'énergie, complétant nos sens, nous fournissant des médicaments et émulant des signaux nerveux, compensant les dommages aux organes ou la paralysie.

Mais n'est-il pas trop tôt pour se fixer des objectifs aussi audacieux? Notre compréhension du cerveau est-elle trop limitée pour que nous puissions créer des technologies basées sur ses principes? Je crois que l'émulation des caractéristiques les plus simples des circuits nerveux peut améliorer considérablement les performances de nombreuses applications commerciales. La précision avec laquelle les ordinateurs doivent copier les détails biologiques de la structure du cerveau afin de se rapprocher de son niveau de vitesse est une question ouverte. Mais les systèmes d'aujourd'hui, inspirés de la structure du cerveau, ou neuromorphes, deviendront des outils importants pour y trouver une réponse.

Une caractéristique clé des ordinateurs conventionnels est la séparation physique de la mémoire qui stocke les données et les instructions, et la logique qui traite ces informations. Il n'y a pas une telle division dans le cerveau. Les calculs et le stockage des données se produisent simultanément et localement, dans un vaste réseau composé d'environ 100 milliards de cellules nerveuses (neurones) et de plus de 100 billions de connexions (synapses). Pour la plupart, le cerveau est déterminé par ces connexions et la façon dont chacun des neurones répond au signal entrant des autres neurones.

Parlant des possibilités extraordinaires du cerveau humain, nous entendons généralement l'acquisition récente d'un long processus évolutif - le néocortex (nouveau cortex). Cette couche mince et extrêmement pliée forme la coque externe du cerveau et effectue des tâches très différentes, y compris le traitement des informations reçues des sens, le contrôle de la motricité, le travail avec la mémoire et l'apprentissage. Un tel éventail de possibilités est disponible dans une structure plutôt homogène: six couches horizontales et un million de colonnes verticales de 500 μm de large, constituées de neurones qui intègrent et distribuent des informations codées en impulsions électriques le long des antennes qui en découlent - dendrites et axones.

Comme toutes les cellules du corps humain, le neurone a un potentiel électrique de l'ordre de 70 mV entre la surface extérieure et l'intérieur. Cette tension membranaire change lorsqu'un neurone reçoit un signal d'autres neurones qui lui sont associés. Si la tension de la membrane atteint une valeur critique, elle forme une impulsion, ou une surtension de plusieurs millisecondes, de l'ordre de 40 mV. Cette impulsion se propage le long de l'axone d'un neurone jusqu'à ce qu'elle atteigne la synapse, une structure biochimique complexe qui relie l'axone d'un neurone à la dendrite d'un autre. Si l'impulsion satisfait à certaines restrictions, la synapse la convertit en une autre impulsion, descendant les dendrites de ramification du neurone recevant le signal, et change sa tension de membrane dans le sens positif ou négatif.

La connectivité est une caractéristique essentielle du cerveau. Le neurone pyramidal , un type particulièrement important de cellules néocortex humaines, contient environ 30 000 synapses, soit 30 000 canaux d'entrée provenant d'autres neurones. Et le cerveau s'adapte constamment. Le neurone et les propriétés de la synapse - et même la structure du réseau lui-même - sont en constante évolution, principalement sous l'influence des données d'entrée provenant des sens et de la rétroaction environnementale.

Les ordinateurs modernes à usage général sont numériques et non analogiques; la classification du cerveau n'est pas si simple. Les neurones accumulent une charge électrique, comme les condensateurs dans les circuits électroniques. Il s'agit clairement d'un processus analogique. Mais le cerveau utilise les rafales comme unités d'information, et il s'agit essentiellement d'un schéma binaire: à tout moment, n'importe où, il y a une rafale ou non. En termes d'électronique, le cerveau est un système à signaux mixtes, avec calcul analogique local et transmission d'informations à l'aide de salves binaires. Étant donné que la rafale n'a que 0 ou 1 valeur, elle peut parcourir une longue distance sans perdre ces informations de base. Il se reproduit également, atteignant le prochain neurone du réseau.

Une autre différence clé entre le cerveau et l'ordinateur est que le cerveau gère le traitement de l'information sans horloge centrale synchronisant son fonctionnement. Bien que nous observions des événements de synchronisation - des ondes cérébrales - ils s'organisent, résultant du travail des réseaux de neurones. Fait intéressant, les systèmes informatiques modernes commencent à adopter l'asynchronie inhérente au cerveau afin d'accélérer les calculs en les exécutant en parallèle. Mais le degré et le but de la parallélisation de ces deux systèmes sont extrêmement différents.

L'idée d'utiliser le cerveau comme modèle de calcul a des racines profondes. Les premières tentatives étaient basées sur un neurone à seuil simple qui donne une valeur si la somme des données d'entrée pondérées dépasse le seuil, et l'autre si ce n'est pas le cas. Le réalisme biologique de cette approche, conçue par Warren McCullough et Walter Pitts dans les années 40, est très limité. Cependant, c'était la première étape vers l'application du concept de neurone déclencheur comme élément de calcul.

En 1957, Frank Rosenblatt a proposé une autre version d'un neurone à seuil, le perceptron . Un réseau de nœuds interconnectés (neurones artificiels) est composé de couches. Les couches visibles à la surface du réseau interagissent avec le monde extérieur en tant qu'entrées et sorties, et les couches cachées à l'intérieur effectuent tous les calculs.

Rosenblatt a également suggéré d'utiliser une caractéristique essentielle du cerveau: le confinement. Au lieu d'empiler toutes les entrées, les neurones du perceptron peuvent apporter une contribution négative. Cette fonctionnalité permet aux réseaux de neurones d'utiliser une seule couche cachée pour résoudre les problèmes XOR en logique, dans lesquels la sortie est vraie si une seule des deux entrées binaires est vraie. Cet exemple simple montre que l'ajout de réalisme biologique peut ajouter de nouvelles capacités de calcul. Mais quelles fonctions du cerveau sont nécessaires à son travail, et quelles sont les traces inutiles de l'évolution? Personne ne le sait.

Nous savons que des résultats informatiques impressionnants peuvent être obtenus sans chercher à créer un réalisme biologique. Les chercheurs en apprentissage profond ont parcouru un long chemin dans l'utilisation des ordinateurs pour analyser de grandes quantités de données et extraire certains attributs d'images complexes. Bien que les réseaux de neurones qu'ils ont créés aient plus d'entrées et de couches cachées que jamais, ils sont toujours basés sur des modèles de neurones extrêmement simples. Leurs vastes possibilités ne reflètent pas le réalisme biologique, mais l'ampleur des réseaux qu'ils contiennent et la puissance des ordinateurs utilisés pour leur formation. Mais les réseaux d'apprentissage en profondeur sont encore très loin des vitesses de calcul, de l'efficacité énergétique et des capacités d'apprentissage du cerveau biologique.

L'énorme fossé entre le cerveau et les ordinateurs modernes est mieux souligné par les simulations à grande échelle du cerveau. Ces dernières années, plusieurs tentatives de ce type ont été faites, mais toutes ont été sévèrement limitées par deux facteurs: l'énergie et le temps de simulation. Par exemple, considérons une simulation réalisée il y a plusieurs années par Markus Daisman et ses collègues utilisant 83 000 processeurs sur un supercalculateur K au Japon. La simulation de 1,73 milliard de neurones a consommé 10 milliards de fois plus d'énergie que la zone équivalente du cerveau, bien qu'ils aient utilisé des modèles extrêmement simplifiés et n'aient effectué aucune formation. Et ces simulations fonctionnent généralement plus de 1000 fois plus lentement que le cerveau biologique en temps réel.

Pourquoi sont-ils si lents? Les simulations cérébrales sur des ordinateurs conventionnels nécessitent le calcul de milliards d'équations différentielles qui sont interconnectées et décrivent la dynamique des cellules et des réseaux: des processus analogiques comme le déplacement d'une charge à travers une membrane cellulaire. Les ordinateurs qui utilisent la logique booléenne - changer l'énergie pour la précision - et partager la mémoire et le calcul, sont extrêmement inefficaces pour modéliser le cerveau.

Ces simulations peuvent devenir un outil de cognition du cerveau, en transférant les données obtenues en laboratoire vers des simulations avec lesquelles nous pouvons expérimenter, puis comparer les résultats avec les observations. Mais si nous espérons aller dans une direction différente et utiliser les leçons de la neurobiologie pour créer de nouveaux systèmes informatiques, nous devons repenser la façon dont nous concevons et créons des ordinateurs.

image
Neurones dans le silicium.

Copier le travail du cerveau à l'aide de l'électronique peut être plus réalisable qu'il n'y paraît à première vue. Il s'avère qu'environ 10 fJ (10 -15 joules) sont dépensés pour créer un potentiel électrique au niveau de la synapse. La grille d'un transistor métal-oxyde-semi-conducteur (MOS), qui est beaucoup plus grande et consomme plus d'énergie que celles utilisées dans le CPU, ne nécessite que 0,5 fJ pour se charger. Il s'avère que la transmission synaptique équivaut à charger 20 transistors. De plus, au niveau des appareils, les circuits biologiques et électroniques ne diffèrent pas beaucoup. En principe, vous pouvez créer des structures comme des synapses et des neurones à partir de transistors et les connecter de manière à obtenir un cerveau artificiel qui n'absorbe pas de telles quantités éblouissantes d'énergie.

L'idée de créer des ordinateurs à l'aide de transistors qui fonctionnent comme des neurones est apparue dans les années 1980 avec le professeur Carver Mead de Caltech. L'un des principaux arguments de Mead en faveur des ordinateurs «neuromorphes» était que les dispositifs semi-conducteurs peuvent, dans un certain mode, suivre les mêmes lois physiques que les neurones, et que le comportement analogique peut être utilisé pour des calculs à haute efficacité énergétique.

Le groupe de Mead a également inventé une plate-forme de communication neuronale dans laquelle les salves ne sont codées que par leurs adresses réseau et leur heure d'occurrence. Ce travail a été révolutionnaire, car il a été le premier à faire du temps une caractéristique nécessaire des réseaux de neurones artificiels. Le temps est un facteur clé pour le cerveau. Les signaux ont besoin de temps de propagation, les membranes ont besoin de temps de réaction, et c'est le temps qui détermine la forme des potentiels postsynaptiques.

Aujourd'hui, plusieurs groupes de recherche actifs, par exemple le groupe Giacomo Indiveri de la Swiss Higher Technical School et Kwabena Bohen de Stanford, ont suivi les traces de Mead et introduit avec succès des éléments des réseaux biologiques corticaux. L'astuce consiste à travailler avec des transistors utilisant un courant basse tension qui n'atteint pas leur valeur seuil, créant des circuits analogiques qui copient le comportement du système nerveux, tout en consommant un peu d'énergie.

Des recherches plus poussées dans ce sens pourraient trouver des applications dans des systèmes tels que l'interface cerveau-ordinateur. Mais il y a un énorme fossé entre ces systèmes et la taille réelle du réseau, la connectivité et la capacité d'apprentissage du cerveau animal.

Ainsi, dans la région de 2005, trois groupes de chercheurs ont commencé indépendamment à développer des systèmes neuromorphiques qui étaient significativement différents de l'approche originale de Mead. Ils voulaient créer des systèmes à grande échelle avec des millions de neurones.

Le projet SpiNNaker , dirigé par Steve Ferber de l'Université de Manchester, est le plus proche des ordinateurs ordinaires. Ce groupe a développé sa propre puce numérique, composée de 18 processeurs ARM fonctionnant à 200 MHz - environ un dixième de la vitesse des processeurs modernes. Bien que les cœurs ARM soient issus du monde des ordinateurs classiques, ils simulent des rafales envoyées via des routeurs spéciaux conçus pour transmettre des informations de manière asynchrone - tout comme le cerveau. La mise en œuvre actuelle, qui fait partie du projet du cerveau humain de l'Union européenne et a été achevée en 2016, contient 500 000 cœurs ARM. Selon la complexité du modèle neuronal, chaque noyau est capable de simuler jusqu'à 1000 neurones.

La puce TrueNorth, développée par Darmendra Maud et ses collègues du laboratoire de recherche IBM à Almaden, refuse d'utiliser les microprocesseurs comme unités de calcul, et est en fait un système neuromorphique dans lequel l'informatique et la mémoire sont intimement liées. TrueNorth reste toujours un système numérique, mais il est basé sur des neurocontours spécialement conçus qui implémentent un modèle de neurone spécifique. La puce contient 5,4 milliards de transistors, elle est construite sur la technologie Samsung CMOS 28 nm (structure complémentaire métal-oxyde-semi-conducteur). Les transistors émulent 1 million de circuits neuronaux et 256 millions de synapses simples (bit unique) sur une seule puce.

Je dirais que le prochain projet, BrainScaleS , est allé assez loin des ordinateurs conventionnels et s'est rapproché du cerveau biologique. Nous avons travaillé sur ce projet avec mes collègues de l'Université d'Heidelberg pour l'initiative européenne «The Human Brain». BrainScaleS implémente un traitement de signal mixte. Il combine les neurones et les synapses, dans le rôle desquels les transistors au silicium agissent comme des dispositifs analogiques avec l'échange d'informations numériques. Le système de grande taille se compose de substrats de silicium de 8 pouces et vous permet d'émuler 4 millions de neurones et 1 milliard de synapses.

Le système peut reproduire neuf modes de réponse différents des neurones biologiques et est développé en étroite collaboration avec des neuroscientifiques. Contrairement à l'approche analogique de Mead, BrainScaleS fonctionne en mode accéléré, son émulation est 10 000 fois plus rapide qu'en temps réel. Ceci est particulièrement pratique pour étudier le processus d'apprentissage et le développement.

L'apprentissage est susceptible de devenir une composante essentielle des systèmes neuromorphiques. Désormais, les puces fabriquées à l'image du cerveau, ainsi que les réseaux de neurones fonctionnant sur des ordinateurs ordinaires, sont entraînés sur le côté à l'aide d'ordinateurs plus puissants. Mais si nous voulons utiliser des systèmes neuromorphiques dans des applications réelles - par exemple, dans des robots qui devront travailler côte à côte avec nous, ils devront être capables d'apprendre et de s'adapter à la volée.

Dans la deuxième génération de notre système BrainScaleS, nous avons mis en œuvre l'opportunité de formation en créant des «processeurs de flexibilité» sur la puce. Ils sont utilisés pour modifier un large éventail de paramètres des neurones et des synapses. Cette fonctionnalité nous permet d'affiner les paramètres pour compenser les différences de taille et de propriétés électriques lors du passage d'un appareil à un autre - approximativement comment le cerveau lui-même s'adapte aux changements.

Les trois systèmes à grande échelle que j'ai décrits se complètent. SpiNNaker peut être configuré de manière flexible et utilisé pour tester différents neuromodèles, TrueNorth a une densité d'intégration élevée, BrainScaleS est conçu pour une formation et un développement continus. La recherche de la bonne façon d'évaluer l'efficacité de tels systèmes est toujours en cours. Mais les premiers résultats sont prometteurs. L'équipe TrueNorth d'IBM a récemment calculé que la transmission synaptique dans leur système prend 26 pJ. Et bien que ce soit 1000 fois plus d'énergie nécessaire dans un système biologique, c'est presque 100 000 fois moins d'énergie utilisée pour la transmission dans les simulations sur des ordinateurs à usage général.

Nous sommes encore à un stade précoce pour comprendre ce que de tels systèmes peuvent faire et comment les appliquer à la résolution de problèmes réels. Dans le même temps, nous devons trouver des moyens de combiner de nombreuses puces neuromorphiques en grands réseaux avec des capacités d'apprentissage améliorées, tout en réduisant la consommation d'énergie. L'un des problèmes est la connectivité: le cerveau est en trois dimensions et nos circuits sont en deux dimensions. La question de l'intégration tridimensionnelle des circuits est actuellement à l'étude, et ces technologies peuvent nous aider.

Les appareils qui ne sont pas basés sur CMOS - memristors ou PCRAM ( mémoire avec changement d'état de phase ) peuvent devenir une autre aide.Aujourd'hui, les poids qui déterminent la réponse des synapses artificielles aux signaux entrants sont stockés dans la mémoire numérique ordinaire, qui occupe la plupart des ressources en silicium nécessaires pour construire un réseau. Mais d'autres types de mémoire peuvent nous aider à réduire la taille de ces cellules du micromètre au nanomètre. Et la principale difficulté des systèmes modernes sera de supporter les différences entre les différents appareils. Les principes d'étalonnage développés par BrainScaleS peuvent vous aider.

Nous venons de commencer notre voyage sur la route des systèmes neuromorphiques pratiques et utiles. Mais l'effort en vaut la peine. En cas de succès, nous ne créerons pas seulement de puissants systèmes informatiques; nous pouvons même obtenir de nouvelles informations sur le travail de notre propre cerveau.

Source: https://habr.com/ru/post/fr405285/


All Articles