• Aucun résultat trouvé

Méthodologie des simulations à l’échelle d’un système

2.2 Modélisation stochastique haut niveau d’une STT-MTJ

3.1.3 Méthodologie des simulations à l’échelle d’un système

Afin de démontrer l’intérêt des jonctions tunnel magnétiques à transfert de spin en tant que synapses artificielles, nous procédons à des simulations à l’échelle d’un système, dans lesquelles ces nanocomposants, et notamment leur comportement stochastique, sont modélisés selon les résultats de la partie2.2.4.2.

3.1.3.1 Description générale et intérêt des outils de simulations employés

Nous utilisons un simulateur de réseau de neurones artificiels à impulsions, fonctionnant en pas de temps et spécialement développé au cours de la thèse. Le cœur de calcul de cet outil est écrit en C++ selon une approche par objets particulièrement adaptée à la description de l’architecture désirée. L’analyse des résultats est quant à elle effectuée à l’aide de scripts écrits

I. Vprogest la valeur maximale de la forme d’onde (W2) présentée à la figure3.1b. 120. T. SE R R A N O-GOTA R R E D O N Aet coll., Frontiers in Neuroscience, 2013.

Pr(potentialisation) Délai tPOST - tPRÉ ΔtSTDP 0 10 % Pr(dépression) Délai tPOST - tPRÉ ΔtSTDP 0 10 % PRÉ POST t t t t t t

FI G U R E3.2 – Réinterprétation probabiliste de la règle d’apprentissage de type Spike-Timing

De-pendent Plasticity employée. Lorsqu’un délai tPOST−tPR ´Eentre impulsions pré- et postsynaptiques positif et inférieur à la durée∆tSTDPest appliqué sur une synapse déprimée, cette dernière présente une probabilité (constante sur cet intervalle de temps) de se potentialiser (panneau du haut, aire bleue). De façon analogue, l’ap-plication d’un couple d’impulsions pré- et postsynaptiques de délai tPOST− tPR ´E situé hors de la fenêtre temporelle [0,∆tSTDP] sur une synapse potentialisée en-traîne la dépression de cette dernière selon une probabilité dont la valeur ne dépend pas davantage de celle du délai (panneau du centre, aires rouges). Les différentes situations de paires d’impulsions sont esquissées sur le panneau du bas.

en Python. Ce flot de travail permet d’associer la vitesse d’exécution d’un langage compilé pour le code de calcul, à la flexibilité d’un langage interprété et expressif pour le code servant à l’analyse des données produites. Le protocole de type Address-Event Representation utilisé pour les fichiers d’événements d’entrée et de sortie a été légèrement modifié par rapport à la version usuelle61, principalement pour étendre la durée maximale des simulations réalisables sans nécessiter de dégrader la résolution temporelle.

Un intérêt majeur de ce simulateur est la possibilité d’utiliser des modèles proches de la physique des nanocomposants synaptiques employés, permettant notamment de prendre en compte leurs imperfections. Les neurones d’entrée et de sortie du système sont quant à eux décrits de façon purement fonctionnelle dans le simulateur et supposés réalisés en technologie CMOS le cas échéant. Ce type de simulations est significativement plus rapide que des simula-tions électriques SPICEI. Dans le cas de l’application que nous allons détailler, les simulations sur un processeur généraliste actuel sont généralement 25 à 75 fois plus lentes que le temps réel, selon le nombre d’éléments synaptiques simulés et le pas de temps employé. Ceci est suffisam-ment rapide pour rendre possible une étude statistique par le biais de simulations Monte-Carlo d’une tâche pratique.

3.1.3.2 Description des synapses artificielles et des impulsions associées

Les jonctions tunnel magnétiques à transfert de spin étudiées dans les simulations présen-tées ci-après sont basées sur une technologie 45 nm. Il s’agit des composants étiquetés « A » dans la table2.1 page 79, à aimantation dans le plan, de section elliptique d’une largeur (totale) de 40 nm pour une longueur (totale) de 100 nm. L’épaisseur de la couche mince est de 2 nm, tandis que le coefficient d’amortissement de Gilbertα = 0,01 et l’aimantation à saturation Ms est telle queµ0×Ms= 1,5 T. Enfin, la magnétorésistance tunnel choisie est de 150 % (c’est-à-dire que RAP/RP= 2,5).

La tension de programmation Vprogintroduite à la figure3.1b varie de 0,3 V à 0,6 V, de façon à étudier son influence sur le comportement du système. Dans le cas des jonctions tunnel magnétiques étudiées, ceci revient à faire évoluer l’amplitude de la densité de courant |Js| entre 95 et 190 GA·m−2. Si l’on souhaite maintenir des probabilités de commutation identiques dans les différents régimes de programmation, il est nécessaire de modifier la durée tpdes impulsions de programmation selon la valeur Vprog, éventuellement sur plusieurs décades comme nous avons pu le voir à travers certains exemples du chapitre2. Pour obtenir une probabilité de commutation de 10 % (identique pour les deux types de commutations, voir figure3.2), la durée de programmation tps’étend ainsi de 1,88 ns (pour Vprog= 0,6 V) à 16,15 µs (pour Vprog= 0,3 V) dans le cas des jonctions tunnel magnétiques présentées juste avant.

Enfin, les impulsions de lecture employées ont une durée de 1 ns et une amplitude de 0,1 V,

61. K. A. BOA H E N, IEEE Transactions on Circuits and Systems II : Analog and Digital Signal Processing, 2000. I. De l’anglais Simulation Program with Integrated Circuit Emphasis.

ce qui assure une probabilité négligeable de commutation parasiteI, inférieure à 10−18dans le cas des jonctions tunnel magnétiques étudiées.

3.1.3.3 Dernières précisions sur les simulations réalisées

Notre tâche de démonstration s’appuie sur un enregistrement de 82 s issu d’une rétine neu-romorphique de type Dynamic Vision Sensor62, similaire à celle présentée dans la partie1.1.3, observant le passage de véhicules sur une autoroute à six voies de circulation, près de Pasadena aux États-Unis. Cet enregistrement « vidéo » est librement accessible sur Internet249. Comme mentionné dans la partie1.1.3, cette rétine artificielle présente un comportement inspiré de celui d’une rétine biologique : elle fonctionne de manière asynchrone (et non pas image par image comme une caméra conventionnelle), émettant des impulsions lorsque l’intensité d’un pixel change suffisamment. Chaque pixel de cette rétine est en réalité dédoublé en deux ver-sions, l’une sensible à une augmentation de l’intensité lumineuse, l’autre à une diminution.

Chaque neurone d’entrée de notre système correspond à l’un des 32 768 pixelsIIde la rétine neuromorphique. L’architecture simulée possède 20 neurones de sortie, chacun d’entre eux étant connecté à chaque neurone d’entrée par le biais d’une (unique) jonction tunnel magné-tique à transfert de spin. Un neurone de sortie qui vient d’émettre une impulsion de sortie est remis à zéro durant une période réfractaire de 0,5 s, tandis que les autres neurones de sortie le sont également, durant une période d’inhibition de 10 ms.

L’enregistrement issu de la rétine neuromorphique est présenté plusieurs foisIII, à vitesse réelle et sans temps mort entre les itérations. Du fait de la règle de Spike-Timing Dependent

Plasticity simplifiée, chacun des neurones de sortie se spécialise naturellement dans la

détec-tion des véhicules circulant sur une voie particulière, comme nous pouvons le constater sur la figure3.3qui présente les impulsions postsynaptiques (traits pleins rouges) à la fin d’une simulation en comparaison des instants de passage des véhicules (pointillés bleus).

I. Dans la pratique, il est nécessaire que ces valeurs soient également compatibles avec la vitesse et la résolution du circuit de lecture.

249. jAER datasets,U R L:https://sourceforge.net/p/jaer/wiki/AER%20data/. II. 2 × (128 × 128) = 32768

III. Pour le reste de ce chapitre, sauf en cas de mention contraire, cinq présentations successives des mêmes entrées sont utilisées. Les performances sont mesurées durant la dernière de ces présentations.

Voie 0

1 neurone

Événements de sortie Événements attendus

Voie 1

5 neurones

Voie 2

3 neurones

Voie 3

5 neurones

Voie 4

5 neurones

740 s 760 s 780 s 800 s 820 s

Temps t

Voie 5

1 neurone

FI G U R E3.3 – Impulsions émises par les 20 neurones postsynaptiques (traits pleins rouges), lors de la dixième présentation des signaux d’entrées d’une simulation. Les traits bleus en pointillé indiquent les instants de passage des véhicules attendus voie par voie. Les neurones sont regroupés selon la voie de circulation dans laquelle ils semblent s’être spécialisés et leur nombre est indiqué à gauche. NB : les barres verticales rouges plus épaisses que les autres sont dues à la présence de plusieurs impulsions postsynaptiques temporellement proches.