IBM a adapté un réseau neuronal convolutif pour fonctionner sur une puce neuromorphique



Selon IBM, la précision TrueNorth rencontre les meilleurs systèmes de reconnaissance d'image et de reconnaissance vocale d'aujourd'hui, mais elle utilise également moins d'énergie et est plus rapide. L'équipe de recherche de l'entreprise est convaincue que la combinaison de réseaux convolutionnels avec des microcircuits neuromorphiques nous permettra de créer des voitures et des smartphones intelligents plus avancés qui reconnaissent correctement la commande vocale d'une personne, même s'il parle à pleine bouche. Essayons de comprendre quels sont les avantages et les inconvénients de TrueNorth et où il a trouvé une application.

Le cerveau humain contient environ 86 milliards de neurones - des cellules qui se connectent à des milliers d'autres neurones via les processus des synapses. Un neurone reçoit des signaux de beaucoup d'autres, et lorsque la stimulation atteint un certain seuil, il «s'active» en envoyant son propre signal aux neurones environnants. Le cerveau apprend, en particulier, en ajustant les liens forts. Lorsque la séquence d'actions est répétée, par exemple, par la pratique, les synapses concomitantes deviennent plus fortes et la leçon ou la compétence acquise «s'inscrit» dans le réseau.

Dans les années 40, les scientifiques ont commencé à modéliser les neurones mathématiquement, et dans les années 50, ils ont créé des réseaux de neurones et d'ordinateurs. Les neurones artificiels et les synapses sont beaucoup plus simples que dans le cerveau, mais fonctionnent selon les mêmes principes. De nombreuses unités simples - les neurones - sont connectées à d'autres via des «synapses» avec leurs valeurs numériques en fonction des valeurs des unités.

Le réseau neuronal convolutif (CNN) est un type spécial de réseau qui a gagné en popularité au cours des dernières années. Les CNN extraient des caractéristiques importantes des incitations - généralement des photographies. Prenez, par exemple, une photographie d'un chien. Il peut être représenté comme une couche de neurones, où l'activation d'un neurone représente un pixel dans l'image. Sur la couche suivante, chaque neurone recevra une entrée d'un ensemble de la première couche et s'activera s'il détecte un motif spécifique dans cet ensemble, agissant comme un filtre.

Dans les couches suivantes, les neurones rechercheront des motifs dans les motifs, etc. Au sein d'une seule couche, les filtres peuvent être sensibles à certaines structures. D'abord aux bordures des figures, puis aux pattes, puis aux chiens, jusqu'à ce que le réseau puisse déterminer la différence entre le chien et le grille-pain.

Or, de tels calculs coûtent cher. Étant donné qu'il y a des milliards de neurones et des milliards de synapses dans le cerveau humain, l'imitation de chacun n'est pas encore possible. Même la simulation d'une petite partie du cerveau nécessitera des millions de calculs pour chaque élément d'entrée, ce qui nécessite une puissance de traitement énorme. Les plus grands CNN modernes peuvent avoir des millions de neurones et des milliards de synapses, mais pas plus.

L'architecture informatique classique des processeurs centraux, conçue pour traiter une instruction à la fois, n'est pas adaptée aux tâches imposées par CNN. Par conséquent, les scientifiques se sont tournés vers l'informatique parallèle, qui peut en traiter plusieurs à la fois. Les réseaux de neurones modernes utilisent des processeurs graphiques, qui calculent généralement les graphiques des jeux vidéo et de la CAO. En raison de l'architecture et de la similitude des calculs mathématiques, les cartes vidéo conviennent à l'apprentissage en profondeur.

Mais tout de même, le matériel ne gère pas l'apprentissage en profondeur aussi efficacement que le cerveau, qui peut conduire une voiture et en même temps parler de l'avenir des véhicules autonomes, tout en consommant moins d'énergie qu'une ampoule.

Dans les années 1980, l'ingénieur Carver Mead a inventé le terme «processeurs neuromorphes» pour décrire des puces informatiques qui fonctionnent d'une manière semblable à un cerveau. Son travail a jeté les bases de ce domaine. Bien que le terme «neuromorphique» soit maintenant appliqué à un large éventail de solutions, ils tentent tous de répéter le mécanisme de fonctionnement des réseaux de neurones au niveau matériel, en évitant les goulots d'étranglement que rencontrent les processeurs traditionnels.

Constatant la nécessité d'un apprentissage automatique rapide et efficace, le Bureau des projets avancés du Département de la Défense des États-Unis (mieux connu sous son acronyme DARPA) finance activement le laboratoire d'entreprise IBM HRL Laboratories depuis 2008 pour développer des machines neuromorphiques pouvant être facilement mises à l'échelle.

TrueNorth


En 2014, IBM a présenté sa puce TrueNorth sur la couverture de Science Magazine. Depuis lors, la société développe des systèmes basés sur TrueNorth avec le soutien financier du département américain de l'Énergie, de l'Air Force et de l'armée. L'une de ces puces contient un million de «neurones», chacun étant représenté par un groupe de transistors numériques, et 256 millions de «synapses» - connexions câblées entre les puces.

Les architectures neuromorphiques deviennent plus efficaces que les puces conventionnelles grâce à deux fonctions. Premièrement, une telle puce, comme le cerveau, communique à travers des "flashs" - des paquets d'informations unidimensionnels envoyés d'un neurone aux neurones descendants. Les signaux sont simples (qu'il y ait un flash ou non) et ne sont transmis qu'occasionnellement lorsqu'un neurone transmet un paquet. Deuxièmement, tout comme dans le cerveau, le traitement et la mémoire sont situés dans les neurones et les synapses. Sur un ordinateur traditionnel, l'unité de traitement de données extrait constamment des informations de zones de mémoire individuelles, effectue des opérations, puis renvoie de nouvelles informations en mémoire. Cela conduit à de nombreuses activités lentes et énergivores.

Le système TrueNorth est assez flexible, car il peut être programmé pour implémenter des réseaux de différentes tailles et formes et mis à l'échelle en «cassant» plusieurs puces. Dans son travail scientifique, l'équipe IBM a utilisé une puce neuromorphique pour identifier les personnes, les vélos et les voitures dans une vidéo tournée dans la rue. Une expérience comparative a montré que le logiciel TrueNorth fonctionnant sur un microprocesseur traditionnel utilisait 176 000 fois plus d'énergie pour cette tâche.

Un élément clé du projet IBM a été la création non seulement d'une puce, mais également d'un logiciel. L'entreprise a créé un simulateur, un nouveau langage de programmation et une bibliothèque d'algorithmes et d'applications. L'entreprise a ensuite fourni ces outils à plus de 160 chercheurs dans des laboratoires universitaires, nationaux et d'entreprise. La conception de TrueNorth a été achevée en 2011 et la révolution du réseau neuronal convolutionnel a eu lieu en 2012 dans le cadre du défi ImageNet . Certaines personnes ont donc commencé à se demander si les puces TrueNorth pouvaient gérer ces réseaux.

CNN utilise la méthode de rétropropagation. Chaque fois que le réseau fait une erreur, la différence entre son hypothèse et la bonne réponse est calculée. L'algorithme de propagation de retour d'erreur tient compte de chaque neurone dans la couche finale et calcule dans quelle mesure un changement dans la sortie de ce neurone réduira l'erreur totale. Il revient ensuite aux neurones précédents et calcule dans quelle mesure un changement de la force de chaque synapse entrante réduira l'erreur globale.

Il est nécessaire de savoir si la force synaptique doit être augmentée ou diminuée, de sorte que l'algorithme ajuste légèrement chaque poids dans la bonne direction. Par la suite, l'algorithme calcule une nouvelle erreur en utilisant les nouveaux poids et répète tout le processus. Après plusieurs de ces étapes, l'erreur diminue dans un processus appelé descente de gradient.

TrueNorth était initialement considéré comme incompatible avec l'algorithme d'erreur de rétropropagation, car la descente du gradient nécessite de minuscules ajustements de poids et la vision de minuscules améliorations. TrueNorth maximise son efficacité en utilisant seulement trois valeurs de poids différentes: -1, 0 et 1, et la sortie du neurone est 0 ou 1. Il n'y a pas de gradients, seulement des étapes discrètes.

L'une des principales réalisations de l'équipe a été une série de méthodes pour effectuer l'algorithme de rétropropagation avec des réseaux de neurones pulsés. Les chercheurs ont résolu ce problème en entraînant le modèle logiciel de la puce programmé pour utiliser une approximation matérielle compatible avec la descente de gradient.

Un autre développement clé a été la mise en correspondance de CNN avec une multitude de connexions aux neurones sur une puce, ce qui implique seulement 256 connexions par neurone. Cet objectif a été atteint en affectant certaines paires de neurones qui fonctionnent simultanément, qui sont combinées en un seul neurone via des entrées et des sorties.

Malgré les performances assez élevées de TrueNorth, il a été créé sans tenir compte des caractéristiques des réseaux de neurones profonds et du CNN, il présente donc des inconvénients par rapport à d'autres systèmes. Par exemple, pour qu'un réseau de 30 000 neurones fonctionne, 8 puces (8 millions de neurones) sont nécessaires. De plus, TrueNorth est une puce entièrement numérique lorsque certains ont des composants analogiques. Leur travail est plus imprévisible, mais toujours plus efficace. Et bien que chaque puce TrueNorth soit divisée en 4096 «cœurs» qui fonctionnent en parallèle, 256 neurones dans chaque cœur ne sont mis à jour que séquentiellement et un à la fois.

Le traitement séquentiel des neurones dans le noyau TrueNorth peut créer un goulot d'étranglement, mais il offre également une régularité. Cela signifie que le comportement de la puce peut être simulé avec une grande précision sur les ordinateurs de bureau. Dans le même temps, la puce est universelle - elle peut prendre en charge de nombreux types de réseaux différents, et l'objectif actuel de l'équipe de création de puces, dirigée par le chef du cerveau d'IBM, Dharmendra Modha, est de déployer plusieurs réseaux différents en collaboration - pour réaliser le compositing.

Plans futurs


En plus d'atteindre la composition, l'équipe de Modha s'est engagée à explorer différentes méthodes d'enseignement. Les scientifiques notent également que les méthodes décrites dans leurs travaux peuvent être appliquées à des puces neuromorphiques autres que TrueNorth. De plus, en plus des nouvelles méthodes d'enseignement, l'équipe pense à des réalisations plus radicales. Selon un rapport de 2015 du département américain de l'Énergie sur l'informatique neuromorphique, environ 5 à 15% de l'énergie mondiale est actuellement consommée sous une forme ou une autre de traitement et de transmission de données. Dans le même temps, le Département souhaite augmenter la vitesse, l'efficacité et la tolérance aux pannes des réseaux. Ce rapport a incité l'équipe IBM à réfléchir au développement de matériaux dotés de nouvelles propriétés physiques.

L'objectif mondial est de remplacer les centres de données géants par des puces dans les smartphones, les maisons et les voitures qui peuvent «penser» par elles-mêmes: faire des conversations, faire des découvertes scientifiques et médicales, conduire des voitures, des robots ou des membres prothétiques. Idéalement, ces puces peuvent atteindre un succès encore plus grand, par exemple, résoudre le problème de la faim dans le monde.

Plusieurs laboratoires de recherche utilisent déjà activement TrueNorth. En août 2016, Samsung a présenté un système qui utilise un flux vidéo pour créer une carte d'environnement 3D en trois dimensions à une vitesse de 2000 images par seconde, consommant un tiers de watt. L'entreprise a utilisé ce système pour contrôler la télévision avec des gestes de la main.

Le Lawrence Livermore National Laboratory possède une carte TrueNorth à 16 puces qui est utilisée pour améliorer la cybersécurité et la sécurité nucléaire américaine. Le laboratoire de recherche de l'Air Force, qui utilise TrueNorth pour fournir une navigation autonome aux véhicules aériens sans pilote, a récemment annoncé son intention d'essayer une gamme de 64 puces.

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


All Articles