Brevet FR3083896A1 — publié le 20200117

CIRCUIT NEUROMORPHIQUE IMPULSIONNEL IMPLEMENTANT UN NEURONE FORMEL DESCRIPTION DOMAINE TECHNIQUE Le domaine de l'invention est celui des réseaux de neurones artificiels. L'invention concerne plus particulièrement un circuit neuromorphique du type neurone impulsionnel configuré de manière à fonctionner de manière équivalente à un neurone formel. ÉTAT DE LA TECHNIQUE ANTÉRIEURE Une cellule nerveuse, ou neurone, peut être décomposée en plusieurs parties : - Les dendrites qui sont les entrées du neurone via lesquelles il reçoit des signaux d'excitation ou d'inhibition ; - Le corps du neurone qui est le théâtre d'échanges ioniques à travers la membrane cellulaire ; - L'axone, une longue extension du corps cellulaire, qui est l'unique sortie du neurone. Selon les signaux d'excitation ou d'inhibition reçus au niveau des dendrites, des ions transitent à travers la membrane cellulaire. Le déséquilibre de charges entre l'intérieur et l'extérieur de la cellule induit une différence de tension de part et d'autre de la membrane. On parle alors de tension de membrane aux bornes d'une capacité de membrane. Lorsque cette tension de membrane dépasse un certain niveau, c'est-à-dire lorsque la cellule est suffisamment excitée, le neurone connait un échange brutal d'ions. Il en résulte une variation significative de la tension de membrane. Cette variation, appelée potentiel d'action (« action potential » ou encore « spike » en anglais), se propage le long de l'axone, vers les boutons synaptiques, les sorties du neurone. Vus de l'extérieur de la cellule, ces « spikes » constituent l'activité électrique du neurone. 2 Dans un réseau de neurones biologiques, chaque neurone est connecté à plusieurs milliers d'autres via autant de synapses. Le terme synapse désigne la connexion entre la terminaison axonique d'un neurone dit présynaptique et une dendrite d'un neurone dit postsynaptique. L'influence du neurone présynaptique sur le neurone postsynaptique est pondérée par le poids de la synapse qui peut être excitatrice ou inhibitrice. Dans le premier cas, un « spike » présynaptique charge la tension de membrane du neurone postsynaptique et précipite la génération d'un potentiel d'action postsynaptique. Dans le second cas, un « spike » présynaptique a pour effet de dépolariser la membrane postsynaptique et de retarder l'apparition d'un potentiel 10 d'action postsynaptique. Les réseaux de neurones artificiels sont utilisés dans différents domaines de traitement du signal (visuel, sonore ou autre) comme par exemple dans le domaine de la classification ou la reconnaissance d'images. Ils sont inspirés des réseaux de neurones biologiques dont ils imitent le fonctionnement et sont essentiellement 15 composés de neurones artificiels interconnectés entre eux par des synapses, qui sont classiquement implémentées par des mémoires numériques, mais qui peuvent être également implémentées par des composants résistifs dont la conductance varie en fonction de la tension appliquée à leurs bornes. Un premier modèle de neurone artificiel est celui du neurone formel. 20 Selon ce modèle représenté en figure 1, une fréquence d'émission de « spikes » est associée à chaque neurone. Cette fréquence est encodée comme un simple chiffre et constitue la sortie du neurone. Chaque neurone prend donc en entrée et à travers les synapses les fréquences frechi, freqiN2, frech3, free' -.INn des neurones présynaptiques qui lui sont connectés. Le calcul consiste alors à multiplier chacune de ces fréquences par le 25 poids synaptique correspondant w11, w21, w31, w,,1 puis de cumuler tous ces produits poids x fréquence. La somme de ces produits est ensuite injectée dans un bloc non-linéaire, appelé fonction d'activation, qui fournit la fréquence du neurone freqour. Deux principaux types de fonctions d'activation sont utilisés pour les neurones formels : 3 La ReLU (pour « Rectified Linear Unit » qui désigne une Unité de Rectification Linéaire) qui délivre comme représenté en figure 2 une fréquence freqouT qui est nulle si la somme E des produits poids x fréquence est négative et qui est proportionnelle à la somme E lorsque celle-ci est supérieure à zéro. Cette fonction d'activation n'impose à la fréquence aucune limite supérieure ; La tangente hyperbolique ou sigmoïde représentée en figure 3a, que l'on retrouve aussi sous forme linéaire par partie comme représentée en figure 3b. Cette fonction d'activation peut aboutir à une fréquence négative. La fréquence de sortie du neurone est bornée selon - freqmAx 5 fren freqmAx. 10 Outre leur simplicité, les neurones formels présentent un important intérêt en matière d'apprentissage supervisé grâce à la méthode de rétro-propagation du gradient. Toutefois, leur implémentation matérielle sur un calculateur présente l'inconvénient d'une consommation excessive et, dans une moindre mesure, d'un encombrement trop important. Leur implémentation dans un système embarqué (mobile 15 multifonction, véhicule autonomes ou objet connecté par exemple) ou en guise d'accélérateur au sein d'un processeur est ainsi compromise. Un autre modèle de neurone artificiel est celui du neurone impulsionnel (également dénommé neurone à potentiel d'action ou « spiking neuron » en anglais). Le neurone impulsionnel est plus proche du neurone biologique que le neurone formel en ce 20 qu'il génère des potentiels d'action (également dénommés impulsions ou « spikes ») et modélise bien souvent une tension de membrane ainsi qu'un seuil. Le modèle le plus simple de neurone impulsionnel est du type intégratif à seuil (« lntegrate and Fire » en anglais) : il intègre ses entrées, compare le résultat de cette intégration à un seuil et émet un potentiel d'action lors du franchissement de ce seuil. 25 Dans un souci d'économie de consommation et de surface, l'idée d'un réseau de neurones impulsionnels analogiques connectés par des synapses prenant la forme d'éléments résistifs non-volatils de type RRAM (« Resistive Random-Access Memory ») séduit beaucoup de concepteurs. Le principe d'une telle implémentation est représenté sur la figure 4. La contribution Vsp,ke_pre d'un neurone présynaptique est pondérée par la valeur de la résistance synaptique correspondante R'nb et fournit ainsi 4 un courant d'excitation Isynb. Ce courant est injecté dans une capacité Cm qui intègre ainsi les différentes stimulations au cours du temps. La tension de membrane, modélisée par la tension Vm' aux bornes de la capacité Cm, est comparée à un seuil Vs',. Lorsque ce dernier est dépassé par la tension de membrane, un spike Vspike est émis et la capacité est déchargée pour réinitialiser la tension de membrane, typiquement en la remettant à zéro. On dispose ainsi, d'une part, de neurones formels adaptés pour réaliser l'apprentissage d'un réseau de neurones et, d'autre part, de neurones impulsionnels compacts et peu énergivores. Une stratégie découle de cette situation qui consiste, comme par exemple décrit dans l'article de B. Rueckauer et al., « Conversion of 10 Continuous-Valued Deep Networks to Efficient Event-Driven Networks for Image Classification », Front Neurosci. 2017 Dec 741:682, à réaliser l'apprentissage nécessaire au bon fonctionnement du réseau en utilisant des neurones formels, puis d'implémenter le réseau ainsi appris grâce à des neurones impulsionnels. Mais pour mener à bien une telle stratégie, il faut pouvoir disposer d'une implémentation impulsionnelle apte à 15 mettre en oeuvre le modèle formel. Des contraintes qui pèsent sur la conception d'un neurone impulsionnel analogique pour qu'il puisse fonctionner de manière équivalente à un neurone formel en produisant un train d'impulsions (« spike train ») représentatif de la fréquence de sortie du neurone formel sont les suivantes. 20 Dans le cas d'une fonction d'activation du type sigmoïde, pour imiter la limitation en fréquence, il faut instaurer une période dite réfractaire qui correspond au temps minimal qui sépare la génération de deux potentiels d'action successifs par le neurone impulsionnel. La durée de cette période réfractaire correspond à l'inverse de la fréquence maximale imposée par le modèle formel. 25 D'autres éléments nécessaires à l'équivalence concernent les plateaux de fréquence constante visibles sur les figures 2 et 3b (qui correspondent à la période réfractaire dans le cas d'une fonction d'activation sigmoïde et au plateau de fréquence nulle pour la fonction d'activation ReLU). Dans le cas de la sigmoïde, l'équivalence exige de poursuivre l'intégration des stimulations d'entrée arrivant pendant la période 30 réfractaire pour, le cas échéant, émettre un nouveau potentiel d'action à l'expiration de 5 la période réfractaire. Pour la ReLU, il faut que l'intégration négative puisse atteindre une valeur absolue importante. Dans les deux cas, il s'avère nécessaire de continuer à intégrer les stimulations d'entrée sans pouvoir émettre de potentiel d'action, et donc sans pouvoir réduire la tension de membrane via une décharge de la capacité de membrane. Une telle poursuite de l'intégration ne peut cependant être réalisée en analogique de manière satisfaisante. Dans le cas d'une sigmoïde, la durée de la période réfractaire peut être telle que les stimulations arrivant en entrée du neurone au cours de cette période correspondent à plusieurs potentiels d'action. Prenant l'exemple d'un réseau où les 10 synapses peuvent prendre des poids entiers allant de -4 à +4 et le neurone analogique est conçu pour qu'une excitation de poids de valeur absolue 4 génère un potentiel d'action, la tension de membrane est susceptible d'atteindre les niveaux +20, +30 ou plus encore au cours de la période réfractaire. La gamme de tension des technologies récentes étant de l'ordre du Volt, il faut donc prévoir des quanta de tension de membrane de l'ordre de 15 quelques dizaines de mV. Et plus ce quantum est faible, plus le neurone est sensible aux erreurs de désaccord, de non-linéarité et de bruit. Assurer en analogique la poursuite de l'intégration lors de la période réfractaire vient donc dégrader fortement le fonctionnement général du neurone. Pour une fonction d'activation ReLU, cette solution analogique est 20 encore moins envisageable, l'excursion de la somme E dans le négatif pouvant être très importante. Ainsi, en pratique, la poursuite de l'intégration dans les cas où il ne peut y avoir génération de potentiel d'action risque de conduire à une saturation analogique de la tension de membrane. 25 EXPOSÉ DE L'INVENTION L'invention a pour objectif de permettre la mise en oeuvre de la stratégie sus-citée au moyen d'un circuit neuromorphique du type neurone impulsionnel qui fonctionne de manière équivalente à un neurone formel. L'invention vise plus particulièrement à répondre à la problématique de la saturation analogique de la tension G de membrane et propose pour ce faire un circuit neuromorphique du type neurone impulsionnel qui comprend une capacité aux bornes de laquelle s'établit une tension de membrane, au moins un comparateur de régulation pour comparer la tension de membrane à une tension de régulation et un dispositif de réinitialisation de la tension de membrane. Ce circuit comporte en outre un registre de dépassements de seuil et un régulateur configuré pour, en cas de dépassement de la tension de régulation par la tension de membrane, piloter le dispositif de réinitialisation de la tension de membrane et modifier le registre de dépassements de seuil. Certains aspects préférés mais non limitatifs de ce circuit 10 neuromorphique sont les suivants : - il comprend en outre un comparateur d'action configuré pour comparer la tension de membrane à une tension d'action, et le régulateur est en outre configuré pour, en cas de dépassement de la tension d'action par la tension de membrane, piloter le dispositif de réinitialisation de la tension de membrane afin de décharger la capacité de membrane 15 et interroger le registre de dépassements de seuil pour décider de générer ou non un potentiel d'action sur une sortie du circuit neuromorphique ; - le régulateur est configuré pour, en cas de dépassement de la tension d'action par la tension de membrane, piloter le dispositif de réinitialisation de la tension de membrane afin de décharger la capacité de membrane de telle manière que la tension 20 d'action est retranchée à la tension de membrane ; - le registre de dépassements de seuil est un compteur qui est décrémenté en cas de dépassement de la tension de régulation par la tension de membrane et qui, alors qu'il indique une valeur négative, est incrémenté en cas de dépassement de la tension d'action par la tension de membrane ; 25 - en cas de dépassement de la tension d'action par la tension de membrane, le régulateur décide de générer un potentiel d'action lorsque le compteur indique une valeur nulle, cette dernière n'étant alors pas modifiée ; - il comprend un premier et un deuxième comparateurs de régulation, le premier comparateur de régulation venant comparer la tension de membrane à une première 30 tension de régulation et le deuxième comparateur de régulation venant comparer la 7 tension de membrane à une deuxième tension de régulation, et la modification par le régulateur du registre de dépassements de seuil est réalisée uniquement pendant une fenêtre temporelle suivant l'émission d'un potentiel d'action sur une sortie du circuit neuromorphique ; - le registre de dépassements de seuil est un compteur qui est incrémenté en cas de dépassement de la première tension de régulation par la tension de membrane et qui est décrémenté en cas de dépassement de la deuxième tension de régulation par la tension de membrane ; le régulateur est en outre configuré pour : 10 o si le compteur indique une valeur positive à l'expiration de ladite fenêtre temporelle, générer un potentiel d'action d'un premier type et décrémenter le compteur ; et o si le compteur indique une valeur négative à l'expiration de ladite fenêtre temporelle, générer un potentiel d'action d'un deuxième type et 15 incrémenter le compteur ; - le régulateur est configuré pour générer, en dehors de la fenêtre temporelle suivant l'émission d'un potentiel d'action sur la sortie du circuit neuromorphique, un potentiel d'action du premier type en cas de dépassement de la première tension de régulation par la tension de membrane et un potentiel d'action du deuxième type sur la 20 sortie du circuit neuromorphique en cas de dépassement de la deuxième tension de régulation par la tension de membrane ; - le régulateur est configuré pour, en cas de dépassement de la tension de régulation par la tension de membrane, piloter le dispositif de réinitialisation de la tension de membrane afin de modifier la charge de la capacité de membrane de telle 25 manière que la tension de régulation est retranchée à la tension de membrane. L'invention s'étend à un réseau de neurones artificiels, comprenant une pluralité de circuits neuromorphiques selon l'invention ainsi qu'a un procédé de commande d'un circuit neuromorphique selon l'invention. BRÈVE DESCRIPTION DES DESSINS D'autres aspects, buts, avantages et caractéristiques de l'invention apparaîtront mieux à la lecture de la description détaillée suivante de formes de réalisation préférées de celle-ci, donnée à titre d'exemple non limitatif, et faite en 5 référence aux dessins annexés sur lesquels, outre les figues 1 à 4 déjà discutées précédemment - la figure 5 est un schéma d'une réalisation possible d'un circuit neuromorphique impulsionnel selon l'invention - la figure 6 représente une implémentation possible d'un neurone impulsionnel 10 reproduisant le comportement d'une fonction d'activation sigmoïde et la figure 7 représente une machine d'états suivis par le régulateur du neurone de la figure 6 ; la figure 8 représente une implémentation possible d'un neurone impulsionnel reproduisant le comportement d'une fonction d'activation ReLU et la figure 9 représente une machine d'états suivis par le régulateur du neurone de la figure 8. 15 EXPOSÉ DÉTAILLÉ DE MODES DE RÉALISATION PARTICULIERS L'invention porte sur un circuit neuromorphique du type neurone impulsionnel, configuré de manière à pouvoir fonctionner de manière équivalente à un neurone formel. 20 En référence à la figure 5, ce circuit comprend une entrée de réception d'un courant synaptique Isyn correspondant au cumul des contributions de chaque neurone présynaptique, chacune de ces contributions étant pondérée par la valeur de la résistance synaptique correspondante. Ce courant layn est injecté dans une capacité de membrane Crn aux bornes de laquelle s'établit la tension de membrane Vrn. La tension de 25 membrane Vn, est comparée à au moins une tension d'action V't au moyen d'un comparateur d'action 1 qui fournit en tant que résultat de comparaison un signal compact. Un régulateur 2 exploite le signal compact pour, en cas de dépassement de l'au moins une tension d'action par la tension de membrane, générer un potentiel d'action Spa et piloter un dispositif de réinitialisation de la tension de membrane, par exemple un injecteur de 9 courant 3 relié à l'entrée de réception du courant synaptique, afin de modifier la charge de la capacité de membrane. Cette modification de la charge peut correspondre à une charge ou décharge complète (on parle alors de remise à zéro absolue de la tension de membrane) ou à une charge ou décharge partielle (on parle alors de remise à zéro relative de la tension de membrane) de la capacité de membrane. Une charge ou décharge partielle peut notamment être réalisée de manière à soustraire la tension d'action à la tension de membrane. Le seuillage d'action réalisé par le circuit selon l'invention est adapté à la fonction d'activation choisie. Pour une fonction d'activation de type ReLU qui ne 10 comprend pas de fréquence négative, un unique comparateur d'action est nécessaire. Dans le cas d'une fonction d'activation du type sigmoïde, deux comparateurs d'action sont nécessaires, l'un associé à un seuil haut et l'autre associé à un seuil bas (typiquement le négatif du seuil haut), et le régulateur est configuré de manière à pouvoir générer des potentiels d'action signés, à savoir un potentiel d'action positif en cas de dépassement du 15 seuil haut et un potentiel d'action négatif en cas de dépassement du seuil bas. Le circuit neuromorphique selon l'invention comprend en outre au moins un comparateur de régulation 4 pour comparer la tension de membrane Vnien, à une tension de régulation Vreg et fournir en tant que résultat de comparaison un signal compreg, ainsi qu'un registre de dépassements de seuil 5. Le régulateur 2 est configuré 20 pour, en cas de dépassement de la tension de régulation \ire, par la tension de membrane Vmern alors que le circuit ne doit pas générer de potentiel d'action (soit que sa tension de membrane est négative pour une ReLU, soit que l'on soit dans une période réfractaire pour une sigmoïde), piloter le dispositif de réinitialisation de la tension de membrane 3 afin de modifier, totalement ou partiellement, la charge de la capacité de membrane et 25 modifier le registre de dépassements de seuil 5. Dans le cas d'une fonction d'activation de type ReLU, le circuit neuromorphique comprend un comparateur d'action 1 associé à un seuil haut (la tension d'action) et un comparateur de régulation 4 associé à un seuil bas (la tension de régulation). Le seuil bas ne sert pas à générer des potentiels d'action mais à détecter 30 quand la tension de membrane V., est trop basse. Lorsque ce seuil bas est dépassé, la 10 tension Vn,ea, est rehaussée au moyen d'une augmentation de la charge de la capacité de membrane (ce qui permet de limiter l'excursion négative de la tension de membrane) et le registre de dépassements de seuil 5 est modifié pour garder trace de ce rehaussement. En d'autres termes, on évite de continuer à intégrer des stimulations négatives qui pourraient faire saturer la tension de membrane, et on stocke dans le registre une information relative au(x) rehaussement(s) opéré(s) sur la tension de membrane. Le régulateur 2 est en outre configure pour, en cas de dépassement de la tension d'action Vact par la tension de membrane Van, piloter le dispositif de réinitialisation de la tension de membrane afin de décharger la capacité de membrane et 10 interroger le registre de dépassements de seuil pour décider de générer ou non un potentiel d'action Spa. Notamment, un potentiel d'action n'est pas généré si le registre garde trace d'un ou plusieurs rehaussements de la tension de membrane. La décharge de la capacité de membrane est une décharge totale ou partielle, cette dernière étant par exemple réalisée pour retrancher la tension d'action à la tension de membrane. 15 Le registre de dépassements de seuil peut être un compteur qui est décrémenté en cas de dépassement de la tension de régulation par la tension de membrane (i.e. lorsque le seuil bas est dépassé). En cas de dépassement de la tension d'action par la tension de membrane, le régulateur décide de générer un potentiel d'action Spa lorsque le compteur indique une valeur nulle, cette dernière n'étant alors pas 20 modifiée, et de ne pas générer un potentiel d'action lorsque le compteur indique une valeur négative, cette valeur étant alors incrémentée. Prenant maintenant l'exemple d'une fonction d'activation de type sigmoïde, le circuit neuromorphique nécessite deux comparateurs de régulation, l'un associé à un seuil haut pour comparer la tension de membrane à une première tension de 25 régulation, l'autre associé à un seuil bas pour comparer la tension de membrane à une deuxième tension de régulation. Ces comparateurs de régulation vont permettre d'éviter une possible saturation de la tension de membrane au cours des périodes réfractaires. Ainsi, pendant une fenêtre temporelle suivant la génération d'un potentiel d'action sur une sortie du circuit neuromorphique (période réfractaire), en cas de dépassement de la 30 première ou de la deuxième tension de régulation par la tension de membrane Vmen, le 11 régulateur vient piloter le dispositif de réinitialisation de la tension de membrane 3 afin de réduire ou d'augmenter la charge de la capacité de membrane et modifier le registre de dépassements de seuil 5. En d'autres termes, on évite de continuer à intégrer des stimulations positives ou négatives qui pourraient faire saturer la tension de membrane pendant une période réfractaire, et on stocke dans le registre une information relative à la ou les réalisations d'une adaptation de la tension de membrane. Le registre de dépassements de seuil peut être un compteur qui est incrémenté en cas de dépassement de la première tension de régulation par la tension de membrane au cours d'une période réfractaire et qui est décrémenté en cas de 10 dépassement de la deuxième tension de régulation par la tension de membrane au cours d'une période réfractaire. On a vu précédemment qu'avec une fonction d'activation sigmoïde, le circuit neuromorphique doit pouvoir générer des potentiels d'action signés, et peut pour cela nécessiter deux comparateurs d'action. Dans un mode de réalisation avantageux, le 15 circuit ne comporte en réalité que deux comparateurs, chacun étant en charge d'une double fonction d'action (pour la génération d'un potentiel d'action hors période réfractaire) et de régulation (pour la détection d'une possible saturation de la tension de membrane en période réfractaire). Dans un tel cas de figure, le régulateur est en outre configuré pour : 20 - si le compteur indique une valeur positive à l'expiration d'une période réfractaire, générer un potentiel d'action d'un premier type (potentiel d'action positif par exemple) et décrémenter le compteur ; - si le compteur indique une valeur négative à l'expiration d'une période réfractaire, générer un potentiel d'action d'un deuxième type (potentiel d'action 25 négatif par exemple) et incrémenter le compteur. Et, en dehors des périodes réfractaires, le régulateur est configuré pour générer un potentiel d'action du premier type en cas de dépassement de la première tension de régulation par la tension de membrane et un potentiel d'action du deuxième type sur la sortie du circuit neuromorphique en cas de dépassement de la 30 deuxième tension de régulation par la tension de membrane. 12 Le régulateur est ainsi configuré pour pouvoir fonctionner selon deux modes : période réfractaire et fonctionnement normal. Pendant une période réfractaire, le compteur est incrémenté ou décrémenté selon le franchissement des seuils, la réinitialisation de la tension de membrane est effective bien qu'aucun potentiel d'action ne soit généré. En fonctionnement normal, le compteur est dépilé si besoin (un potentiel positif ou négatif est généré si le compteur est positif ou négatif), les potentiels d'action sont générés de manière habituelle et accompagnés d'une modification de la charge de la capacité de membrane pour réinitialiser la tension de membrane. Une période réfractaire débute après la génération de chaque potentiel d'action et s'achève à l'expiration d'un 10 minuteur. On notera que l'implémentation d'un neurone correspondant à une fonction d'activation ReLU ou à une fonction d'activation sigmoïde exploite la même base matérielle : deux comparateurs, un régulateur, un dispositif de réinitialisation de la tension de membrane et un registre de dépassements de seuil. Il est ainsi possible 15 d'élaborer un neurone « deux en un » qui peut, au choix, reproduire le comportement d'une fonction d'activation ReLU ou sigmoïde. Une implémentation possible d'un neurone impulsionnel reproduisant le comportement d'une fonction d'activation sigmoïde est représentée sur la figure 6. Sur cette figure, les éléments communs avec la figure 5 portent les même références à 20 l'exception des seuils qui sont ici notés Vse'i', et Vse'ii_bas et des sorties des comparateurs qui sont ici notées Comphaut et Compb2s. Un courant référencé Is-rim est injecté dans la capacité de membrane C'',. Ce courant est fourni par un dispositif de réinitialisation de la tension de membrane qui prend ici la forme d'un injecteur de courant 3 piloté au moyen d'un signal de commande numérique stimcmp émis par le 25 régulateur 2. Le régulateur 2, le compteur 5 et un minuteur 6 forment un bloc numérique 7 du circuit neuromorphique. On peut prendre à titre d'exemple les caractéristiques suivantes : - Nombre de niveaux de la tension de membrane : 14 (de -7 à +7), - Seuil haut=+4 et seuil bas=-4, 13 - Charge/Décharge partielle de la capacité de membrane pour réaliser une remiseà-zéro relative consistant à ajouter/soustraire à la tension de membrane une tension équivalente au seuil dépassé ; - nad entre deux niveaux de tension : 64 mV, - Courant à injecter pour faire passer la tension de membrane d'un niveau de tension à un autre (+1): 160 nA, - Taille du compteur : 3 bits + 1 bit de signe. Le régulateur 2 prend pour entrées une commande d'excitation StimIN représentative de l'activité des neurones présynaptiques, les sorties des comparateurs 10 Comphaut et Compba, une information sur l'activité du minuteur TimeroN (période réfractaire en cours) et une information Count sur la valeur du compteur. Il a pour sorties le signal de commande stimcmo de l'injecteur de courant 3, une commande d'incrémentation Count++ ou de décrémentation Count-- du compteur, un commande TimersTART de lancement du minuteur, une commande de comparaison Compcmo, un 15 potentiel d'action positif Spikepos et un potentiel d'action négatif SpikeNEo. Le régulateur est configuré pour mettre en oeuvre la machine d'état représentée sur la figure 7. Partant d'un état d'attente 10, en présence d'une stimulation en entrée (StirmN#0), il passe dans un état 20 où il recopie l'entrée StimIN sur sa sortie Stimcmo puis dans un état 30 de comparaison aux seuils où il émet la commande de 20 comparaison Compcmo. Lorsque le minuteur est en activité (TimeroN indiquant une période réfractaire) et que le seuil haut est dépassé (Comphaut=1), il passe dans un état 40 de décharge de la capacité de membrane (via la commande Stimcmo=-4) et de stockage d'un potentiel d'action positif (via l'incrémentation Count++ du compteur 5). 25 Lorsque le minuteur est en activité (TimeroN indiquant une période réfractaire) et que le seuil bas est dépassé (Com pb'=1), il passe dans un état 50 de charge de la capacité de membrane (via la commande Stimcmo=+4) et de stockage d'un potentiel d'action négatif (via la décrémentation Count-- du compteur 5). Lorsque le minuteur n'est pas en activité (TimerON, en dehors d'une 30 période réfractaire) et que le seuil haut est dépassé (Com pha.,=1), il passe dans un état 60 14 de génération d'une potentiel d'action positif Spikepos, de décharge de la capacité de membrane (via la commande Stimcmo=-4) et de lancement du minuteur (via la commande Time rSTART- Lorsque le minuteur n'est pas en activité (TimerON, en dehors d'une 5 période réfractaire) et que le seuil bas est dépassé (Compbes=1), il passe dans un état 70 de génération d'une potentiel d'action négatif SpikeNEG, de charge de la capacité de membrane (via la commande Stimcmo=±4) et de lancement du minuteur (via la commande Time rSTART- Le régulateur passe de chacun des états 40, 50, 60 et 70 à l'état 10 d'attente 10. Cet état d'attente 10 est quitté à l'expiration d'une période réfractaire (TimerON) pour atteindre un état 80 ou 90 selon que le compteur affiche une valeur positive ou négative. Si le compteur affiche une valeur positive, un potentiel d'action positif Spikepos est généré, le compteur est décrémenté et le minuteur est lancé via la commande TimersTART. En revanche, si le compteur affiche une valeur négative, un 15 potentiel d'action négatif SpikeNEG est généré, le compteur est incrémenté et le minuteur est lancé via la commande Timers-pAp-p. Puis, en l'absence de stimulation d'entrée (StimIN=0), il repasse dans l'état d'attente 10 tandis qu'il repasse dans l'état 20 de recopie de l'entrée StimiN sur sa sortie Stimcmo en présence de stimulation d'entrée (StimiN#0). On a représenté sur la figure 8 une implémentation possible d'un 20 neurone impulsionnel reproduisant le comportement d'une fonction d'activation ReLU. Cette implémentation est similaire à celle du neurone des figures 6 et 7, mais son bloc numérique 8 est simplifié : il n'y a pas de minuteur et le régulateur 2 est configure pour mettre en oeuvre la machine d'état représentée sur la figure 9 ne générant qu'un type de potentiel d'action SpikeouT. 25 Sur cette figure 9, les états 10, 20, 30 et 50 sont identiques à ceux portant les mêmes références sur la figure 7. Partant de l'état 30 de comparaison aux seuils, si le seuil bas est dépassé (Compbas=1), la machine passe dans l'état 50 de charge de la capacité de membrane (via la commande Stimcmo=+4) et de stockage d'une information relative à l'occurrence d'une telle charge (via la décrémentation Count-- du 30 compteur 5). 15 Partant de l'état 30 de comparaison aux seuils, si le seuil haut est dépassé (Comphaut-1) et que le compteur affiche une valeur nulle, la machine passe dans un état 100 de génération d'un potentiel d'action Spikeou+ et de décharge de la capacité de membrane (via la commande Stimcmo=-4). Partant de l'état 30 de comparaison aux seuils, si le seuil haut est dépassé (Comph20t=1) et que le compteur affiche une valeur négative, la machine passe dans un état 110 de décharge de la capacité de membrane (via la commande Stimcmp=-4) et d'incrémentation Count++ du compteur. L'invention n'est pas limitée au circuit neuromorphique précédemment 10 décrit mais s'étend également à un réseau de neurones artificiels comprenant une pluralité de tels circuits neuromorphiques, par exemple connectés entre eux via des synapses résistives de type RRAM. L'invention porte également sur un procédé de commande d'un neurone impulsionnel pour le rendre équivalent à un neurone formel, ce procédé comprenant lorsque le neurone impulsionnel ne doit pas générer de potentiel 15 d'action, et suite au dépassement d'une tension de régulation par la tension de membrane, les étapes consistant à piloter l'injecteur REVENDICATIONS1. Circuit neuromorphique du type neurone impulsionnel, comprenant une capacité (Cm) aux bornes de laquelle s'établit une tension de membrane (Vn,), au moins un comparateur de régulation (4) pour comparer la tension de membrane à une tension de régulation (Vred et un dispositif de réinitialisation de la tension de membrane (3), caractérisé en ce qu'il comporte en outre un registre de dépassements de seuil (5) et un régulateur (2) configuré pour, en cas de dépassement de la tension de 10 régulation par la tension de membrane, piloter le dispositif de réinitialisation de la tension de membrane (3) et modifier le registre de dépassements de seuil. 2. Circuit neuromorphique selon la revendication 1, comprenant en outre un comparateur d'action (1) configuré pour comparer la tension de membrane à une 15 tension d'action (Vau), et dans lequel le régulateur est en outre configuré pour, en cas de dépassement de la tension d'action par la tension de membrane, piloter le dispositif de réinitialisation de la tension de membrane (3) afin de décharger la capacité de membrane et interroger le registre de dépassements de seuil pour décider de générer ou non un potentiel d'action (Spa) sur une sortie du circuit neuromorphique. 20 3. Circuit neuromorphique selon la revendication 2, dans lequel le régulateur (2) est configuré pour, en cas de dépassement de la tension d'action par la tension de membrane, piloter le dispositif de réinitialisation de la tension de membrane (3) afin de décharger la capacité de membrane de telle manière que la tension d'action (Vact) 25 est retranchée à la tension de membrane. 4. Circuit neuromorphique selon l'une des revendications 2 et 3, dans lequel le registre de dépassements de seuil (5) est un compteur qui est décrémenté en cas de dépassement de la tension de régulation (Vmd par la tension de membrane et qui, 17 alors qu'il indique une valeur négative, est incrémenté en cas de dépassement de la tension d'action (Vect) par la tension de membrane. 5. Circuit neuromorphique selon la revendication 4, dans lequel, en cas de dépassement de la tension d'action par la tension de membrane, le régulateur décide de générer un potentiel d'action (Spa) lorsque le compteur indique une valeur nulle, cette dernière n'étant alors pas modifiée. 6. Circuit neuromorphique selon la revendication 1, comprenant un premier et un deuxième comparateurs de régulation, le premier comparateur de régulation venant comparer la tension de membrane à une première tension de régulation et le deuxième comparateur de régulation venant comparer la tension de membrane à une deuxième tension de régulation, et dans lequel la modification par le régulateur du registre de dépassements de seuil est réalisée uniquement pendant une fenêtre temporelle suivant l'émission d'un potentiel d'action sur une sortie du circuit neuromorphique. 7. Circuit neuromorphique selon la revendication 6, dans lequel le registre de dépassements de seuil est un compteur qui est incrémenté en cas de dépassement de la première tension de régulation par la tension de membrane et qui est décrémenté en cas de dépassement de la deuxième tension de régulation par la tension de membrane. 8. Circuit neuromorphique selon la revendication 7, dans lequel le régulateur est en outre configuré pour : - si le compteur indique une valeur positive à l'expiration de ladite fenêtre temporelle, générer un potentiel d'action d'un premier type et décrémenter le compteur ; et - si le compteur indique une valeur négative à l'expiration de ladite fenêtre temporelle, générer un potentiel d'action d'un deuxième type et incrémenter le compteur. 18 9. Circuit neuromorphique selon la revendication 8, dans lequel le régulateur est configuré pour générer, en dehors de la fenêtre temporelle suivant l'émission d'un potentiel d'action sur la sortie du circuit neuromorphique, un potentiel d'action du 5 premier type en cas de dépassement de la première tension de régulation par la tension de membrane et un potentiel d'action du deuxième type sur la sortie du circuit neuromorphique en cas de dépassement de la deuxième tension de régulation par la tension de membrane. 10 10. Circuit neuromorphique selon l'une des revendications 1 à 9, dans lequel le régulateur est configuré pour, en cas de dépassement de la tension de régulation par la tension de membrane, piloter le dispositif de réinitialisation de la tension de membrane afin de modifier la charge de la capacité de membrane de telle manière que la tension de régulation est retranchée à la tension de membrane. 15 11. Réseau de neurones artificiels, comprenant une pluralité de circuits neuromorphiques selon l'une des revendications 1 à 10. 12. Procédé de commande d'un circuit neuromorphique du type neurone 20 impulsionnel qui comprend une capacité (Cm) aux bornes de laquelle s'établit une tension de membrane (Vm) et un dispositif de réinitialisation de la tension de membrane (3), caractérisé en ce qu'il comporte les étapes consistant, suite au dépassement d'une tension de régulation par la tension de membrane, à piloter le dispositif de réinitialisation de la tension de membrane afin de modifier la charge de la 25 capacité de membrane et à modifier un registre de dépassements de seuil.