Brevet FR2668625A1 — publié le 19920430

PROCEDE D'APPRENTISSAGE AUTOMATIQUE ET RESEAU CONNEXIONNISTE MULTI-COUCHES POUR LA MISE EN OEUVRE DE CE PROCEDE L'invention se rapporte au domaine de l'apprentissage automatique utilisant un réseau connexionniste, dit aussi réseau de neurones, multi-couches. Les applications de l'invention couvrent tous les domaines auxquels les réseaux connexionnistes multi-couches sont ou seront appliqués tels que notamment le traitement de la parole et de l'image, la robotique, le traitement du signal. Les systèmes connexionnistes connaissent depuis quelques années un regain d'intérêt principalement dû à la publication de modèles de neurones (inspirés du fonctionnement des neurones biologiques), ainsi que d'algorithmes d'apprentissage pour réseaux de neurones. Le procédé d'apprentissage qui semble actuellement le plus performant met en oeuvre un algorithme dit de "rétropropagation" cet algorithme est décrit en détail dans le document suivant D.E. RUMELHART, G.E. HINTON, R,J. WILLIAMS. "Learning internal representations by error backpropagation" Parallel Distributed Processing, D . E. RUMELHART and J.L. Mc CLELLAND Chap 8, Bradford Book MIT Press - 1986" Cet algorithme d'apprentissage modifie les poids des connexions des neurones de façon à ce que les sorties du réseau de neurones soient représentatives d'un groupe de données qui ont des caractéristiques semblables, c'est-à-dire qu a un groupe de données correspondent des valeurs de sortie déterminées. L'algorithme de rétropropagation est dédié à des réseaux de neurones multi-couches, chaque neurone étant modélisé par un sommateur pondéré associé à un dispositif de calcul d'une fonction non linéaire. Cependant cet algorithme présente les inconvénients suivants - l'apprentissage du réseau de neurones est généralement lent - Le paramètre dit "vitesse d'apprentissage1, est difficile à ajuster - Le système neuronal est parfois bloqué dans une mauvaise configuration, notamment lorsque la vitesse d'apprentissage a été mal réglée. Pour résoudre ces problèmes, l'invention concerne un procédé d'apprentissage automatique consistant, à améliorer l'algorithme d'apprentissage par un réglage automatique des paramètres du réseau. Selon l'invention, le procédé d'apprentissage automatique consistant à modifier des coefficients de pondération d'un réseau de neurones multi-couches de façon à ce que les sorties du réseau de neurones soient représentatives d'un groupe de données est caractérisé en ce qu'il consiste - à présenter successivement des valeurs caractéristiques de différents exemples, pris dans un ordre aléatoire, aux entrées du réseau de neurones, - à calculer, pour chaque exemple, une fonction d'erreur quadratique moyenne définie comme la valeur moyenne de l'erreur de sortie totale entre les valeurs de sortie du réseau de neurones et les valeurs de sortie désirées - à modifier, pour chaque exemple, les coefficients de pondération du réseau de neurones en fonction du gradient d'erreur pondéré par un paramètre correspondant à une vitesse d'apprentissage, de façon à réduire la valeur de la fonction d'erreur - à ajuster la vitesse d'apprentissage en fixant, pour les premiers exemples, une valeur de décroissance relative de la fonction d'erreur et en gelant la valeur de la vitesse d'apprentissage pour les derniers exemples. L'invention concerne également un réseau connexionniste multi-couches comportant au moins trois couches de neurones, chaque neurone comportant un dispositif de calcul du potentiel neuronal associé à un dispositif de calcul d'une fonction non linéaire, caractérisé en ce qu'il comporte un dispositif de calcul de la vitesse d'apprentissage recevant en entrée des informations provenant de tous les neurones du réseau et délivrant en sortie une vitesse d'apprentissage optimisée à chaque exemple suivant la valeur de la fonction d'erreur. D'autres particularités et avantages de l'invention apparaîtront clairement dans la description suivante donnée à titre d'exemple non limitatif et faite en regard des figures annexées qui représentent - la figure 1, un schéma synoptique d'un modèle de neurone, selon l'art antérieur - la figure 2, le schéma d'un réseau de neurones multi-couches - la figure 3, un organigramme de l'algorithme de rétropropagation - la figure 4, un schéma synoptique d'un modèle de neurone, selon l'invention. La figure 1 représente un exemple de circuit de modélisation d'un neurone, selon l'art antérieur. Un neurone J peut être modélisé à l'aide d'un sommateur pondéré, 10, associé à un dispositif de calcul d'une fonction, 20. Les valeurs aux entrées O O ..., O. ... O du sommateur pondéré, 2 2' i n 10, sont multipliées par des coefficients de pondération respectivement W1j > W2j, ... > W1j > ... > Wnj puis additionnées pour former une valeur intermédiaire Xj appelée potentiel du neurone J à laquelle est appliqué un calcul de fonction correspondant, F (Xj) > qui fournit la valeur de la sortie O. de ce neurone J. La fonction F(Xj) est de préférence, une fonction non linéaire tangente hyperbolique. Oj = F(Xj)=th(Xj/2) Cette fonction tangente hyperbolique permet d'obtenir une valeur de sortie O. qui tend vers +l ou -1 lorsque les valeurs intermédiaires X. augmentent en valeur absolue. La figure 2 représente le schéma d'un réseau de neurones multi-couches. Ce réseau de neurones est organisé en plusieurs niveaux, les sorties d'un niveau constituant les entrées du niveau suivant, de telle façon que, en tenant compte de valeurs caractéristiques calculées sur des exemples et présentées aux entrées des neurones du premier niveau du réseau, les coefficients de pondération évoluent en cours d'apprentissage jusqu a ce que les neurones du dernier niveau du réseau fournissent pour tous les exemples dtun groupe de données ayant des caractéristiques semblables, un coefficient +1, sur la sortie du neurone correspondant à ce groupe de données, et des coefficients -1 sur l'ensemble des sorties des autres neurones. Le réseau de neurones représenté sur la figure 2 est un réseau seuil, c'est-à-dire qu'il comporte sur chacun de ses niveaux, sauf le niveau de sortie, un neurone supplémentaire appelé neurone seuil, NS, dont l'état reste toujours égal à 1 et qui permet d'ajouter un degré de liberté supplémentaire dans la masse d'informations que constituent les coefficients de pondération dits "poids". Ce degré de liberté supplémentaire permet au réseau d'apprendre plus facilement et plus vite. Le réseau de la figure 2 comporte trois niveaux - le premier niveau comporte un nombre de neurones Ni égal au nombre d'entrées, c'est-à-dire au nombre de valeurs caractéristiques calculées pour chaque groupe de données, et en outre un neurone seuil qui n'est pas connecté aux entrées. - le deuxième niveau comporte un nombre N2 de neurones compris entre Ni et la valeur N3 du nombre de neurones du dernier niveau. Chaque neurone du deuxième niveau a (Ni+1) entrées reliées aux (Ni+1) sorties des neurones du premier niveau et du neurone seuil. Le deuxième niveau comporte en outre un neurone seuil qui n'est pas relié aux neurones du premier niveau. - le troisième niveau comporte un nombre de neurones N3 égal au nombre de groupes de données. Les entrées des neurones du dernier niveau sont reliées aux (N2+1) sorties des neurones du deuxième niveau. Ce niveau ne comporte pas de neurone seuil. L'apprentissage du réseau de neurone suivant l'algorithme de rétropropagation s'effectue de la manière suivante : Les coefficients de pondération Wij sont tout d'abord initialisés par exemple en utilisant une loi de probabilité P(Wij) uniforme dans un intervalle -M, +M. L'apprentissage consiste alors en la modification des coefficients de pondération Wij, cette modification des coefficients se déroulant de la façon suivante : à un rang d'itération n donné, un exemple est extrait parmi différents exemples et les valeurs caractéristiques calculées pour cet exemple sont appliquées aux entrées du réseau de neurones. Les sorties correspondantes du réseau sont alors calculées. Cet exemple étant caractéristique d'un groupe de données devra donner en fin d'apprentissage, en sortie du neurone associé à ce groupe, une valeur égale à +1 ou voisine de +1, les sorties des autres neurones du dernier niveau donnant des valeurs négatives aussi proche de -1 que possible. Les valeurs de sortie O. du réseau sont donc comparées aux valeurs de sortie désirées. L'erreur sur la sortie, notée E., par rapport à la 2 sortie désirée est mesurée par la valeur i (0.-S.) et JJ l'erreur de sortie totale E est la somme des erreurs E. ainsi calculées pour l'ensemble des sorties de j = 1 à N3. Une fonction d'erreur quadratique moyenne Eq est alors définie comme la valeur moyenne de l'erreur totale E, et les coefficients de pondération Wij sont modifiés de façon à réduire la valeur de la fonction d'erreur en tenant compte de la dérivée de la fonction d'erreur quadratique moyenne Eq pondérée par un paramètre a, correspondant à une vitesse d'apprentissage, de la manière suivante (1) Wij (n) = a gij (n) iJ iJ où gij (k) est l'inverse du gradient d'erreur i) Eq (2) gij # wij en développant l'expression mathématique (2), gij peut également s'exprimer comme la valeur moyenne de la quantité dO. > où d. = -#E/#Xj.Lorsque le neurone J est situé Ji J J sur la couche de sortie du réseau de neurones, l'expression de d. peut être facilement calculée à partir de la fonction d'erreur et s'écrit d. = (O-S) F'(X.). Lorsque le J jj neurone J est situé sur une autre couche, l'expression de d. s'écrit dj = ( # dkWjk) F'(Xj), k est un indice re-# présentant tous les neurones situés sur les couches supérieures à celle du neurone J. Ainsi d. est un coefficient proportionnel à la pente de la fonction non linéaire et dépend de l'état des neurones situés sur la couche supérieure au neurone J. Comme les exemples sont présentés aux entrées du réseau de neurones dans un ordre aléatoire, g.. peut être approximé en effectuant un filtrage passe-bas de coefficient b, de la quantité djOi. Cette modification des coefficients de pondération permet de faire varier les valeurs des poids Wij en fonction inverse du gradient d'erreur, tout en tenant compte des variations effectuées à l'itération précédente, c'est-à-dire en effectuant un filtrage passe-bas qui permet d'éviter des oscillations pour conserver la valeur moyenne du coefficient de pondération. Ces coefficients étant modifiés, un nouvel exemple est présenté aux entrées du réseau de neurones et la même opération est effectuée plusieurs fois à partir de tous les exemples disponibles jusqu a ce que les sorties du réseau de neurones soient toujours dans l'état correspondant au groupe de données considéré, c'est-à-dire que pour tous les exemples, les sorties soient proches de -1 pour toutes celles qui ne correspondent pas à l'exemple et proche de +l pour celle qui correspond à exemple, quel que soit l'exemple considéré. Les paramètres d'apprentissage a et de filtrage b sont choisis par l'opérateur. Lorsque la phase d'apprentissage est terminée, le réseau de neurones est capable de reconnaître à quel groupe de données appartiennent les exemples présentés et les coefficients de pondération sont gelés et sauvegardés. Pour résumer et en référence à la figure 3, la phase d'apprentis sage suivant l'algorithme de rétropropagation, comporte les étapes suivantes La première étape, 1, est une étape d'initialisation des coefficients de pondération, appelés aussi poids, suivi de l'initialisation d'un paramètre noté "n" qui correspond au nombre d'exemples déjà présentés aux entrées du réseau de neurones. Dans une seconde étape, 2, un exemple est extrait aléatoirement parmi tous les exemples disponibles et est présenté aux entrées du réseau de neurones. Chaque neurone calcule alors son potentiel puis la valeur de la fonction non linéaire dans une étape 3, la fonction d'erreur dans une étape 4 et modifie ses poids dans une étape 5 de façon à réduire la valeur du gradient d'erreur. Le nombre d'exemples n est ensuite incrémenté et un test est effectué, étape 6 : si n est égal au nombre d'exemples disponibles, l'étape suivante est considérée sinon un autre exemple est extrait aléatoirement et les poids du réseau sont à nouveau modifiés pour réduire la nouvelle valeur de la fonction d'erreur, et ainsi de suite jusqu a épuisement des exemples. Dans l'étape suivante 7, lorsque tous les exemples ont été présentés au moins une fois, un test est effectué pour voir si tous les exemples ont été ou non correctement classifiés. Si ce n'est pas le cas, le paramètre n est remis à zéro et tout le processus est réitéré jusqu a ce que tous les exemples présentés aux entrées du réseau de neurones soient correctement classifiés. Lorsque c'est le cas, l'état du réseau, c'est-à-dire les valeurs des poids, est sauvegardé dans une dernière étape 8, et le réseau de neurones peut alors être utilisé à des fins de reconnaissance d'un groupe de données nouveau. La figure 4 représente un schéma synoptique d'un modèle de neurone, selon l'invention. L'algorithme classique de rétropropagation est dédié aux réseaux de neurones multi-couches, chaque neurone étant modélisé par un sommateur pondéré 10 associé à un dispositif de calcul d'une fonction non linéaire 20. Il présente les inconvénients suivants - la vitesse d'apprentissage du réseau est difficile à ajuster, - il ne converge pas de façon satisfaisante pour certains exemples qui sont alors difficiles à apprendre. Ce problème est principalement dû à un phénomène de saturation sur la couche interne du réseau de neurones, - L'apprentissage est parfois perturbé et le réseau de neurones est alors bloqué dans une mauvaise configuration. Ces inconvénients sont résolus par le dispositif représenté sur la figure 4 dans lequel la vitesse d'apprentissage est calculée automatiquement et dans lequel la saturation et les perturbations sont contrôlées automatiquement. A cet effet, le neurone J destiné à recevoir, sur ses entrées, un groupe de données représenté par le vecteur e et ayant des coefficients de pondération, ou poids, préalablement initialisés et représentés par le vecteur Wj, comporte - un dispositif de calcul du potentiel neuronal, 40 recevant en entrée les vecteurs e et Wj, le vecteur W étant j, le vecteur j modifié à chaque exemple par un dispositif de calcul des poids, 65, associé à un dispositif de calcul d'une fonction non linéaire, 50, délivrant la valeur de sortie O. du neurone J. - un dispositif de calcul de norme, 71, recevant en entrée, le vecteur e > et délivrant en sortie la norme e de ce vecteur. La norme e est ensuite moyennée dans un filtre passe-bas, 72, dont la sortie est reliée à une entrée d'un dispositif de multiplication 74 qui reçoit sur une autre entrée la norme e et qui réalise le produit e. e de la norme du vecteur d'entrée par la valeur moyenne de cette norme. - un dispositif de contrôle des perturbations, 70, recevant en entrée d'une part le produit e. e de la norme du vecteur d'entrée par la valeur moyenne de cette norme et d'autre part le coefficient d. calculé dans un dispositif de calcul de dj, 73, à partir des informations provenant des neurones des couches supérieures, et délivrant en sortie un coefficient noté dj* - un dispositif de contrôle de la saturation, 60, recevant sur ses entrées l'inverse du gradient d'erreur représenté par le vecteur GJ, le coefficient dj* et le potentiel neuronal X. et délivrant en sortie le vecteur Gj* qui est ensuite moyenné dans un filtre passe-bas 68.Le vecteur G. a préalablement été obtenu par un dispositif de calcul de produit 75 recevant une entrée le vecteur d'entrée # > et le coefficient d.* et effectuant le produit dj par e, la J J valeur moyenne de l'inverse du gradient d'erreur délivrée en sortie du filtre passe-bas 68 est alors utilisée par un dispositif 69, qui reçoit en entrée la valeur de la vitesse d'apprentissage calculée par le réseau dans un dispositif de calcul de la vitesse d'apprentissage, 80, et qui délivre en sortie la variation des poids représentée par le vecteur A Wj, cette variation des poids étant utilisée ensuite par le dispositif de calcul des poids, 65. Les rôles du dispositif de contrôle de la saturation 60, du dispositif de contrôle des perturbations 70 et du dispositif du calcul de la vitesse d'apprentissage sont décrits ci-après . Pendant la phase d'apprentissage, à chaque exemple présenté, l'algorithme de rétropropagation modifie les coefficients de pondération Wij de chaque neurone J en fonction du gradient d'erreur donc proportionnellement à la pente de la fonction tangente hyperbolique F(Xj). Lorsque pour un exemple, représenté par le vecteur d'entrée e, les coefficients de pondération sont forts, le résultat de la somme pondérée X. est important et la fonction F(Xj) sature, sa pente est très faible et la correction des coefficients de pondération s'effectue très lentement.Pour limiter les effets de la saturation, chaque neurone J comporte un dispositif de contrôle de la saturation 60 dont le rôle est d'interdire à un dispositif 65 de modifications des poids, les modifications des coefficients de pondération qui tendent à accroître de façon trop importante la valeur absolue du potentiel Xj. Pour cela, le dispositif de contrôle de la saturation 60, recevant en entrée les coefficients g.. (inverse du gradient d'erreur) représentés par le vecteur G. et délivrant en sortie des J - > coefficients modifiés représentés par le vecteur Gj*, impose une contrainte telle que la valeur absolue du potentiel | X. j soit inférieure à une valeur limite V1 lorsque la saturation tend à s'accroître.Si l'on note #Xj la variation du potentiel induite par des modifications , Wij des coefficients de pondération (représentées par le vecteur # Wj), la saturation tend à croître lorsque Xj#Xj > 0, ce qui est J J équivalent à Xjd*j > 0. Le coefficient dj* est le coefficient d. modifié par un dispositif de contrôle des perturbations 70 décrit ci-après. La fonction effectuée par le dispositif de contrôle de la saturation 60 est alors la suivante - > (3) si(jX.j > V1) et si (X.d.* > 0) alors G*. = 0 dans tous les autres cas Gj* = Gj. A titre d'exemple, on peut choisir Vl = 6 ce qui correspond à une variation d'un facteur l00 pour la pente de la fonction non linéaire. Un filtre passe-bas 68 de constante b, placé en sortie du dispositif de contrôle de la saturation 60 effectue une valeur moyenne de G *. L'algorithme de rétropropagation présente un autre inconvénient qui est celui de bloquer parfois le réseau de neurones dans une mauvaise configuration surtout lorsque la vitesse d'apprentissage a été mal réglée. Lors de la présentation d'un exemple au réseau de neurones, les coefficients de pondération sont modifiés en fonction de cet exemple pour réduire la valeur de la fonction d'erreur. Si cette modification a une trop forte influence sur les exemples suivants, il y a perturbation de l'apprentissage.Pour résoudre cet inconvénient, le neurone J comporte un dispositif de contrôle des perturbations 70 du potentiel neuronal, recevant en entrée le coefficient d. et délivrant en sortie un coefficient modifié d#. Le coefficient d. a été auparavant calculé dans un dispositif 73 à partir des informations transmises par les neurones appartenant à la couche supérieure au neurone J. Le rôle de'- ce dispositif de contrôle des perturbations est de minimiser l'influence de la perturbation d'un exemple sur le potentiel correspondant à un autre exemple. Pour cela, en considérant la modification du vecteur ss wu induite par un premier vecteur d'entrée e et l'influence /\ X.' de cette modification sur le potentiel J ~, correspondant à un autre vecteur d'entrée et, il est possible d'estimer cette influence en valeur absolue en remplaçant le vecteur dtentrée et par un vecteur de norme e parallèle à et et de même sens que e'. Cette valeur e est une valeur moyenne de la norme des vecteurs d'entrée, cette norme étant calculée dans le dispositif 71 et cette valeur moyenne e étant obtenue par un filtre passe-bas 72 de constante b.Pour limiter l'influence de # Wj sur le potentiel correspondant à une autre entrée, il faut limiter la valeur de | # Xjt |, par exemple, telle qu'elle soit inférieure à 1 % de l'amplitude crête à crête tolérée sur le potentiel par le dispositif de contrôle de la saturation 60 soit (3) |#tj| max = (2 x V1)/100 L'influence a X'j de la modification des poids induite sur le potentiel s'exprime en fonction du coefficient d'#. de la façon suivante (4) |#X'j| = a|d ajd*.jee La fonction que doit alors réaliser le dispositif de contrôle des perturbations 70 est (5) dj* = signe (dj) x min ((2 Vl/(100 aee)), jdjj) Enfin, dans l'algorithme de rétropropagation, le paramètre a correspondant à la vitesse d'apprentissage du réseau de neurones est difficile à ajuster. Pour résoudre cet inconvénient, le réseau de neurones comprend un dispositif de calcul automatique de la vitesse d'apprentissage 80, recevant en entrée les informations globales du réseau et délivrant en sortie le paramètre d'apprentissage a. Ce paramètre d'apprentissage est alors communiqué à chaque neurone du réseau. Le choix d'une vitesse d'apprentissage n'est pas aisé et nécessite souvent de nombreux essais avant d'obtenir une bonne convergence de l'algorithme de rétropropagation. Une valeur du paramètre a trop grande provoque un apprentissage irrégulier, des fortes oscillations de la fonction d'erreur et le réseau neuronal est généralement bloqué dans un minima local. D'un autre côté, une valeur du paramètre a trop faible provoque un apprentissage très lent. Une vitesse d'apprentissage optimale dépend de la taille du réseau et du nombre d'itérations de la phase d'apprentissage. Ainsi, il est possible de fixer une valeur k de décroissance relative de la fonction d'erreur tel que i!Eq = -kEq. En notant W le vecteur contenant toutes les valeurs des poids W.. du réseau et g le vecteur égal à l'opposé du gradient d'erreur et contenant toutes les valeurs gij du réseau, alors l'équation de variation des poids lorsqu'un exemple est présenté au réseau s'écrit ag et l'équation de décroissance correspondante de l'erreur s'écrit (6) 8 Eq = -g .EW = -ag2 La valeur de a nécessaire pour obtenir la décroissance de l'erreur choisie s'obtient alors par ltéquation suivante (7) a = kEq/g2 Cependant, il y a souvent des problèmes à la fin de la phase d'apprentissage, car le gradient d erreur tend vers zéro. Aussi, le dispositif de calcul de la vitesse d'apprentissage, calcule la valeur de a suivant l'équation (7) pendant les premières itérations de la phase d'apprentissage ce qui ne pose aucun problème lorsque les poids ont été correctement initialisés, puis après plusieurs itérations il gèle la valeur de a. La présente invention n'est pas limitée aux exemples de réalisation précisément décrits, notamment, pour certaines applications, il suffit de contrôler automatiquement la vitesse d'apprentissage pour obtenir une bonne convergence de l'algorithme d'apprentissage. REVENDICATIONS 1 - Procédé d'apprentissage automatique consistant à modifier des coefficients de pondération d'un réseau de neurones multi-couches de façon à ce que les valeurs de sortie du réseau de neurones soient représentatives d'un groupe de données, caractérisé en ce qu'il consiste - à présenter successivement des valeurs caractéristiques de différents exemples, pris dans un ordre aléatoire, aux entrées du réseau de neurones, - à calculer, pour chaque exemple, une fonction d'erreur quadratique moyenne (Eq) définie comme la valeur moyenne de terreur de sortie totale entre les valeurs de sortie (Oj) du réseau de neurones et les valeurs de sortie désirées - à modifier, pour chaque exemple, les coefficients de pondération (W) du réseau de neurones en fonction du gradient d'erreur pondéré par un paramètre (a) correspondant à une vitesse dtapprentissage, de façon à réduire la valeur de la fonction d'erreur - à ajuster la vitesse d'apprentissage (a) en fixant, pour les premiers exemples, une valeur (k) de décroissance relative de la fonction d'erreur et en gelant la valeur de la vitesse d'apprentissage (a) pour les derniers exemples. 2 - Procédé d'apprentissage selon la revendication 1, caractérisé en ce qu'il consiste en outre à imposer, pour chaque exemple, une limite supérieure (IDX',lmax) à l'influence des modifications des coefficients de pondération dues à la présentation d'un exemple sur une quantité, appelée potentiel neuronal, correspondant à un autre exemple, pour contrôler les perturbations de ce potentiel neuronal. 3 - Procédé d'apprentissage selon l'une des revendications 1 ou 2, caractérisé en ce qu'il consiste en outre à interdire, pour chaque exemple, les modifications des coefficients de pondération qui tendent à accroître de façon trop importante la valeur absolue du potentiel neuronal pour contrôler la saturation du réseau. 4 - Réseau connexionniste multi-couches pour la mise en oeuvre du procédé selon la revendication l, comportant au moins trois couches de neurones, chaque neurone (J) comportant un dispositif (40) de calcul du potentiel neuronal (X.) associé à un dispositif de calcul (50) d'une fonction non linéaire (F(Xj) ), caractérisé en ce qu'il comporte un dispositif de calcul de la vitesse d'apprentissage (80) recevant en entrée des informations provenant de tous les neurones du réseau et délivrant en sortie une vitesse d'apprentissage (a) optimisée à chaque exemple suivant la valeur de la fonction d'erreur. 5 - Réseau connexionniste multi-couches selon la revendication 4, caractérisé en ce que, en outre, chaque neurone comporte - un dispositif de modification des poids (65) recevant en entrée les valeurs de sortie du dispositif de contrôle de la saturation (60) moyennées par un filtre passe-bas (68) et pondérées par la vitesse d'apprentissage (a), et délivrant en sortie les valeurs modifiées des coefficients de pondération, - un dispositif de contrôle des perturbations (70) recevant en entrée des valeurs de coefficients (dj) proportionnels à la dérivée de l'erreur par rapport au potentiel et délivrant en sortie des valeurs de coefficients modifiés (dj*) permettant de minimiser l'influence des modifications des coefficients de pondération dues à la présentation d'un exemple sur le potentiel neuronal correspondant à un autre exemple. 6 - Réseau connexionniste multi-couches selon l'une des revendications 4 ou 5, caractérisé en ce que, en outre, chaque neurone comporte un dispositif de contrôle de la saturation (60) associé à un filtre passe-bas (68) recevant en entrée les valeurs de l'inverse du vecteur gradient d'erreur et délivrant en sortie des valeurs nulles pour interdire la modification des coefficients de pondération ou des valeurs égales aux valeurs d'entrée pour autoriser la modification des coefficients de pondération.