FR 2655444 A1 19910607 FR 8915875 A 19891201 La présente invention se rapporte à un réseau neuronal à circuits neuronaux électroniques à apprentissage de coefficients, et à un procédé d'apprentissage. Les réseaux neuronaux désignent dans le domaine de l'intelligence artificielle des techniques, inspirées du fonctionnement du cerveau, pour résoudre des problèmes de reconnaissance, classification ou optimisation, et dans le domaine des circuits électroniques, un certain type de circuits capables de réaliser des transformations sur des vecteurs ayant un nombre élevé de composantes Une bonne description d'ensemble de ces techniques est faite dans l'article de R. LIPPMANN paru dans "IEEE ASSP Magazine" d'avril 1987 page 4 et suivantes. On a représenté en figure l le schéma fonctionnel d'un circuit neuronal électronique (appelé par la suite CNE). Un CNE est un circuit électronique programmé avec une matrice W de Nx M "coefficients synaptiques" ou "poids synoptiques" Wij et avec M "seuils" O j qui opère un vecteur d'entrée X à N composantes (Xl Xi Xn) et génère un vecteur de sortie Y à M composantes (Yl Yi YM) Le vecteur de sortie dépend du vecteur d'entrée par la relation N Aj = ( Z Wij Xi) + S j i= 1 ( 1) Yj = f(Aj) La figure 2 illustre des formes possibles pour la fonction f définie par les règles suivantes f est une fonction Impaire f est monotone croissante f ( c") = 1; f ( ) = -1 en (a), on a la fonction f(x) = x/2 x+e et en (b), un échelon tel que f (x) = 1 si x > O et f (x) = -1 si x en sont un cas particulier. Dans la suite du texte, on appelle réseaux neuronaux une série de un ou plusieurs CNE, telle que le vecteur de sortie de l'un soit le vecteur d'entrée du CNE suivant On parle de réseaux neuronaux à une couche, à deux couches etc Les fonctions de reconnaissance ou de classification que peuvent accomplir des réseaux neuronaux dépendent du nombre de couches (voir LIPPMANN) Ci-dessous sont décrits différents types de CNE dans l'art existant et ensuite le moyen connu pour programmer un réseau neuronal (c'est-à-dire déterminer les coefficients synoptiques) pour résoudre un problème donné. La grandeur A, qui a été introduite dans la relation ( 1) peut être calculée dans le CNE par des techniques numériques classiques, et dans ces conditions rien ne s'oppose à ce que cette grandeur soit disponible à la sortie du circuit. C'est la définition adoptée ici: on parle de CNE numérique si la grandeur Aj de la relation ( 1), illustrée figure 1 est disponible sous forme numérique en sortie du circuit Dans cette classe de CNE, on peut ranger par exemple les circuits proposés par M DURANTON et J A SIRAT dans "Proceedings of ISCNN", Washington, 1989. L'intérêt de réaliser des CNE analogiques est que si on veut mettre en oeuvre la fonction f illustrée sur la figure 2 (b), la composante de sortie Yj sera binaire (-1 ou + 1) et il est alors inutile de calculer Aj avec une résolution importante. En intégrant la fonction f au dispositif, il est possible de réaliser la fonction de façon beaucoup plus compacte et donc de traiter des vecteurs de dimension plus grande La contrepartie est que seule f (Aj) sera disponible en sortie et non Aj Une autre façon de simplifier la mise en oeuvre matérielle de la relation ( 1) est de n'accepter en composantes d'entrée X 1 que des valeurs binaires (-1 ou 1) que l'on peut coder sur un seul bit Pour résumer, voici la définition donnée dans cette description du CNE analogique: Les composantes du vecteur d'entrée valent -1 ou + 1; elles sont codées sur un seul bit. Les composantes du vecteur de sortie valent -1 ou + 1; elles sont codées sur un seul bit; la fonction f est celle qui est illustrée sur la figure 2 (b). La grandeur Aj n'est pas disponible en sortie du circuit. Parmi les circuits répondant à cette définition, on peut citer l'article de R E HOWARD et autres, paru dans "IEEE Transaction on electron devices", vol ED-34, n 7, Juillet 1987 page 1553 et suivantes, ainsi que l'article de J M VIGNOLLE, E DE CHAMBOST et F MICHERON paru dans "ECAPD-1 ISAF" de 1988. Les CNE analogiques à poids binaires ne sont qu'une simple restriction des CNE analogiques: les coefficients synaptiques Wij sont égaux à 1 ou - 1 et peuvent donc être codés sur un seul bit L'intérêt de tels circuits est qu'un nombre encore plus grand de coefficients peut être stocké sur le circuit et donc que ces CNE peuvent opérer des vecteurs d'entrée de dimension encore plus grande Parmi des circuits de ce type, on peut citer l'article de H P GRAF publié dans "Proceedings of n'Euro" de 1988 L'article de E DE CHAMBOST publié dans cette même revue a montré que de tels CNE, malgré les contraintes apportées sur les coefficients, gardaient des propriétés très intéressantes pour le calcul neuronal. Les méthodes d'apprentissage qui sont connues ne se rapportent pas en général à un type de circuit particulier mais à un modèle mathématique, celui de la relation ( 1), qui est le même que celui des CNE, dans le cas le plus général C'est pourquoi on emploie quand même le terme de CNE. On va maintenant expliquer ce que l'on entend par "apprentissage" d'un réseau neuronal. Soit une collection de K vecteurs d'entrée XF' à N composantes On veut déterminer une configuration de CNE qui, pour chaque vecteur d'entrée XI' génère un vecteur de sortie ZD&' à P composantes L'ensemble des k vecteurs d'entrée associés à K vecteurs de sortie est appelé base d'apprentissage. On appelle apprentissage tout procédé consistant à déterminer les coefficients synaptiques des CNE qui, mis en série, généreront, pour l'ensemble de la base d'apprentissage, des vecteurs de sortie les plus proches possible des vecteurs désirés. On parle souvent, dans la littérature de phase d'apprentissage et de phase opératoire La phase d'apprentissage vise à déterminer les coefficients synaptiques, et une fois ceux-ci déterminés, au cours de la phase opératoire, on présente des vecteurs à l'entrée du réseau afin que le réseau calcule les vecteurs de sortie C'est pour cette phase opératoire que les CNE précités sont réalisés. On va maintenant décrire une méthode d'apprentissage connue sous le nom d'algorithme de rétropropagation Cet algorithme est bien décrit dans l'article précité de LIPPMANN. Il est résumé succinctement ici Le choix de la structure du réseau neuronal doit précéder la mise en oeuvre de l'algorithme et n'est pas discutée ici On suppose donc qu'on a déterminé le nombre des CNE mis en série, et pour chacun d'entre eux, la dimension des vecteurs d'entrée et la dimension des vecteurs de sortie L'algorithme de rétropropagation vise à déterminer les coefficients synaptiques des CNE mis en série Pour décrire l'algorithme, on a pris comme exemple un réseau à deux couches dont le premier CNE, appelé CNE-X, accepte N entrées et génère M sorties, et le 2 ème CNE, appelé CNE-Y, accepte M entrées et génère P sorties Ceci est illustré figure 3. 1 / Initialisation: les coefficients des deux CNE sont initialisés aléatoirement. 2 / On présente le vecteur X 11 de la base d'apprentissage à l'entrée de CNE-X; "i désigne le rang du vecteur dans la base d'apprentissage. 3 / Propagation directe: un vecteur intermédiaire yl est généré par CNEX; ce vecteur intermédiaire est présenté à l'entrée de CNE-Y qui génère un vecteur de sortie Zl. 4 / Rétropropagation: un vecteur DIF Zl est calculé selon la relation ( 2) ci-dessous: il est significatif de la différence entre le vecteur de sortie désiré Z Dl et le vecteur de sortie ZIL Un vecteur DIF Yl est calculé selon la relation ( 3) ci-dessous en opérant la matrice inverse de la matrice des coefficients de CNE-Y sur le vecteur DIFZR. dif Zkl = 2 * (zdk' Zkk 1) * f' (Bkl) ( 2) difyk = ( Pjk * difzk") * f' (All) ( 3) / Calcul des corrections à appliquer aux coefficients Un incrément est calculé pour chacun des coefficients synaptiques selon les relations ( 4) et ( 5) de la figure 3 Ces relations sont parfois connues dans la littérature sous le nom de loi de Hebb. (wj)l L = * Xi *difyzi ( 4) ( t Plk) a * X' * difzk ( 5) 6 / Application des corrections aux coefficients: les incréments précédemment calculés sont rajoutés aux coefficients. / Retour à l'étape N O 2 avec un nouveau vecteur de la base d'apprentissage. Il existe de nombreuses variantes de l'algorithme de rétropropagation qu'on ne peut pas toutes discuter ici C'est dire que les relations ( 2) ( 3) ( 4) et ( 5) peuvent être modifiées sans que pour autant l'esprit de la méthode soit dénaturé C'est une méthode adaptative: il importe donc avant tout qu'une identité entre un vecteur de sortie et un vecteur désiré conduise à une correction nulle sur les coefficients et que s'il n'y a pas d'identité, les corrections apportées tendent à rapprocher les sorties réelles des sorties désirées. Un des gros problèmes de cette méthode d'apprentissage est que le nombre de cycles d'apprentissage nécessaires pour faire converger l'ensemble des coefficients synaptiques vers une configuration stable peut être très grand et que par conséquent le temps de calcul peut devenir prohibitif On appelle cycle d'apprentissage les 7 étapes décrites ci-dessus répétées K fois, c'est-à-dire qu'au cours d'un cycle d'apprentissage chaque vecteur de la base d'apprentissage est présenté une fois à l'entrée du réseau On peut établir le compte du nombre de multiplications à effectuer au cours d'un cycle: Etape 3): K*M*N + K*M*P pour la relation ( 1) Etape 4): K*P pour la relation ( 2) et K*M*P + K*K*M pour la relation ( 3) Etape 5): K*M*N pour la relation ( 4) et K*M*P pour la relation ( 5) La présente invention a pour objet un réseau neuronal comportant des circuits neuronaux électroniques permettant d'accélérer sensiblement la procédure d'apprentissage, ainsi qu'un procédé d'apprentissage rapide. Selon la présente invention, le réseau neuronal, du type à circuits neuronaux électroniques réalisant des transformations sur des vecteurs, comporte des circuits neuronaux électroniques supplémentaires dans son circuit de calcul de corrections de coefficients synaptiques Pour un réseau comportant N CNE "directs", l'invention prévoit de disposer (n-1) CNE supplémentaires pour la rétropropagation et au plus N CNE supplémentaires pour le calcul des corrections des coefficients synaptiques. Le procédé conforme à l'invention consiste à n'effectuer la correction des coefficients synaptiques à l'aide de circuits neuronaux électroniques que lorsque toute la base d'apprentissage a été présentée à l'entrée du réseau et que tous les vecteurs de sortie aient été calculés par le réseau. Ainsi, selon le procédé de l'invention, on n'effectue de correction sur les coefficients qu'une fois que tous les vecteurs de la base d'apprentissage aient été opérés par CNE-X et CNE-Y A ce moment-là, les relations ( 4) et ( 5) ci-dessus sont simplement transformées en K ( Wi) = la* x Il, *difyigl ( 4 bis) l= 1 K ( P pjk) = là * xjl * difzkzl ( 5 bis) 11 = 1 Selon un autre aspect du procédé de l'invention, un réseau neuronal comportant N CNE "directs" dans le réseau proprement dit, ce procédé étant mis en oeuvre, pour l'apprentissage des coefficients synaptiques à l'aide de (n-1) CNE supplémentaires pour la rétropropagation et (n) CNE supplémentaires pour le calcul des corrections des coefficients, est caractérisé par le fait que le ime CNE de rétropropagation est programmé avec la matrice de coefficients transposée de la matrice de coefficients du (i+ 1)ème CNE "direct", et que le ième CNE de correction est programmé avec les transformés des vecteurs de la base d'apprentissage présents à l'entrée du 1 ème CNE "direct". La présente invention sera mieux comprise à la lecture de la description détaillée d'un mode de réalisation, pris à titre d'exemple non limitatif et illustré par le dessin annexé, sur lequel: les figure 1 à 3, citées ci-dessus pour expliquer l'art antérieur, représentent respectivement le schéma simplifié d'un CNE, deux fonctions différentes pouvant être mises en oeuvre par des CNE, et un blocdiagramme illustrant le processus de rétropropagation, la figure 4 est un bloc-diagramme des CNE utilisés dans le réseau neuronal conforme à l'invention, la figure 5 est un organigramme expliquant le fonctionnement du réseau neuronal conforme à l'invention, utilisant des CNE numériques, la figure 6 est un bloc-diagramme d'un réseau neuronal conforme à l'invention, et utilisant des CNE analogiques, la figure 7 est un organigramme illustrant le fonctionnement du réseau de la figure 6, les figures 8 A et 8 B sont des organigrammes illustrant le fonctionnement de variantes avantageuses du réseau neuronal conforme à l'invention et utilisant des réseaux analogiques à coefficients binaires, la figure 9 est un bloc-diagramme de circuits pouvant être utilisés dans le réseau neuronal conforme à l'invention, et la figure 10 est un bloc-diagramme de variantes de CNE pouvant être utilisés dans le réseau neuronal conforme à l'invention. L'invention est décrite ci-dessous d'abord dans le cas général, puis de façon détaillée, à l'aide des différents CNE connus en soi et décrits ci-dessus. D'abord, on part de l'exemple de la figure 3 pour l'exemple d'apprentissage de réseau à deux couches Pour mettre en oeuvre l'invention, il faut combiner ce réseau connu avec trois CNE supplémentaires tels que les CNE référencés CNE 1 à CNE 3 de la figure 3. Le premier circuit supplémentaire, CNE 1, est celui de rétropropagation Son vecteur d'entrée est DIFZL (à P composantes difz difzll et son vecteur de sortie est DIF Yll (dify dify) Les deux autres CNE supplémentaires, CNE 2 et CNE 3 sont les CNE de correction CNE 2 a pour vecteur d'entrée I DIFY (dify difyl et pour vecteur de sortie A W ( A Wlj A W Nj) CNE 3 a pour vecteur d'entrée DIFZK (difz 4 difzk) et pour vecteur de sortie A Pk ( Plk APMK)' Selon l'invention, l'apprentissage du réseau de la figure 3, combiné avec les circuits CNE 1 à CNE 3 comprend les étapes suivantes: 1/ Initialisation: les coefficients des 2 CNE (CNE-X et CNE-Y) sont initialisés aléatoirement. 2/3/ Présentation des K vecteurs de la base d'apprentissage CNE-X et CNEY mis en série, génèrent k vecteurs de sortie Zlz L'utilisation des CNE du réseau de la figure 3 pour réaliser cette opération est évidente pour l'homme de l'art et ne fait pas partie de l'invention. Le procédé de l'invention permet de corriger les coefficients une fois que l'on dispose en plus des K vecteurs d'entrée et des K vecteurs désirés de la base d'apprentissage, des K vecteurs de sortie réels et des K vecteurs de la couche intermédiaire. On va maintenant décrire les différentes mises en oeuvre possibles, selon que l'on dispose de ONE numériques, de CNE analogiques ou de CNE analogiques à coefficients binaires. Dans tous les cas, on applique selon l'invention les 3 CNE supplémentaires illustrés en figure 4 et programmés de la façon suivante, en référence à l'organigramme de la figure 5. 4/ Rétropropagation: après le calcul des K vecteurs DIFZ 11 selon la relation ( 2), utilisation selon l'invention du CNE 1 de la figure 4 programmé avec la matrice de coefficients lPjkl transposés de la matrice des coefficients lpkj l de CNE-Y. CNE 1 opère sur les K vecteurs DIFZ& à P composantes et génère K vecteurs DIFYW à M composantes. 5/ Calcul des corrections Les K vecteurs DIFYL à M composantes sont transposés en M vecteurs à K composantes. CNE 2 programmé avec les composantes des K vecteurs d'entrée de la base d'apprentissage, opère sur ces M vecteurs et génère M vecteurs à N composantes 6 W Les K vecteurs DIFZ' à P composantes sont transposés en P vecteurs à K composantes CNE 3, programmé avec les composantes des K vecteurs d'entrée de la base d'apprentissage, opère sur ces P vecteurs et génère P vecteurs à M composantes Pk' 6/ Applications des corrections: les M vecteurs 6 Wl sont ajoutés colonne à colonne à la matrice des coefficients de CNE-X et les P vecteurs 6 Pk sont ajoutés colonne à colonne à la matrice des coefficients de CNE-Y. La mise en oeuvre de l'apprentissage avec des CNE numériques est dérivée le plus directement possible du principe général de l'invention énoncé cidessus La procédure est mise en oeuvre dans ce cas en huit opérations de base O Pl à O P 8 dont trois sont réalisées par des CNE (OP 2,OP 4, OP 7) et deux sont des transpositions de matrice (OP 3,O O P 6). -O Pl qui consiste en la répétition de K fois la relation ( 2) ne constitue pas une innovation par rapport à l'art existant. -OP 2 consiste à effectuer K opérations de CNE 1 pour réaliser K*M fois la relation ( 3) La fonction f associée à CNE 1 est une fonction linéaire du type f(x) = a *x. Le calcul de f'(Aj") est possible au même titre que le calcul de f(A l') et les multiplications par f'(Ajl) et ce, de façon analogue à ce qui est réalisé par les réseaux neuronaux connus. il -OP 3 est une opération de transposition qui porte sur une matrice Kx M et peut être mise en oeuvre, de façon connue en soi, par une lecture adéquate de la mémoire o sont rangés les vecteurs à transposer. -OP 4 consiste à effectuer M opérations de CNE 2 sur les M vecteurs issus de la transposition pour réaliser K*M*N fois la relation ( 4) La fonction f associée à CNE 2 est une fonction linéaire du type f(x) = ca *x. -OP 5 consiste en N*M additions, qui remplacent les N*M*K additions effectuées selon l'art antérieur. -OP 6 est une opération de transposition qui porte sur une matrice Kx P qui peut être mise en oeuvre, de façon connue en soi, par une lecture adéquate de la mémoire o sont rangés les vecteurs à transposer. -OP 7 consiste à effectuer P opérations de CNE 3 sur les P vecteurs issus de la transposition pour réaliser K*M*P fois la relation ( 5) La fonction f associée à CNE 3 est une fonction linéaire du type f(x) = à *x. -OP 8 consiste en M*P additions, qui remplacent les M*P*K additions effectuées selon l'art antérieur. L'emploi de CNE analogiques entraîne des modifications par rapport à la procédure qui vient d'être décrite pour des CNE numériques, modifications qui sont la conséquence des particularités des CNE analogiques: La relation ( 2) considérée dans le cas o zdk" et Zkl peuvent prendre des valeurs -1 et + 1, donne la possibilité à dif Zk de prendre trois valeurs différentes possibles, ce qui est incompatible avec le format d'entrée des CNE analogiques. Les grandeurs f'(A) et f'(Bk) ne sont pas disponibles. Les modifications de procédures qui en découlent sont les suivantes et sont illustrées sur la figure 6, ces procédures étant résumées sur l'organigramme de la figure 7 Sur cette figure 6, on a simplement représenté les circuits CNE 1 à CNE 3 avec leurs vecteurs d'entrée et de sortie CNE 1 reçoit en entrée DZ' ou Zl (dzl à dzp) et son vecteur de sortie est référencé RDY 1 ou RY" CNE 2 reçoit un vecteur d'entrée à 2 *K I k 1 k composantes (Rdyjà Rdyj) et (Ryj à Ryj), son vecteur de sortie étant A Wj ( A Wij à A W Nj) CNE 3 reçoit également un vecteur d'entrée à deux composantes (dzk à dzk) et (zk à Zk), son vecteur de sortie étant A Pk ( Plk à A Pmk). La relation ( 2) n'est pas calculée, mais les K vecteurs DZ et Z 9 sont "rétropropagés" par CNE 1 pour donner un ensemble de 2 *K vecteurs, RDY 1 L et RY de dimension M qui sont transposés en M vecteurs de dimension 2 *K. De la même façon, les K vecteurs DZL et Zl' de dimension P sont transposés en P vecteurs de dimension 2 *K. Finalement, la différence de la relation ( 2) est reportée sur CNE 2 et CNE 3 qui sont programmés en dédoublant la base d'apprentissage ainsi qu'il est montré sur la figure 6. A chaque opération d'un CNE, le résultat est binarisé par la fonction f de la figure 2 b, ce qui correspond à une perte d'information, mais le grand nombre de données qui peut être manipulé grâce à l'usage des CNE analogiques permet de pallier cet inconvénient. Avec des réseaux analogiques à coefficients binaires, la conséquence de la particularité des poids binaires se situe au niveau de l'application des corrections aux coefficients: il n'est pas possible d'appliquer un incrément à une valeur binaire Selon l'invention, deux moyens distincts permettent de surmonter cette difficulté L'incrémentation des matrices lW l et lPjk est réalisée indirectement: selon l'organigramme de la figure 8 a, on incrémente d'abord des coefficients entiers, lWW l et lP Pjk l et on programme ensuite CNE 2 et CNE 3 avec W = + 1 si WW i > O -1 si WW 1 Si P Pjk Ce dernier procédé a l'avantage de conserver la structure classique de l'algorithme de rétropropagation, mais l'inconvénient de nécessiter des mémoires de grande capacité pour stocker une matrice de coefficients entiers supplémentaire par CNE. Selon une variante avantageuse de l'invention, il y a un autre moyen de réaliser l'adaptation des coefficients illustrée par la figure 8 b Au lieu d'incrémenter tous les coefficients Wii et Pjk de 6 W et 6 Pjk, respectivement, on remplace une partie seulement des coefficients W i et Pjk par 6 W 1 et ' Pjk respectivement La part des coefficients ainsi renouvelée peut varier de quelques % à plus de 50 % selon le problème d'apprentissage considéré. Une solution particulièrement intéressante illustrée par la figure 8 b consiste à tirer au sort à chaque cycle d'apprentissage les lignes qui sont à mettre à jour et à renouveler entièrement des lignes de coefficients Wi ou pj. Dans le cas général o les composantes des groupes de vecteurs à transposer sont des entiers qui ont chacun leur adresse connue par le processeur, la transposition est réalisée simplement en lisant une matrice d'entiers en lignes selon l'indice i, par exemple, au lieu de la lire en colonnes selon l'indice j. Lorsque les opérations de transposition à effectuer concernent des vecteurs à composantes binaires et que pour économiser les ressources du système informatique, on réserve un seul bit par composante, un même mot binaire sur un seul ou sur plusieurs octets comprend plusieurs composantes, et la transposition d'un groupe de mots représente une opération assez longue à réaliser puisque pour chaque composante, il faut réaliser une opération dite de masquage pour extraire le bit associé à la composante considérée, et qu'ensuite, il faut regrouper plusieurs valeurs binaires ainsi calculées sur un seul mot. Selon l'invention, il existe un circuit à registres à décalage, illustré figure 9 dans le cas d'un groupe de 8 octets pour accélérer la transposition Le circuit de la figure 9 comporte huit registres à décalage rn à r 8 La sortie série de chacun de ces registres est reliée à une cellule correspondante d'un registre à décalage r 9 à huit cellules En un seul coup d'horloge les registres à décalage ri à r 8 chargent leurs premiers bits dans le registre r 9 et décalent tous leurs autres bits Au coup d'horloge suivant, le premier octet transposé contenu dans r 9 est lu et un nouvel octet transféré est généré dans r 9. L'adaptation des seuils E) dans le cas des CNE analogiques à poids binaires, ne peut être effectuée comme avec les CNE numériques En effet, dans le cas de ces CNE numériques, il est bien connu que le seuil E i peut être aussi bien représenté par un coefficient Wii si X 1 = 1 quel que soit t, et dans ce cas, l'apprentissage des seuils ne diffère pas de l'apprentissage des autres coefficients Ce procédé n'est donc pas efficace dans le cas de coefficients binaires, mais il est possible d'intégrer selon la Demande de Brevet français N O 89 03151 un seuil programmable associé à chaque neurone Dans le cas de l'apprentissage d'un réseau neuronal à 2 couches illustré par la figure 3, il est possible d'utiliser un CNE supplémentaire, CNE 4 pour calculer la correction à apporter aux seuils e lj et un CNE supplémentaire CNE 5 pour calculer la l correction à apporter aux seuils e 2 k. Ceci est illustré sur la figure 10 CNE 4 est programmé avec les vecteurs RDY et RY 1 Le résultat de l'opération de CNE 4 sur un vecteur d'entrée dont la première moitié des composantes sont égales à 1 et la seconde moitié à -1 donne un vecteur d'incréments 6 eli, à appliquer aux seuils e 1 De la même façon, CNE 5 est programmé avec les vecteurs DZ et Z. Le résultat de l'opération de CNE 5 sur un vecteur d'entrée dont la première moitié des composantes sont 1 et la seconde moitié -1 donne un vecteur d'incréments 6 e 2 k à appliquer aux seuils 8 2 k. Les CNE de corrections CNE 2, CNE 3, CNE 4 et CNE 5 sont utilisés selon l'invention à la fois pour effectuer des opérations de calcul et pour stocker des ensembles de vecteurs (résultats intermédiaires) qui sont nécessaires dans le cycle d'apprentissage: -CNE 2 contient les vecteurs d'entrée X -CNE 3 contient les vecteurs intermédiaires Yg. -CNE 4 contient les vecteurs rétropropagés RDYL et RY 4. -CNE 5 contient les vecteurs désirés ZD 9 et ZL. REVENDICATIONS 1 Procédé d'apprentissage d'un réseau neuronal à circuits neuronaux électroniques (CNE), caractérisé par le fait qu'il consiste à n'effectuer la correction des coefficients synaptiques à l'aide de circuits neuronaux électroniques supplémentaires (CNE 1 à CNE 3) que lorsque toute la base d'apprentissage a été présentée à l'entrée du réseau et que tous les vecteurs de sortie ont été calculés par le réseau. 2 Procédé selon la revendication 1, caractérisé par le fait que le calcul des corrections à apporter aux coefficients synaptiques est réalisé selon une procédure dérivée de l'algorithme de rétropropagation. 3 Procédé selon l'une quelconque des revendications 1 ou 2, pour un réseau neuronal comportant N CNE "directs" dans le réseau proprement dit, ce procédé étant mis en oeuvre, pour l'apprentissage des coefficients synaptiques à l'aide de (n-1) CNE supplémentaires pour la rétropropagation et (n) CNE supplémentaires pour le calcul des corrections des coefficients, caractérisé par le fait que le ième CNE de rétropropagation est programmé avec la matrice de coefficients transposée de la matrice de coefficients du (i+)ème CNE "direct", et que le ?eme CNE de correction est programmé avec les transformés des vecteurs de la base d'apprentissage présents à l'entrée du 1 ème CNE "direct". 4 Réseau neuronal à circuits neuronaux électroniques (CNE) "directs" réalisant des transformations sur les vecteurs (CNE-X,CNE-Y), caractérisé par le fait qu'il comporte des circuits neuronaux électroniques supplémentaires (CNE 1 à CNE 3) dans son circuit de calcul de corrections de coefficients synaptiques. 5 Réseau selon la revendication 4, comportant N CNE "directs", caractérisé par le fait qu'il comporte (n-1) CNE supplémentaires (CNE 1) pour la rétropropagation et au plus n CNE supplémentaires (CNE 2 et CNE 3) pour le calcul des corrections des coefficients synoptiques. 6 Réseau selon la revendication 4 ou 5, caractérisé par le fait que les CNE supplémentaires sont des CNE numériques. 7 Réseau selon la revendication 4 ou 5, caractérisé par le fait que les CNE supplémentaires sont des CNE analogiques. 8 Réseau selon la revendication 4 ou 5, caractérisé par le fait que les CNE supplémentaires sont des CNE analogiques à poids binaires. 9 Réseau selon l'une des revendications 4 à 8, caractérisé par le fait qu'il comporte, en tant que circuits de transposition, des registres à décalage (figure 9). 10 Réseau selon l'une des revendications 4 à 9, caractérisé par le fait qu'il comporte des CNE supplémentaires (CNE 4,CNE 5) pour les calculs des corrections de seuils.