Brevet FR2648253A1 — publié le 19901214

*1 DESCRIPTION PROCEDE DE TRAITEMENT ET STRUCTURE DE RESEAU DE NEURONES METTANT EN OEUVRE LE PROCEDE". L'invention concerne un procédé de traitement mis en oeuvre dans une structure de réseau de neurones qui dé- termine des potentiels Yk de neurones de sortie k à partir des états x1 de neurones d'entrée 1 qui leur sont connectés selon des coefficients synaptiques Ckl, et qui effectue des phases d'apprentissage du réseau de neurones en déterminant (n) des coefficients synaptiques nouveaux C kl Elle concerne également une structure de réseau de neurones qui met en oeuvre le procédé. Les réseaux de neurones trouvent leurs applica- tions dans le traitement d'image, de la parole... Les réseaux de neurones sont constitués d'automa- tes connectés entre eux par des synapses auxquelles sont af- fectés des coefficients synaptiques. Ils permettent de traiter des problèmes qui le sont difficilement par les ordinateurs séquentiels classiques. Pour effectuer un traitement donné, les réseaux de neurones doivent au préalable apprendre à l'effectuer. Cette phase appelée apprentissage fait appel à des exemples. Pour de nombreux algorithmes, les résultats que l'on doit obtenir en sortie avec ces exemples sont générale- ment connus à l'avance. Dans un premier temps le réseau de neurones qui n'est pas encore adapté à la tâche prévue, va dé- livrer des résultats erronés. On détermine alors une erreur Ep entre les résultats obtenus et ceux que l'on aurait dû obtenir et, à partir d'un critère d'adaptation, on modifie les coefficients synaptiques pour permettre au réseau de neurones d'apprendre l'exemple choisi. Cette étape est réitérée sur le lot d'exemples considérés comme nécessaires à un apprentissage satisfaisant du réseau de neurones. Une méthode très répandue pour opérer cette adaptation, dans le cas de réseaux en couches, est celle de la rétropropagation du gradient. Pour cela on détermine les composantes du gradient gj,L de l'erreur Ep précédente (calculée sur la dernière couche L) par rapport à chaque potentiel Yj,L de chaque neurone. Ces composantes sont ensuite rétropropagées dans le réseau de neurones. Les potentiels Yj,L sont déterminés avant l'application de la fonction non linéaire. Cette méthode est par exemple décrite dans: - D.E. Rumelhart, D.E. Hinton, and R.J. Williams, 'Learning Internal Representation by Error Propagation', in D.E. Rumelhart, and J.L. McClelland (Eds), 'Parallel Distributed Processing: Exploration in the Microstructure of Cognition', Vol.1, Foundations, MIT Press (1986). La rétropropagation du gradient fait partie des nombreuses règles d'apprentissage qui peuvent se mettre sous la forme: (n) C =C +.x kl kl k 1 (n) o C et C sont respectivement les coefficients kl kl synaptiques anciens et nouveaux, ak est un incrément qui dépend uniquement du neurone de sortie k, x1 est l'état du neurone d'entrée 1. Ces règles appartiennent à la famille des règles Rebbienne. Certaines de ces règles font usage du calcul de la norme mk du vecteur synaptique Ck dont les composantes Ckl sont les coefficients synaptiques associés à un même neurone de sortie k: N 2 m E (C) 11 k 1=1 kl Or, ces règles peuvent être mises en oeuvre dans des structures de réseau de neurones à traitement parallèle. Dans ce cas l'organisation de telles structures permet un traitement rapide des données qui aboutit à la fin des étapes d'apprentissage au calcul des nouveaux coefficients synaptiques. Lorsque ceux-ci ont été calculés, il est alors possible de déterminer leurs normes respectives pour être mises en oeuvre dans la règle d'apprentissage considérée. Ainsi la structure de réseau de neurones à traitement parallèle, initialement prévue pour accélérer le traitement, se trouve ainsi pénalisée par des étapes séquentielles qui nécessitent des appels des coefficients synaptiques en mémoire et des opérations arithmétiques supplémentaires. Le problème posé est donc d'effectuer le calcul des normes des nouveaux coefficients synaptiques sans pénaliser la vitesse d'exécution des structures à traitement parallèle ainsi que celles ayant d'autres types de traitement. La solution consiste en un procédé qui effectue un calcul de la norme (n) (n) 2 m = t(C) des nouveaux coefficients synaptiques k 1kl simultanément à leur détermination et sans nécessiter leur calcul explicite le procédé déterminant cette norme en effectuant un calcul de mise à jour de la norme précédente. Avantageusement les appels en mémoire des coefficients synaptiques sont supprimés et le nombre d'opérations arithmétiques, qui serait au moins égal au nombre de neurones 1 d'entrée dans chaque cas, est considérablement réduit. Selon ce procédé pour calculer la nouvelle norme m relative aux 1 nouveaux coefficients synaptiques C qui k kl convergent vers le neurone k tel que: (n) (n) 2 mk. = (Ckl), on exploite les valeurs précédentes m avec k =E (C) k kl auxquelles on ajoute un incrément qui se décompose en plusieurs termes qui sont accessibles avant que les nouveaux coefficients synaptiques eux-mêmes aient été calculés. (n) En effet la norme nouvelle m peut s'écrire: k (n). 2 k kl C k i soit: (n) 2 2 2 OS m = (Ckl) +2 k Ckl l + k i() Le terme C. x correspond au traitement kl1 effectué par le réseau de neurones au début de chaque phase d'apprentissage. 2 Le terme l (C) est l'ancienne norme. lkl 2 Le terme (x) est la norme du vecteur d'états de neurones d'entrée. Selon l'invention ces différents termes sont soit prélevés soit calculés avant la fin de l'étape de calcul des (n) nouveaux coefficients synaptiques Cl. Ainsi la norme de ces kl coefficients peut être déterminée sans calculer les nouveaux coefficients synaptiques eux-mêmes en utilisant en commun des étapes déjà effectuées par l'apprentissage. Pour cela selon l'invention le procédé comprend les étapes suivantes: A détermination des potentiels Yk des neurones de sortie k tel que: ky= C. x k lkl l B1 - mise en oeuvre des étapes d'apprentissage et détermination des variations subséquentes Ak à affecter aux états de neurones d'entrée, B2 - parallèlement à l'étape Bi, détermination pour un neurone de sortie k de la norme (xl)2 des états de neurones d'entrée qui convergent sur le neurone k, Ct - détermination des nouveaux coefficients synaptiques (n) (n) C tel que: C = C +. x (1) kl kl kl k 1 C( - parallèlement à l'étape C1, détermination de la norme m tel que: k (n) 2 2 m = m + 2 a. yk +(k) (x) m k k k k 1(x) o mk est la norme précédente. Un calculateur programmé peut mettre en oeuvre les étapes du procédé. Ce procédé peut être également mis en oeuvre dans une structure de réseau de neurones munie de moyens de détermination des potentiels Yk de neurones de sortie k à partir des états x1 de neurones d'entrée 1 qui leur sont connectés selon des coefficients synaptiques Ckl, et de moyens pour effectuer des phases d'apprentissage du réseau de neurones en déterminant des coefficients synaptiques nouveaux (n) C caractérisé en ce qu'elle effectue un calcul de la norme kl (n) (n) 2 mk = (Ckl) des nouveaux coefficients synaptiques simultanément à leur détermination et sans nécessiter leur calcul explicite, la structure comprenant des moyens qui effectuent un calcul de mise à jour de la norme précédente mk. Cette structure comprend: une unité de traitement qui détermine les potentiels Yk des neurones de sortie en opérant en parallèle sur tous les neurones d'entrée 1 tel que: yk Ckl 1 (n) et qui détermine les nouveaux coefficients synaptiques C kl tel que: (n) (1) C = C +. x kl kl k 1 O Ak est un incrément lié au neurone de sortie k, 30. une unité de stockage du vecteur des normes précédentes mk relatives à chaque neurone de sortie k, 2 une unité de calcul de la norme (x) de chaque vecteur d'états xl, 35. une unité de calcul qui détermine les nouvelles normes m(à partir des normes i (x) et des incréments et des2 m( à partir des normes (x) et des incréments à, et des k 1 k potentiels des neurones de sortie Yk issus de l'unité de traitement tel que: (n). 2 2 m = m + 2. yk +(A). (x) k k k k k lxl Ainsi avec un procédé ou la structure selon l'invention il est possible de connaître les normes nouvelles (n) (in) m sans avoir à connaître les valeurs actualisées C k kl Ainsi avantageusement on ne perd pas le bénéfice du parallélisme du calcul des coefficients synaptiques dans le cas d'un traitement parallèle. Même lorsque le traitement est effectué en série le procédé réduit la durée du traitement. L'invention sera mieux comprise à l'aide de la figure unique donnée à titre d'exemple, qui représente le schéma de la structure de réseau de neurones munie de moyens permettant de déterminer les normes nouvelles. La structure de réseau de neurones de la figure comprend une unité de traitement 10 munie d'une mémoire 11 de coefficients synaptiques. L'unité de traitement 10 effectue l'ensemble des opérations nécessaires au fonctionnement d'un réseau de neurones soit: - calculer les potentiels des neurones de sortie Yk à partir des entrées des neurones x1 et des coefficients synaptiques Ckl selon: yk: EC. x k lkl l (n) - calcul des nouveaux états de neurones de sortie Y k par application d'une fonction non linéaire F: (n) Y =F(yk), k k - mise en oeuvre d'une méthode d'apprentissage telle, par exemple, que la rétropropagation du gradient qui permet de déterminer le changement de coefficients synaptiques à effectuer pour que le réseau de neurones s'adapte, à l'aide d'exemples, à la tâche prévue tel que: (n) C =C +. x (1) kl kl k 1 (n) C est le nouveau coefficient synaptique qui réactualise kl l'ancien coefficient synaptique Ckl, xl sont les états des neurones d'entrée Ak est un incrément, relatif au neurone de sortie k, qui est déterminé au cours de la phase d'apprentissage. Par exemple il tient compte des variations des états de neurones d'entrée qui sont déterminés par exemple selon la méthode de rétropropaga- tion du gradient et qui doivent être répercutés sur les coefficients synaptiques. Il peut également tenir compte de l'ancienne norme mk. Au cours du traitement habituel effectué dans un réseau de neurones, l'unité de traitement 10 peut fournir pour un neurone de sortie k donné des quantités Sk, Yk et xl. Selon l'invention ces quantités sont transmises à un opérateur de normes 12. Celui-ci comprend: - une unité de stockage 13 du vecteur des normes relatives à tous les neurones de sortie, 2 - une unité de calcul 14 de la norme (x) concernant les 1 neurones d'entrée, - et une unité de calcul 15 qui reçoit: l'ancienne norme mk à partir de l'unité de stockage 13 la norme du vecteur d'état (x) à partir de l'unité de calcul 14 le potentiel Yk du neurone de sortie k et l'incrément Ak propre à ce neurone de sortie k. L'unité de calcul 15 détermine ainsi la nouvelle (n) noZme m tel que: k (n) 2 2 m = m + 2 A. yk +(t). (x1) k k k k 1 l l (n) Cette nouvelle norme m est réécrite dans l'unité de k stockage 13 à la place de l'ancienne norme mk pour être utilisée au cycle suivant (connexion 16). Cet opérateur de norme 12 peut être utilisé pour appliquer toutes les règles d'apprentissage opérant selon l'équation (1) et qui ont besoin de ce calcul de norme pour effectuer l'apprentissage. La figure est présentée sous la forme d'une structure de réseau de neurones formée de blocs fonctionnels. Il est possible que l'ensemble des fonctions à réaliser soit intégré à un calculateur. Dans ce cas l'invention concerne un calculateur programmé pour effectuer l'apprentissage d'un réseau de neurones en mettant en oeuvre le procédé de calcul de la norme selon l'invention. REVENDICATIONS 1. Procédé de traitement mis en oeuvre dans une structure de réseau de neurones qui détermine des potentiels Yk de neurones de sortie k à partir des états xi de neurones d'entrée 1 qui leur sont connectés selon des coefficients synaptiques Ckl, et qui effectue des phases d'apprentissage du réseau de neurones en déterminant des coefficients synaptiques nouveaux (n) C caractérisé en ce que le procédé effectue un calcul de ki (n) (n) Z la norme mk = (Ckl) des nouveaux coefficients synaptiques simultanément à leur détermination et sans nécessiter leur calcul explicite, le procédé déterminant-cette norme en effectuant un calcul de mise à jour de la norme précédente. 2. Procédé selon la revendication 1 caractérisé en ce qu'il comprend les étapes suivantes: A - détermination des potentiels Yk des neurones de sortie k tel que: yk = Ckl. xl B1 - mise en oeuvre des étapes d'apprentissage et détermination des variations subséquentes Ak à affecter aux états de neurones d'entrée, B2 - parallèlement à l'étape B1, détermination pour un neurone de sortie k de la norme (xl)2 des états de neurones d'entrée qui convergent sur le neurone k, Ci - détermination des nouveaux coefficients synaptiques (n) (n) C tel que: C = C + à. x kl kl kl k 1 C2 - parallèlement à l'étape Ci, détermination de la norme (n) m tel que: k (n) 2 2 m k +2k yk + k (x) o mk est la norme précédente. 3. Structure de réseau de neurones munie de moyens de détermination des potentiels Yk de neurones de sortie k à partir des états x1 de neurones d'entrée 1 qui leur sont connectés selon des coefficients synaptiques Ckl, et de moyens pour effectuer des phases d'apprentissage du réseau de neurones en déterminant des coefficients synaptiques nouveaux (n) C caractérisée en ce qu'elle effectue un calcul de la norme ki (n) (n) 2 m = k (C kl) des nouveaux coefficients synaptiques k k simultanément à leur détermination et sans nécessiter leur calcul explicite, la structure comprenant des moyens qui effectuent un calcul de mise à jour de la norme précédente mk. 4. Structure selon la revendication 3 caractérisée en ce qu'elle comprend: une unité de traitement qui détermine les potentiels Yk des neurones de sortie en opérant en parallèle sur tous les heurones d'entrée 1 tel que: k kl 1 (ni et qui détermine les nouveaux coefficients synaptiques C kl tel que: (n) C = C + A.x kl kl k 1 o àk est un incrément lié au neurone de sortie k, une unité de stockage du vecteur des normes précédentes mk relatives à chaque neurone de sortie k, 2 une unité de calcul de la norme î (x) de chaque vecteur d'états xl, une unité de calcul qui détermine les nouvelles normes mn à partir des normes (x), et des incréments A et des k k potentiels des neurones de sortie Yk issus de l'unité de traitement tel que: (n) 2 2 mk m + 2 àk yk + ( x) Y 5. Calculateur caractérisé en ce qu'il est programmé pour effectuer l'apprentissage d'un réseau de neurones en mettant en oeuvre le procédé de calcul de la norme selon une des revendications 1 ou 2.