Brevet FR3144686A1 — publié le 20240705

Composant neuromorphique utilisant des textures magnétiques dénombrables L’invention porte sur un composant neuromorphique (28) réalisant physiquement un neurone et comprenant : - pour chaque valeur d’entrée : - une piste (32) présentant des modifications magnétiques locales dénombrables et déplaçables, - une unité de contrôle des modifications magnétiques locales (40) amenant les modifications magnétiques locales dans une zone de détection (46) commune à toutes les pistes (32), et - une unité de détection des modifications magnétiques locales appliquant une fonction d’activation sur une grandeur électrique correspondant au nombre de modifications magnétiques locales détectées dans la zone de détection (46) pour obtenir la valeur de sortie, l’unité de détection (36) étant positionnée sur la zone de détection (46). Figure pour l'abrégé : figure 3 Composant neuromorphique utilisant des textures magnétiques dénombrables La présente invention concerne un composant neuromorphique réalisant physiquement un neurone d’un réseau de neurones et un circuit neuromorphique comprenant un tel composant. Le développement de l’internet et des capteurs connectés conduit à permettre l’obtention de quantités considérables de données. Ce phénomène souvent désigné sous le terme de « big data » implique l’emploi d’ordinateurs pour pouvoir exploiter l’ensemble des données obtenues. Une telle exploitation peut être utilisée dans de multiples domaines, parmi lesquelles le traitement automatique de données, l’aide au diagnostic, l’analyse prédictive, les véhicules autonomes, la bioinformatique ou la surveillance. Pour mettre en œuvre une telle exploitation, il est connu d’utiliser des algorithmes d’apprentissage automatique faisant partie de programmes pouvant être exécutés sur des processeurs tels que les CPU ou les GPU. Un CPU est un processeur, le sigle CPU provenant du terme anglais « Central Processing Unit » signifiant littéralement unité centrale de traitement tandis qu’un GPU est un processeur graphique, le sigle GPU provenant du terme anglais « Graphics Processing Unit » signifiant littéralement unité de traitement graphique. Parmi les techniques de mise en œuvre d’apprentissage, l’emploi de réseaux de neurones formels, et notamment de réseaux de neurones profonds, est de plus en plus répandu, ces structures étant considérées comme très prometteuses du fait de leurs performances pour de nombreuses tâches telles que la classification automatique de données, la reconnaissance de motifs, la traduction et la compréhension automatique de langues, le contrôle robotique, la navigation automatique, les systèmes de recommandations, la détection d’anomalies, la détection de fraudes, l’étude de l’ADN ou encore la découverte de nouvelles molécules. Un réseau de neurones est en général composé d'une succession de couches de neurones dont chacune prend ses entrées sur les sorties de la couche précédente. Plus précisément, chaque couche comprend des neurones prenant leurs entrées sur les sorties des neurones de la couche précédente. Chaque couche est reliée par une pluralité de synapses. Un poids synaptique est associé à chaque synapse. C’est un nombre réel, qui prend des valeurs positives comme négatives. Pour chaque couche, l’entrée d’un neurone est la somme pondérée des sorties des neurones de la couche précédente, la pondération étant faite par les poids synaptiques. Pour une implémentation dans un CPU ou un GPU, une problématique de goulot d’étranglement de Von Neumann (également appelée « Von Neumann bottleneck » selon sa dénomination anglaise) apparaît du fait que l’implémentation d’un réseau de neurones profond (à plus de trois couches et allant jusqu’à plusieurs dizaines) implique d’utiliser à la fois la ou les mémoires et le processeur alors que ces derniers éléments sont séparés spatialement. Il en résulte un engorgement du bus de communication entre la ou les mémoires et le processeur à la fois pendant que le réseau de neurones une fois entraîné est utilisé pour réaliser une tâche, et, à plus forte raison, pendant que le réseau de neurones est entraîné, c’est-à-dire pendant que ses poids synaptiques sont réglés pour résoudre la tâche en question avec un maximum de performance. Il est donc souhaitable de développer des architectures matérielles dédiées, entremêlant mémoire et calcul, pour réaliser des réseaux de neurones rapides, faible consommation et capables d’apprendre en temps réel. Il est connu de réaliser des réseaux de neurones sur la base d’une technologie de type CMOS. Il est entendu par le sigle « CMOS », oxyde métallique semi-conducteur complémentaire (acronyme provenant de l’expression anglaise « Complementary Metal-Oxide-Semiconductor »). Le sigle CMOS désigne aussi bien un procédé de fabrication qu’un composant obtenu par un tel procédé de fabrication. Il est également connu un réseau de neurones reposant sur des technologies de type optique. Plus précisément, trois propositions d’architecture font l’objet d’études spécifiques : les réseaux à neurones CMOS et synapses CMOS, l es réseaux à neurones optiques et synapses optiques et les réseaux à neurones CMOS et synapses memristives. Des synapses memristives sont des synapses utilisant des memristors. En électronique, le memristor (ou memristance) est un composant électronique passif. Le nom est un mot-valise formé à partir des deux mots anglais memory et resistor. Un memristor est un composant de mémoire non-volatile, la valeur de sa résistance électrique changeant avec l’application d’une tension pendant une certaine durée et restant à cette valeur en l’absence de tension. Toutefois, selon chacune de ces technologies, chaque neurone occupe plusieurs dizaines de micromètres de côté. Pour les technologies CMOS et optique, chaque synapse occupe également plusieurs dizaines de micromètres de côté. Il en résulte que, sur une surface limitée correspondant par exemple à une puce électronique, le nombre de neurones et de synapses qui peuvent être intégrés est limité, ce qui résulte en une diminution des performances du réseau de neurones. Il existe donc un besoin pour un composant neuromorphique capable d’implémenter des neurones dans un réseau de neurones présentant une compacité grandement améliorée avec de bonnes performances de calcul. A cet effet, la description décrit un composant neuromorphique réalisant physiquement un neurone d’un réseau de neurones relié à au moins une synapse, chaque synapse portant un poids respectif, le neurone prenant en entrée au moins une valeur d’entrée pondérée par un poids respectif pour obtenir une valeur de sortie, le composant neuromorphique comprenant : - pour chaque valeur d’entrée : - une piste propre à présenter des modifications magnétiques locales dénombrables et déplaçables, - une unité de contrôle des modifications magnétiques locales, l’unité de contrôle étant propre à annihiler et créer les modifications magnétiques locales, l’unité de contrôle étant également propre à amener les modifications magnétiques locales dans une zone de détection des modifications magnétiques locales, la zone de détection étant commune à toutes les pistes, l’unité de contrôle comportant une sous-unité d’application d’impulsions électriques, la sous-unité d’application étant propre à appliquer un courant proportionnel à la valeur d’entrée, et une sous-unité de modification d’au moins une propriété magnétique de la piste avec une amplitude proportionnelle au poids pondérant la valeur d’entrée, et - une unité de détection des modifications magnétiques locales, l’unité de détection étant propre à appliquer une fonction d’activation sur une grandeur électrique correspondant au nombre de modifications magnétiques locales détectées dans la zone de détection pour obtenir la valeur de sortie, l’unité de détection étant positionnée sur la zone de détection. Selon des modes de réalisation particuliers, le composant neuromorphique présente une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou selon toutes les combinaisons techniquement possibles : - l’unité de détection utilise un effet physique pour obtenir la fonction d’activation, l’effet étant un effet de magnéto-transport. - l’unité de détection est une jonction magnétique. - les pistes sont séparées. - la zone de détection est un réservoir commun à toutes les pistes. - le composant neuromorphique comporte, en outre, une unité de réinjection, l’unité de réinjection étant propre à réinjecter la valeur de sortie sur d’autres neurones du réseau de neurones. - les modifications magnétiques locales sont choisies dans la liste constituée de : - skyrmions, - hopfions, - bulles, - globules, - cocons, - torons, et - parois de domaine. - la zone de détection est réalisée en un matériau étant : - un élément choisi parmi Ni, Fe, Co, Ge, B, C, P, S, Mn, Cr, I, Br, Si, Pt, Al, Ga, Ta, Ru, Hf, Mg, Bi, Mo, Te, Se, W, N, Ti, Ir, V, Ce, Pr, Nd, Sm, Eu, Gd, Tb, Dy, Er, Tm, et Yb, - un alliage comprenant un ou plusieurs des éléments précités, et - un oxyde comprenant un ou plusieurs éléments précités. - chaque piste est réalisée en un matériau choisi parmi : - un élément choisi parmi 10. Ni, Fe, Co, Ge, B, C, P, S, Mn, Cr, I, Br, Si, Pt, Al, Ga, Ta, Ru, Hf, Mg, Bi, Mo, Te, Se, W, N, Ti, Ir, V, Ce, Pr, Nd, Sm, Eu, Gd, Tb, Dy, Er, Tm et Yb - un alliage comprenant un ou plusieurs des éléments précités, et - un oxyde comprenant un ou plusieurs éléments précités. - la sous-unité de modification utilise un effet physique choisi parmi un effet électrostatique, un effet magnéto-ionique, un effet électro-ionique, un effet électrochimique, un effet piézoélectrique et un effet magnétostrictif. La description concerne aussi un circuit neuromorphique réalisant physiquement un réseau de neurones, le circuit neuromorphique comprenant un ensemble de composants neuromorphiques tels que précédemment décrit. Selon un mode de réalisation particulier, l’ensemble de composants neuromorphiques est agencé pour former un réseau profond. Dans la présente description, l’expression « propre à » signifie indifféremment « adapté pour », « adapté à » ou « configuré pour ». Des caractéristiques et avantages de l’invention apparaîtront à la lecture de la description qui va suivre, donnée uniquement à titre d’exemple non limitatif, et faite en référence aux dessins annexés, sur lesquels : - la est une représentation schématique d’un exemple d’une partie de circuit neuromorphique comportant une pluralité de neurones et de synapses, - la est une représentation schématique d’un exemple de réseau de neurones, - la est une représentation schématique d’un exemple d’un composant neuromorphique réalisant physiquement un neurone d’un réseau de neurones, le composant neuromorphique étant vu de dessus, - la est une représentation schématique vue de côté du composant neuromorphique de la , - la est une représentation schématique d’une partie du fonctionnement du composant neuromorphique de la , - la est une représentation schématique d’un autre exemple d’un composant neuromorphique réalisant physiquement un neurone d’un réseau de neurones, le composant neuromorphique étant vu de dessus, et - la est une représentation schématique d’un exemple de circuit neuromorphique comprenant des composants neuromorphiques selon la . Une partie d’un circuit neuromorphique 10 de réseau de neurones est représentée sur la . Le circuit neuromorphique 10 est propre à implémenter un réseau de neurones 12 tel que schématisé sur la . Le réseau de neurones 12 décrit est un réseau comportant une succession ordonnée de couches 14 de neurones 16 dont chacune prend ses entrées sur les sorties de la couche 14 précédente. Par définition, en biologie, un neurone, ou une cellule nerveuse, est une cellule excitable constituant l'unité fonctionnelle de base du système nerveux. Les neurones assurent la transmission d'un signal bioélectrique appelé influx nerveux. Les neurones ont deux propriétés physiologiques : l'excitabilité, c'est-à-dire la capacité de répondre aux stimulations et de convertir celles-ci en impulsions nerveuses, et la conductivité, c'est-à-dire la capacité de transmettre les impulsions. Dans les réseaux de neurones formels, le comportement des neurones biologiques est imité par une fonction mathématique, dite d’activation, qui présente la propriété d’être non-linéaire (pour pouvoir transformer l’entrée de manière utile) et préférentiellement d’être dérivable (pour permettre l’apprentissage par rétropropagation du gradient). Une fonction d’activation (parfois appelée « simulacre de transfert électrique entre synapses ») est ainsi une fonction mathématique qui intervient dans tous les types de neurones d’un réseau de neurones. La fonction « racine carré », de rectification linéaire (plus souvent désigné par l’acronyme ReLu qui renvoie à la dénomination anglaise correspondante de « Rectified Linear Unit »), sigmoïde ou tangente hyperbolique sont des exemples de fonctions pouvant servir de fonction d’activation. Dans le cadre de cette demande, un neurone 16 est un composant réalisant une fonction équivalente à ces derniers modèles. Plus précisément, chaque couche 14 comprend des neurones 16 prenant leurs entrées sur les sorties des neurones 16 de la couche 14 précédente. Dans le cas de la , le réseau de neurones 12 décrit est un réseau comportant une unique couche cachée de neurones 18. Toutefois, ce nombre de couches cachées de neurones n’est pas limitatif. L’unicité de la couche cachée de neurones 18 signifie que le réseau de neurones 10 comporte une couche d’entrée 20 suivie par la couche cachée de neurones 18, elle-même suivie par une couche de sortie 22. Chaque couche 14 est reliée par une pluralité de synapses 24. En biologie, la synapse désigne une zone de contact fonctionnelle qui s'établit entre deux neurones 16. Suivant son comportement, la synapse biologique peut exciter ou encore inhiber le neurone aval en réponse au neurone amont. Dans les réseaux de neurones formels, un poids synaptique positif correspond à une synapse excitatrice tandis qu’un poids synaptique négatif correspond à une synapse inhibitrice. Les réseaux de neurones biologiques apprennent par la modification des transmissions synaptiques dans l’ensemble réseau. De même, les réseaux de neurones formels peuvent être entraînés à réaliser des tâches en modifiant les poids synaptiques selon une règle d’apprentissage. Dans le cadre de cette demande, une synapse 24 est un composant réalisant une fonction équivalente à un poids synaptique de valeur modifiable. Un poids synaptique est donc associé à chaque synapse 24. A titre d’exemple, c’est un nombre réel, qui prend des valeurs positives comme négatives. Pour chaque couche 14, l’entrée d’un neurone 16 est la somme pondérée des sorties des neurones 16 de la couche 14 précédente, la pondération étant faite par les poids synaptiques. Selon l’exemple décrit, chaque couche 14 de neurones 16 est entièrement connectée. Une couche de neurones entièrement connectée est une couche dans laquelle les neurones de la couche sont chacun connectés à tous les neurones de la couche précédente. Un tel type de couche est plus souvent dénommée selon le terme anglais de « fully connected ». Le fonctionnement qui vient d’être décrit est valable dans l’autre sens. Plus précisément, dans l’exemple de la , pour toutes les couches 14 de neurones 16, à l’exception de la première couche 20 et des neurones de biais 16, les neurones 16 sont connectés par une synapse 24 qui est bidirectionnelle. De ce fait, le même calcul peut être effectué en échangeant le rôle des deux neurones 16. Le circuit neuromorphique 10 comporte un ensemble de composants neuromorphiques 26. Par définition, un composant neuromorphique est un composant propre à réaliser une fonction dans un réseau de neurones, en particulier des composants neuromorphiques réalisant respectivement des fonctions de synapse et des fonctions de neurone. Selon l’exemple, le circuit neuromorphique 10 comprend des composants neuromorphiques réalisant la fonction d’un neurone 28 et des composants neuromorphiques réalisant la fonction de synapse 30. Les composants neuromorphiques 26 sont agencés de manière à former un réseau de neurones, de préférence un réseau de neurones profond. Dans la suite de la description, pour clarifier le propos, les éléments réalisant une des fonctions précitées sont désignés par le nom de la fonction et non par une formulation du type « composant/circuit réalisant la fonction X » ou « comportant/circuit implémentant physiquement la fonction X ». Au lieu de l’expression « composant neuromorphique réalisant la fonction d’un neurone 28 », il sera utilisé l’expression « neurone 28 » et, au lieu de l’expression « composant neuromorphique réalisant la fonction d’une synapse 30 », il sera utilisé l’expression « synapse 30 ». Un exemple de neurone 28 est illustré sur la Comme expliqué précédemment, le neurone 28 prend en entrée au moins une valeur d’entrée pondérée par un poids respectif pour obtenir une valeur de sortie. Dans la suite, il est supposé que le neurone 28 prend en entrée n valeurs, n étant un entier supérieur à 1. Le nombre n est, par exemple, supérieur à 10, préférentiellement supérieur à 50 et plus préférentiellement supérieur à 100. Cela signifie que le neurone 28 est connecté à n synapses 30 différentes. Pour implémenter une telle fonction physiquement, le neurone 28 comprend n pistes 32, n unités de contrôle 34 et une unité de détection 36. Le neurone 28 comporte ainsi, pour chaque valeur d’entrée, une piste 32 et une unité de contrôle 34 respective. Chaque piste 32 est propre à présenter des modifications magnétiques locales dénombrables et déplaçables. Une modification magnétique locale 40 est une texture magnétique non-colinéaire ayant des propriétés de particules ou de solitons, et pouvant être comptée. Ces textures sont également des textures déplaçables, c’est-à-dire pouvant être déplacées de manière contrôlée dans le neurone 28. De plus, en l’espèce, les textures présentent une dimension caractéristique inférieure au micron, de sorte que les textures sont de taille submicronique. A titre d’illustration, un exemple typique de modifications magnétiques locales 40 est un ensemble de skyrmions, qui correspondent à un vortex ou tourbillon de spin sur une surface. En variante, les modifications magnétiques locales 40 sont des hopfions, des bulles, des globules, des cocons, des torons ou des parois de domaines. Dans la suite, le terme de « particules magnétiques 40 » sera utilisé pour désigner ces modifications magnétiques locales. Les pistes 32 peuvent ici être vues comme des pistes d’injection ou des injecteurs de particules magnétiques 40 selon le mode de fonctionnement du neurone 28 comme cela sera explicité ultérieurement (création et déplacement des particules 40 par rapport à déplacement uniquement des particules 40). Selon l’exemple de la , les pistes 32 sont des éléments rectilignes. Chaque piste 32 s’étend principalement selon une direction principale notée direction principale X La piste 32 présente typiquement une longueur d’une dizaine de micromètres (dimension selon la direction principale X) et une largeur de quelques micromètres (dimension selon une direction transversale notée Y). Pour compléter le repérage, il est également défini une direction d’empilement des couches, cette direction étant notée direction d’empilement Z. De plus, selon la géométrie illustrée, les pistes 32 sont parallèles selon la direction principale X. Toutefois, cette géométrie n’est pas limitative, d’autres formes étant envisageables pour les pistes 32, notamment des formes courbes et d’autres agencements relatifs des pistes 32 (non parallèles) du moment que les pistes 32 restent séparées. Chaque piste 32 est réalisée en un matériau qui comporte un élément choisi parmi Ni, Fe, Co, Ge, B, C, P, S, Mn, Cr, I, Br, Si, Pt, Al, Ga, Ta, Ru, Hf, Mg, Bi, Mo, Te, Se, W, N, Ti, Ir, V, Ce, Pr, Nd, Sm, Eu, Gd, Tb, Dy, Er, Tm et Yb. Selon les cas, le matériau est l’élément ou un alliage comprenant un ou plusieurs de ces éléments ou encore un oxyde comprenant un ou plusieurs de ces éléments. En outre, chaque piste 32 est séparée d’une autre piste 32 par un espace interpiste 48 pouvant être réalisé avec des matériaux similaires. Les pistes 32 sont, par exemple, obtenues par gravure dans une multicouche magnétique. A titre d’illustration particulier, il pourrait être procédé à une opération de lithographie des n pistes 32 parallèles dans un film de multicouche magnétique métallique permettant la génération de skyrmions. Le Ta 5 /Co 20 Fe 60 B 20 /Ta 0.08 /MgO est un exemple particulier de tel film. Les particules 40 circulant dans chaque piste 32 ainsi que les propriétés magnétiques de chaque piste 32 sont contrôlées par une unité de contrôle 34 qui est propre à chaque piste 32. Chaque unité de contrôle 34 comporte une sous-unité d’application 42 et une sous-unité de modification 44. L’unité de contrôle 34 est une unité de contrôle des particules magnétiques 40. A ce titre, l’unité de contrôle 34 est propre à annihiler et créer les particules magnétiques 40. L’unité de contrôle 34 est aussi propre à amener les particules magnétiques 40 dans une zone de détection 46 de ces particules magnétiques 40. Ces opérations d’annihilation, de création et de déplacement sont notamment réalisables par la sous-unité d’application 42 comme cela sera expliqué ultérieurement dans la présente description. La sous-unité d’application 42 est une sous-unité d’application 42 d’impulsions électriques. La sous-unité d’application 42 est ainsi propre à appliquer un courant sur la piste 32 pour effectuer des opérations sur les particules magnétiques 40. En particulier, la sous-unité d’application 42 est propre à appliquer un courant proportionnel à la valeur d’entrée associée à la piste 32 considérée Dans le présent exemple, la zone de détection 46 est la zone ovale entourée par des pointillées. Cette zone de détection 46 comporte une partie de toutes les pistes 32 et la partie de l’interpiste 48 située entre ces parties. La zone de détection 46 est ainsi commune à toutes les pistes 32, c’est-à-dire que la zone de détection 46 est partagée par chaque piste 32. Du fait des matériaux évoqués précédemment, la zone de détection 46 est ici réalisée en plusieurs matériaux, chaque matériau comportant un élément choisi parmi Ni, Fe, Co, Ge, B, C, P, S, Mn, Cr, I, Br, Si, Pt, Al, Ga, Ta, Ru, Hf, Mg, Bi, Mo, Te, Se, W, N, Ti, Ir, V, Ce, Pr, Nd, Sm, Eu, Gd, Tb, Dy, Er, Tm et Yb. Selon les cas, chaque matériau est l’élément ou un alliage comprenant un ou plusieurs de ces éléments ou encore un oxyde comprenant un ou plusieurs de ces éléments. L’unité de contrôle 34 est également propre à contrôler les propriétés de la piste 32 par utilisation de la sous-unité de modification 44. En effet, la sous-unité de modification 44 est propre à modifier une (ou plusieurs) des propriétés magnétiques de la piste 32 avec une amplitude proportionnelle au poids pondérant la valeur d’entrée. Un premier exemple de propriété magnétique pouvant être modifiée par la sous-unité de modification 44 est l’anisotropie magnétique perpendiculaire. L’énergie de l’anisotropie magnétique perpendiculaire s’exprime comme avec K l’anisotropie et la composante hors-plan de l’aimantation locale. Un deuxième exemple de propriété magnétique pouvant être modifiée par la sous-unité de modification 44 est l’interaction d’échange asymétrique. Une telle interaction peut notamment être décrite par l’interaction de Dzyaloshinskii-Moriya, elle-même décrite par l’Hamiltonien , les lettres en gras étant des vecteurs, S i et S j étant deux spins proches et D ij est le vecteur Dzyaloshinskii-Moriya correspondant. Un troisième exemple de propriété magnétique pouvant être modifiée par la sous-unité de modification 44 est l’interaction d’échange symétrique. Une telle interaction peut être écrite par l’Hamiltonien de Heisenberg. L’anisotropie magnétique perpendiculaire et les interactions d’échange symétrique et antisymétrique sont régies par la nature des atomes, leurs positions les uns par rapport aux autres et celles de leur nuage électronique. Ces propriétés conditionnent la possibilité de nucléation des skyrmions et la quantité de skyrmions qui va être nucléée. La modification est ici une modification non-volatile et réversible par utilisation d’une tension de grille. Cela permet d’obtenir une variation linéaire de la quantité de particules magnétiques 40 créées ou déplacées dans la zone de détection 46. Pour cela, selon un exemple particulier, des électrodes sont déposées localement sur chaque piste 32. De telles électrodes peuvent être réalisées en oxyde avec un matériau tel que du HfO 2 ou en MgO. Les électrodes sont, en outre, placées à proximité de la zone de détection 46. Pour obtenir une telle modification, la sous-unité de modification 44 utilise un effet physique. A titre d’exemple, l’effet est choisi parmi les effets suivants : effet électrostatique, effet électro-ionique, effet magnéto-ionique, effet électrochimique, effet piézoélectrique et effet magnétostrictif. En particulier, il peut être envisagé d’utiliser la migration réversible d’ions grâce à un liquide ionique ou encore la migration réversible d’atomes d’oxygène ou d’hydrogène provenant d’une couche oxydée déposée au-dessus des pistes 32 pour modifier les propriétés magnétiques locales. Les modifications chimiques engendrées par ce déplacement ionique (dans des couches d’oxydes ou dans le liquide ionique) conduisent à une modification des orbitales et/ou des densités d’état des couches ferromagnétiques ayant pour conséquence un changement rémanent des propriétés magnétiques. Lors de l’apprentissage, les poids peuvent ainsi être ajustés à l’aide d’un stimulus électrique, ce stimulus provenant d’un générateur additionnel. Ainsi, au niveau du neurone 28, les unités de contrôle 34 permettent que des impulsions électriques de courant soient envoyées par la sous-unité d’application 42 correspondant dans une piste 32. La piste 32 repérée par l’indice i est ainsi traversée par une impulsion de courant notée J i . En parallèle, la sous-unité de modification 44 modifie une propriété magnétique de la piste 32 de manière à ce que le nombre de particules magnétiques 40 créées et/ou déplacées soit proportionnel au produit de l’amplitude de l’impulsion de courant avec le poids synaptique w i . Cela correspond bien à la modulation des entrées J i par des poids synaptiques w i qui est recherchée ici. L’unité de détection 36 est positionnée sur la zone de détection 46 comme visible sur la . L’unité de détection 36 est propre à détecter les particules 40 magnétiques. L’unité de détection 36 mesure le nombre de particules magnétiques 40 grâce à une lecture électrique. L’unité de détection 36 applique une fonction d’activation sur la grandeur électrique correspondant au nombre de particules magnétiques 40 pour obtenir une nouvelle grandeur électrique, cette nouvelle grandeur électrique est la valeur de sortie. La fonction d’activation est non strictement linéaire, c’est-à-dire non-linéaire et monotone. En effet, une fonction d’activation linéaire ne conviendrait pas, car les poids synaptiques sont ajustés en utilisant la dérivée de la fonction d’activation. Si celle-ci est linéaire, tous les poids seraient ajustés de façon identique, indépendamment des entrées. L’unité de détection 36 a ainsi deux rôles : d’une part, compter les particules magnétiques 40 dans la zone de détection 46 et, d’autre part, convertir le nombre de particules magnétiques 40 en une sortie électrique valant le résultat de l’application de la fonction d’activation sur ce nombre de particules magnétiques 40. Pour cela, l’unité de détection 36 effectue une lecture électrique non-linéaire. Une telle lecture peut être réalisée de plusieurs manières. En particulier, l’unité de détection 36 peut être une vanne de spin. Une vanne de spin est un composant, comportant deux couches de matériaux magnétiques conducteurs ou plus, dont la résistance électrique peut être modifiée entre plusieurs valeurs en fonction de l’angle relatif entre les aimantations des couches. Selon un exemple, l’unité de détection 36 est ainsi une jonction tunnel magnétique. La jonction tunnel magnétique correspond à la zone ovale de la zone de détection 46. Elle est, par exemple, obtenue en déposant du CoFeB au-dessus de la zone de détection 46 décrite précédemment, ce qui créé une jonction tunnel avec la couche de MgO. Une telle jonction tunnel présente une résistance variant avec le nombre de particules magnétiques 40 positionnées dans la zone de détection 46. Ainsi, la jonction tunnel utilise un effet de magnétorésistance tunnel. Cet effet magnétorésistif présentant une amplitude très élevée, cela permet d’obtenir une détection aisée des particules magnétiques 40. En outre, la variation de la résistance de la jonction tunnel est directement non-linéaire avec le nombre de particules magnétiques 40 dans la zone de détection 46 si l’état de départ est l’état le plus résistif (cas où l’aimantation des couches associées est antiparallèle) et que l’effet de magnétorésistance est suffisamment important. Il en résulte une meilleure compacité. De plus, la résistance de la jonction tunnel est beaucoup plus grande que celle des pistes 32. Ceci permet de limiter la propagation de courant entre les différentes pistes 32. Enfin, les matériaux généralement utilisés pour les jonctions tunnel sont très similaires à ceux utilisés pour les multicouches magnétiques formant les pistes 32 et la zone de détection 46, de sorte que la fabrication est plus aisée (meilleure compatibilité entre les matériaux). A titre d’exemple particulier de matériaux, il peut être cité le CoFeB et le MgO pour former une jonction tunnel formée d’une alternance CoFeB/MgO/CoFeB. Selon un autre exemple, l’unité de détection 36 utilise un effet physique impliquant une variation linéaire de la résistance avec le nombre de particules magnétiques 40 détectées. L’effet physique est, par exemple, un effet de magnétorésistance anisotrope, un effet Hall extraordinaire, un effet Hall de spin, ou un effet de magnétorésistance non-colinéaire. L’unité de détection 36 est alors une jonction magnétique mesurant la variation de la résistance de la piste 32 en fonction du nombre de particules magnétiques 40 présentes dans la zone de détection 46. Alternativement, l’effet peut être un effet Hall extraordinaire du fait que la tension de Hall varie avec le nombre de particules magnétiques 40 présentes dans la zone de détection 46. L’unité de détection 36 peut aussi utiliser un effet Nernst qui correspond au fait que la tension transverse mesurée est proportionnelle au nombre de particules magnétiques 40 générées par un courant thermique. Dans de tels cas, l’unité de détection 36 comporte un élément additionnel pour appliquer une fonction non-linéaire ultérieure. Par exemple, un tel élément additionnel est un transistor. Ce transistor est réalisable selon la technologie CMOS qui est compatible avec les matériaux utilisés pour réaliser les pistes 32. Alternativement, l’élément additionnel peut tirer parti du changement de taille des particules magnétiques 40 en fonction des propriétés magnétiques de la piste 32, ce changement de taille pouvant également être détecté électriquement. Il est également possible que l’élément additionnel utilise un effet magnéto-thermoélectrique, ceci impliquant la mesure et/ou l’application de gradients de température. Pour éviter la propagation de courant entre les différentes pistes 32, il pourra être utilisé des pistes 32 dont la résistance transverse (dans la direction perpendiculaire à la direction principale selon laquelle s’étend la piste 32) est supérieure à la résistance de la piste 32 (définie comme la résistance selon la direction principale). Il est également possible d’envisager l’emploi d’une couche en graphène pour réaliser la détection électrique. En effet, le graphène présente des propriétés électriques, notamment des propriétés de transport électrique, variant avec les champs magnétiques créés par les particules magnétiques 40. Pour cela, au niveau de la zone de détection 46, une couche d’isolant surmontée de la couche de graphène est déposée. La couche d’isolant est suffisamment fine pour que les champs de fuite créés par les particules magnétiques 40 soient suffisants pour être détectés dans le graphène, tout en permettant de limiter les perturbations des particules magnétiques 40 liées à la présence du graphène. La couche de graphène n’a ainsi aucun contact électrique avec les pistes 32, ce qui permet d’éviter la circulation de courant d’une piste 32 à une autre. Dans chacun des cas, les effets relèvent d’un effet de type magnéto-transport et cela permet à l’unité de détection 36 d’effectuer une opération non-linéaire correspondant à la fonction d’activation, fonction qui est nécessaire lorsqu’un calcul neuromorphique est mis en œuvre. Le fonctionnement du composant neuromorphique 26 réalisant le neurone 28 est maintenant décrit à travers plusieurs opérations. En ce qui concerne l’opération de calcul, pour un neurone 28 connecté par n synapses 30, n courants de densité de courant J i génèrent dans chaque piste 32 un nombre de particules magnétiques 40 N i proportionnel à la fois à la valeur d’entrée J i et aux poids synaptiques w i . Comme expliqué précédemment, chaque poids synaptique w i correspond à une modification locale des propriétés magnétiques qui peuvent être modulées de façon réversible et non-volatile par la tension de grille. Autrement formulé, les entrées de densité de courant J i sont modulées par les poids synaptiques w i de sorte que le nombre N i de particules magnétiques 40 dans la zone de détection 46 de la piste 32 i soit proportionnel à J i * w i . L’unité de détection 36 effectue directement la somme des différents nombre N i de particules magnétiques 40 pour obtenir le nombre total de particules magnétiques 40, à savoir et applique une fonction non-linéaire f sur ce nombre total pour obtenir une sortie électrique , de sorte que : Pour obtenir une telle situation où N i particules magnétiques 40 circulent dans une piste 32 i, deux cas sont possibles : nucléation de particules magnétiques 40 avec un déplacement ou déplacement seul (à partir d’un réservoir). Deux exemples concrets de réalisation de ces deux cas sont visibles sur la . Chaque exemple comprend deux parties, une partie à gauche correspondant à l’état de la piste 32 considérée avant l’application de l’impulsion de courant Ji et une partie à droite correspondant à l’état de la piste 32 considérée après l’application de l’impulsion de courant Ji. L’exemple noté I correspond au cas de nucléation de particules magnétiques 40. Avant l’application d’une impulsion de courant, comme illustré sur la partie de gauche, aucune particule magnétique 40 n’est présente dans la piste 32 i alors qu’après l’application d’une impulsion de courant, comme illustré par la partie de droite, N i particules magnétiques 40 sont nucléées (et éventuellement ensuite déplacées) dans la zone de détection 46, cette nucléation étant proportionnelle à la fois à l’amplitude de l’impulsion de courant J i et au poids synaptique w i . Selon les modes de réalisations, on peut faire varier la densité de courant de l’impulsion de courant, le temps de l’impulsion de courant ou le nombre d’impulsions de courant sur un temps prédéfini pour coder la valeur d’entrée souhaitée. Cela permet de bénéficier de trois degrés de liberté. En variante ou en complément, dans le cas où les particules magnétiques 40 sont des skyrmions, une augmentation locale de la température permet de nucléer des skyrmions. Aussi, dans un tel cas, il peut être envisagé de coder la valeur d’entrée par la puissance ou la densité d’énergie d’un courant thermique. Ce sont deux autres degrés de liberté. Dans cet exemple I, les particules magnétiques 40 sont ensuite retirées des pistes 32 à la fin de chaque itération de l’opération de calcul. L’exemple noté II correspond au cas d’un déplacement de particules magnétiques 40 déjà créées. Avant l’application d’une impulsion de courant, comme illustré sur la partie de gauche, les particules magnétiques 40 sont déjà présentes dans la piste 32 i, par exemple, dans une zone dédiée formant réservoir. Après application d’une impulsion de courant, la partie de droite montre qu’une partie des particules magnétiques 40 a été déplacée vers la zone de détection 46 et qu’une autre partie des particules magnétiques 40 est restée dans le réservoir. Le nombre de particules magnétiques 40 déplacées est égal à N i . Dans cet exemple II, les particules magnétiques 40 sont ensuite ramenées vers les réservoirs des pistes 32 à la fin de chaque itération. Cette analyse des différents cas montre que le neurone 28 est également capable d’effectuer une opération de réinitialisation de l’opération de calcul. Pour une opération de réinitialisation consistant à éliminer des particules magnétiques 40, il peut être envisagé de saturer l’aimantation du neurone 28 à l’aide d’un champ magnétique extérieur avant utilisation. Un tel champ magnétique est alors un champ appliqué dans un sens opposé à l’aimantation du centre des skyrmions, c’est-à-dire orienté selon la direction d’empilement Z. Alternativement, il est possible d’appliquer des champs magnétiques locaux contrôlés électriquement dans un emplacement prédéfini et de déplacer les skyrmions à cet emplacement prédéfini. Il est aussi envisageable d’utiliser l’aimantation de la couche supérieure de la jonction tunnel magnétique. Pour une opération de réinitialisation consistant à faire revenir les particules magnétiques 40 vers le réservoir, il peut être injecté une (ou plusieurs) impulsion de courant dans la piste 32 ayant une amplitude et une durée similaire à l’impulsion de courant initiale mais avec une polarité inverse. Il peut être noté ici que les poids synaptiques peuvent être utilisés pour augmenter ou diminuer la vitesse de l’ensemble de particules magnétiques 40 et que seules N i particules magnétiques 40 soient dans la zone de détection 46, les autres particules 40 étant autour de la zone de détection 46. Alternativement, il est également possible d’avoir un réservoir plus large et une constriction, réalisée par, par exemple, lithographie en même temps que le réservoir lui-même, et que l’impulsion de courant serve uniquement à déplacer N i particules magnétiques 40 hors du réservoir. Dans ce cas, le neurone 28 est également propre à effectuer une opération initiale de remplissage du réservoir. Lors d’une telle opération d’initialisation, les particules magnétiques 40 sont, par exemple, créées par l’application d’une impulsion de courant présentant une grande amplitude. Pour les particules magnétiques 40 non-volatiles, cette impulsion de courant initiale suffit pour la réalisation de toutes les itérations de l’opération de calcul. On comprendra que les impulsions de courant utilisées lors de ces itérations présentent une amplitude plus faible pour éviter la génération de particules magnétiques 40 supplémentaires. En variante, les particules magnétiques 40 peuvent être générées magnétiquement ou électriquement puis déplacées aux emplacements désirés avant l’utilisation du neurone 28. Le neurone 28 est également propre à mettre en œuvre une opération d’apprentissage. L’opération d’apprentissage implique l’emploi de la tension de grille, cette tension étant ajustée en fonction de la valeur du poids synaptique à coder. Un tel ajustement de tension est réalisé en prenant soin de ne pas perturber les skyrmions présents dans la piste 32 associée au sous-module de modification. Il est ainsi proposé un neurone 28 réalisant la somme pondérée des entrées et des poids synaptiques, directement avec le nombre de particules magnétiques 40 injectées, et d’effectuer la lecture électrique de cette somme grâce à un effet magnétorésistif, qui effectue de manière intrinsèque une fonction non-linéaire. Ainsi, le composant neuromorphique 28 décrit permet d’effectuer le stockage des poids synaptiques, le calcul de la somme pondérée et l’application de la fonction d’activation de façon intégrée dans un même dispositif compact. Un tel composant neuromorphique 28 s’appuie notamment sur la possibilité de contrôler électriquement la nucléation, le déplacement et l’annihilation de particules magnétiques 40 dans des multicouches magnétiques, afin d’injecter (de nucléer, déplacer ou les deux à la fois) un certain nombre de particules magnétiques 40 proportionnel à l’entrée et au poids synaptique pour chaque piste 32. Le composant neuromorphique 28 bénéficie donc du fait que les particules magnétiques 40 peuvent aisément être contrôlées et comptées. Le composant neuromorphique 28 est, entre autres, un dispositif spintronique, de sorte que ce composant présente les mêmes avantages que tous les composants spintroniques. En particulier, le composant neuromorphique 28 bénéficie du caractère non-volatile intrinsèquement lié aux propriétés magnétiques des particules magnétiques 40. Un tel composant est, en outre, compatible avec les composants CMOS et d’autres composants spintroniques. Le composant neuromorphique 28 présente aussi un fonctionnement fiable et reproductible sur une large gamme de fréquence. Cette fiabilité s’accompagne d’une bonne résistance aux radiations électromagnétiques de l’environnement. Un tel effet est amplifié par le fait que la somme pondérée implique une statistique sur un grand nombre de particules magnétiques 40. Ceci permet également de diminuer l’influence de la distribution des tailles de particules magnétiques 40, cette distribution pouvant générer des bruits. De plus, les opérations réalisées par le neurone 28 peuvent être relativement rapides du fait que la nucléation et le déplacement des particules magnétiques 40 sont des effets physiques présentant une dynamique relativement rapide. De plus, cette dynamique implique une faible densité de courant, ce qui permet de réduire l’énergie consommée par le composant neuromorphique 28. Les particules magnétiques 40 ont aussi une taille submicronique, les dimensions des pistes 32 sont donc relativement petites, ce qui limite également la consommation d’énergie électrique. Ce gain en consommation est renforcé dans le cas du déplacement seul car l’énergie nécessaire pour le déplacement des particules magnétiques 40 est moindre que celle nécessaire à la nucléation de celles-ci. Les particules magnétiques 40 ont également l’avantage de pouvoir être nucléées, stabilisées et contrôlées à température ambiante et en l’absence de champ magnétique extérieur, ainsi que d’être stables et non-volatiles. Ces avantages sont conservés pour d’autres implémentations du neurone 28, comme celle présentée sur la . Dans un tel cas, au lieu d’être parallèles, les pistes 32 convergent à une de leurs extrémités vers une zone de détection 46 qui forme un réservoir commun à toutes les pistes 32. Une telle zone de détection 46 correspond alors à une chambre où viennent s’accumuler toutes les particules magnétiques 40. Cela permet de limiter la surface de jonction tunnel magnétique et localiser la détection pour ne pas impacter le reste du dispositif, mais n’est pas compatible avec une injection de particules magnétiques 40 uniquement par déplacement à partir d’un réservoir car les particules magnétiques 40 des différentes pistes 32 sont alors mélangées dans la chambre. Selon un autre mode de réalisation, le neurone 28 comporte, en outre, une unité de réinjection. L’unité de réinjection est propre à réinjecter la valeur de sortie sur des neurones 28 situés ailleurs dans le réseau de neurones 28. Dans chacun des cas, le neurone 28 décrit permet ainsi de condenser spatialement l’architecture avec toutes fonctions neuromorphiques, de réduire la nécessité de connexions électriques ultérieures entre composants neuromorphiques 28 et d’intégrer directement les neurones 28 et synapses 30 artificiels dans une architecture microscopique. De fait, avec le circuit neuromorphique 10, l’entièreté des opérations nécessaires au calcul neuromorphique est effectuée par le même dispositif, ce qui permet un grand gain de surface sur le substrat. De plus, les skyrmions étant des particules 40 submicroniques, les dimensions du circuit neuromorphique 10 intégré pourraient être suffisamment petites pour être intégré sur une puce. Le présent circuit neuromorphique 10 permet aussi d’assurer une bonne compatibilité entre la sortie des synapses 30 et l’entrée des neurones 28. Le composant neuromorphique réalisant physiquement le neurone 28 permet aussi de diminuer le nombre d’opérations réalisées en faisant directement la somme sur le nombre de modifications magnétiques locales dans la zone de détection 46. En outre, pour la configuration avec des jonctions tunnels magnétiques, le nombre de jonctions tunnel magnétiques est bien plus faible que des dispositifs impliquant la présence d’une jonction tunnel magnétique par synapse 30. Par ailleurs, le circuit neuromorphique 10 permet une bonne isolation des synapses 30 en évitant en particulier que des courants correspondant à un poids synaptique se propagent dans une autre synapse 30 en passant par la zone de détection 46. Ainsi, le circuit neuromorphique 10 permet de disposer de synapses 30 et neurones 28 artificiels totalement intégrés, compacts qui soient à la fois contrôlables et détectables électriquement. Ceci permet d’envisager la réalisation d’un circuit neuromorphique 10 complète sur une seule puce. A titre d’exemple, en référence à la , le circuit neuromorphique 10 peut comporter m neurones 28 connectés par n synapses 30. Dans cette représentation schématique, les neurones 28 et les synapses 30 sont directement connectés entre eux, et ce à l’échelle microscopique le long de lignes continues formant les pistes 32. Ici l’extrémité supérieure (opposée à l’extrémité où les impulsions de courant sont injectées) des pistes 32 est reliée à la masse. La résistance des pistes 32 étant négligeable devant celle de la barrière tunnel, la mesure de la jonction tunnel magnétique peut se faire entre l’électrode supérieure (ovale sur la ) et la masse, tout en évitant le court-circuit des pistes 32 entre elles . En variante ou en complément, il est envisageable d’agencer différentes couches de neurones 28 dans l’espace. Cela peut être fait par exemple dans le plan X et Y, en récupérant les m tensions de sorties de la pour générer m courants d’entrée pour la couche suivante disposée de façon perpendiculaire. Il est également possible de superposer les couches de neurones 28 et synapses 30 dans la direction d’empilement Z avec les couches successives tournées d’un angle de 90° entre elles. Un tel circuit neuromorphique 10 est ainsi capable d’effectuer toutes les opérations neuromorphiques (calcul et apprentissage) localement en étant complètement contrôlé électriquement et en consommant une quantité limitée d’énergie, par rapport aux circuits neuromorphiques connus. De tels circuits neuromorphiques 10 peuvent ensuite être utilisés pour des applications de reconnaissance sensorielle (sonore, visuel, touché, …) ou pour développer des systèmes d’intelligence artificielle capables d’apprendre, raisonner ou interagir. L’homme du métier comprendra que l’invention ne se limite pas aux exemples décrits dans la description et que les modes de réalisation décrits précédemment sont susceptibles d’être combinés lorsqu’une telle combinaison est techniquement possible. Composant neuromorphique (28) réalisant physiquement un neurone d’un réseau de neurones relié à au moins une synapse (30), chaque synapse (30) portant un poids respectif, le neurone (28) prenant en entrée au moins une valeur d’entrée pondérée par un poids respectif pour obtenir une valeur de sortie, le composant neuromorphique (28) comprenant : - pour chaque valeur d’entrée : - une piste (32) propre à présenter des modifications magnétiques locales (40) dénombrables et déplaçables, - une unité de contrôle (34) des modifications magnétiques locales (40), l’unité de contrôle (34) étant propre à annihiler et créer les modifications magnétiques locales (40), l’unité de contrôle (34) étant également propre à amener les modifications magnétiques locales (40) dans une zone de détection (46) des modifications magnétiques locales (40), la zone de détection (46) étant commune à toutes les pistes (32), l’unité de contrôle (34) comportant une sous-unité d’application (42) d’impulsions électriques, la sous-unité d’application (42) étant propre à appliquer un courant proportionnel à la valeur d’entrée, et une sous-unité de modification (44) d’au moins une propriété magnétique de la piste (32) avec une amplitude proportionnelle au poids pondérant la valeur d’entrée, et - une unité de détection (36) des modifications magnétiques locales (40), l’unité de détection (36) étant propre à appliquer une fonction d’activation sur une grandeur électrique correspondant au nombre de modifications magnétiques locales détectées dans la zone de détection (46) pour obtenir la valeur de sortie, l’unité de détection (36) étant positionnée sur la zone de détection (46). Composant neuromorphique selon la revendication 1, dans lequel l’unité de détection (36) utilise un effet physique pour obtenir la fonction d’activation, l’effet étant un effet de magnéto-transport. Composant neuromorphique selon la revendication 2, dans lequel l’unité de détection (36) est une jonction magnétique. Composant neuromorphique selon l’une quelconque des revendications 1 à 3, dans lequel les pistes (32) sont séparées. Composant neuromorphique selon l’une quelconque des revendications 1 à 3, dans lequel la zone de détection (46) est un réservoir commun à toutes les pistes (32). Composant neuromorphique selon l’une quelconque des revendications 1 à 5, dans lequel le composant neuromorphique (28) comporte, en outre, une unité de réinjection, l’unité de réinjection étant propre à réinjecter la valeur de sortie sur d’autres neurones du réseau de neurones. Composant neuromorphique selon l’une quelconque des revendications 1 à 6, dans lequel les modifications magnétiques locales (40) sont choisies dans la liste constituée de : - skyrmions, - hopfions, - bulles, - globules, - cocons, - torons, et - parois de domaine. Composant neuromorphique selon l’une quelconque des revendications 1 à 7, dans lequel la zone de détection (46) est réalisée en un matériau étant : - un élément choisi parmi Ni, Fe, Co, Ge, B, C, P, S, Mn, Cr, I, Br, Si, Pt, Al, Ga, Ta, Ru, Hf, Mg, Bi, Mo, Te, Se, W, N, Ti, Ir, V, Ce, Pr, Nd, Sm, Eu, Gd, Tb, Dy, Er, Tm, et Yb, - un alliage comprenant un ou plusieurs des éléments précités, et - un oxyde comprenant un ou plusieurs éléments précités. Composant neuromorphique selon l’une quelconque des revendications 1 à 8, dans lequel chaque piste (32) est réalisée en un matériau choisi parmi : - un élément choisi parmi 10. Ni, Fe, Co, Ge, B, C, P, S, Mn, Cr, I, Br, Si, Pt, Al, Ga, Ta, Ru, Hf, Mg, Bi, Mo, Te, Se, W, N, Ti, Ir, V, Ce, Pr, Nd, Sm, Eu, Gd, Tb, Dy, Er, Tm et Yb - un alliage comprenant un ou plusieurs des éléments précités, et - un oxyde comprenant un ou plusieurs éléments précités. Composant neuromorphique selon l‘une quelconque des revendications 1 à 9, dans lequel la sous-unité de modification (44) utilise un effet physique choisi parmi un effet électrostatique, un effet magnéto-ionique, un effet électro-ionique, un effet électrochimique, un effet piézoélectrique et un effet magnétostrictif. Circuit neuromorphique (10) réalisant physiquement un réseau de neurones, le circuit neuromorphique (10) comprenant un ensemble de composants neuromorphiques (28) selon l’une quelconque des revendications 1 à 10. Circuit neuromorphique selon la revendication 11, dans lequel l’ensemble de composants neuromorphiques (28) est agencé pour former un réseau profond.