Brevet FR2681709A1 — publié le 19930326

PROCEDE DE CONNEXION INTERNE POUR RESEAUX DE NEURONES La présente invention concerne un procédé de connexion interne pour réseaux de neurones appliqué notamment à la prédiction ou à la réduction de la dimension des vecteurs d'observation dans les domaines du traitement et de l'analyse d'image par exemple Plus généralement, elle s'applique aux techniques utilisant les structures multicouches modélisant des réseaux de neurones. Depuis quelques années, un grand nombre de modèles de réseaux de neurones ont été proposés Parmi ceux-ci, le modèle qui semble le plus intéressant pour les applications industrielles est le Perceptron Multicouches exposé notamment dans l'article de MM D E. RUMELHART, G E HINTON et R J WILLIAMS "Learning internai représentations by error back propagation" dans l'ouvrage "Parallel Distributed Processing" BRADFORD book MIT Press 1986 Cette structure est un assemblage d'unités élémentaires appelées "neurones" ou "automates" Les neurones sont organisés en couches, chaque couche recevant à ses entrées les sorties de la couche précédente Un algorithme d'apprentissage connu sous le terme de "rétropropagation du gradient" a été proposé pour ce type de réseau Cet algorithme est présenté dans l'article cité ci-dessus. Si les performances du Perceptron multicouches sont satisfaisantes pour les tâches de classification, il n'en est pas de même pour les tâches de prédiction ou de réduction de dimension des espaces de travail notamment Dans ces domaines, les performances du Perceptron multicouche sont médiocres du fait de ses faibles capacités à traiter les problèmes non linéaires. Le but de l'invention est de pallier les inconvénients précités A cet effet, l'invention a pour objet un procédé de connexion interne pour réseaux de neurones reliant des couches de neurones successives, chaque couche recevant à ses entrées les sorties de la couche de rang directement inférieur, caractérisé en ce qu'il consiste à représenter les états de sortie des neurones par une fonction et à obtenir cette fonction suivant une première étape en effectuant une sommation pondérée de fonctions représentant chacune l'état de sortie d'un neurone de la couche précédente, suivant une deuxième étape en appliquant une fonction saturante au résultat de la sommation et suivant une troisième étape en appliquant une fonction de distribution au résultat de la fonction saturante. L'invention a pour principaux avantages qu'elle permet d'accroître les capacités du Perceptron multicouches à traiter des i 5 problèmes non linéaires et d'améliorer notamment les performances de prédiction et de réduction de dimension de ce même Perceptron. D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de la description qui suit en faite regard des dessins annexés qui représentent: La figure 1 a: une organisation de neurones en couches suivant la structure du Perceptron multicouches. La figure 1 b: un modèle de connexion de neurones. La figure 2 a: un modèle de connexion de neurones selon l'invention. La figure 2 b: des exemples de fonctions des répartitions scalaires distribuées. La figure 3: une segmentation d'une fonction de répartition scalaire distribuée. La figure la montre une organisation de neurones en couches suivant la structure du Perceptron multicouches Un vecteur d'entrée 1 fournit des informations à des unités d'entrée symbolisées par des flèches Il n'y a pas de connexions à l'intérieur d'une même couche. Chaque neurone reçoit à ses entrées les sorties de la couche de rang directement inférieur En général, un neurone dit de seuil, sans entrées, et dont la sortie vaut toujours 1, symbolisé par un triangle, est disposé sur chaque couche, sauf au niveau du vecteur de sortie 2, afin5 d'améliorer les capacités du réseau en rajoutant ainsi un degré de liberté. La figure 1 b présente un mode de connexion de neurones associé à la structure du Perceptron multicouche et proposé par RUMELHART et al Il est constitué d'un sommateur 3 et d'une fonction de transition 4 non linéaire de type tangente hyperbolique par exemple. oi est l'état de sortie d'un neurone i de la couche précédente, oj est l'état de sortie du neurone j appartenant à la couche suivante, les trois flèches en entrée du sommateur 3 symbolisent les connexions aux neurones de la couche précédente Wij représente le coefficient de pondération associé à la connexion entre le neurone i et le neurone j Xj, is résultat de la somme pondérée 3 est appelé potentiel du neurone j Si la fonction de transition 4 du neurone est notée F et l'ensemble des prédécesseurs du neurone j noté pred (j), conformément aux notations précédentes, il vient:Xj= Wij i et Oj= F (Xj) Le signe iepred(j) r indique l'appartenance. La figure 2 a présente un modèle de connexion selon l'invention Les états de sortie des neurones ne sont plus représentés par des scalaires comme précédemment mais par des fonctions Le procédé de connexion selon l'invention consiste suivant une première étape 21 à effectuer la somme pondérée des fonctions fxi représentant des neurones i de la couche précédente Si la fonction Wq 1 représente un continuum de poids caractérisant la connexion entre les neurones i et j, à l'issue de cette première étape 21, le potentiel Xi associé au neurone j est obtenu par la relation: J=-W O u f U U) du i Epred(j) préd (j) ayant été défini précédemment. Suivant une deuxième étape 22, le résultat Xi de cette somme pondérée passe dans une fonction saturante Fs dont le résultat est noté Xj, Xi = Fs (Xj), Fs peut être du type tangente hyperbolique par exemple, enfin suivant une troisième étape 23, à la valeur xj est appliquée une fonction de distribution dh afin d'obtenir la fonction de sortie caractérisant l'état en sortie du neurone l, cette fonction est notée fx La fonction de distribution dh utilisée dans la troisième étape est une fonction injective de l'ensemble des nombres réels R vers l'ensemble des applications de R dans R qui a tout nombre réel x associe le résultat du produit de convolution de l'impulsion de Dirac centré en x notée & x par une fonction paire et apériodique notée h Conformément aux notations précédentes, pour tout nombre réel x, il vient: fx= dh(x) = 3 x *h o a x*h représente le produit de convolution de la fonction & x par la fonction h Dans ce cas, pour tous nombres réels x et y, fx (y) = h (y x) = h (x y) La fonction de distribution dh est donc entièrement déterminée par la connaissance de la fonction h Par la suite, la fonction fx sera nommée "Représentation Scalaire Distribuée" de x Dans la pratique, la fonction h peut être par exemple un filtre de lissage. La figure 2 b montre plusieurs représentations scalaires distribuées, dans le cas, par exemple, o h est une fonction d'allure gaussienne L'axe y est l'ensemble de nombres réels, l'axe fx (y) est l'ensemble des images des nombres réels par la fonction fx La courbe 201 représente l'allure de la fonction fx pour x = 0, la courbe 202 I'allure de la fonction fx pour x = 0,3 et la courbe 203 I'allure pour la fonction fx pour x = 0,7. Le fonctionnement du réseau selon l'invention sera mieux compris par l'étude suivante d'une connexion entre un neurone i et un neurone j D'après l'expression du potentiel Xj, il est possible d'obtenir la relation Xi =j (xi) ( 2) i Epred(j) avec S ij(xi)= | + Wij(u) fxi(U) du s ij(xi) = J+r Wij(u) h (xi -u) du, d'après la relation ( 1) Cette dernière expression représente en fait le produit de convolution de la fonction h par la fonction Wij appliquée au nombre réel Xi, soit: sij (xi) = (h * Wij) (xi) ( 3) Ainsi, en regroupant la fonction de distribution du neurone i avec le continuum de poids Wij caractérisant la connexion entre le neurone i et le neurone j, cette connexion apparaît comme le résultat du filtrage du continuum de poids par la fonction génératrice de la représentation scalaire distribuée En notant Cij = h * Wij, il est possible de décrire les connexions aboutissant au neurone j par la succession d'opérations suivantes, conformément aux notations précédentes xj = Z cij (xi) i Epredfj) Xi = Fs (Xj) Il est possible de rendre l'effet de la représentation scalaire distribuée en considérant que la connexion est une fonction adaptative et non plus un simple gain adaptatif comme dans le cas d'un modèle classique de neurone, ce qui permet de mieux répondre aux problèmes de non linéarité. En pratique, il n'est néanmoins pas possible de représenter un continuum de poids Selon l'invention, les poids sont donc représentés par une fonction, échantillonnée Cette fonction échantillonnée est définie et notée de la manière suivante entre le neurone i et le neurone j + 00 Wj*(u) = in (n u) n=-00 o N est un nombre entier relatif Wil' N est la valeur du continuum de poids Wij au point n, ô est la fonction de Dirac.10 D'après la relation ( 3), conformément aux notations précédentes, la fonction sij liant le potentiel Xj d'un neurone j à la valeur xi d'un neurone i de la couche précédente est définie de la manière suivante: s ij (x-i) =(h* Wij *) (x i) soit, sij(xi)=J 'n wiji'ns (n-u) fxi(u)du Wij, N étant constant: + 00 +o il vient: sij(xi)= wjn J ô(n-u)fxi(u)du -00 en notant: fxin=:ô (n u) fxi (u) du ( 4) il vient Le modèle du neurone en échantillonné est représenté par la figure 2 c La fonction de sommation de l'étape 21, la fonction saturante de l'étape 22 et la fonction de distribution de l'étape 23 sont les mêmes que précédemment N et m étant des entiers relatifs, Oj,n = fxj,n et Oi,n = fxi,m Wim est la valeur du continuum de poids Wi à l'échantillonnage m En sortie de l'étape 23, au lieu d'une seule flèche comme dans les cas précédents, figurent deux flèches séparées par des pointillés symbolisant les valeurs échantillonnées obtenues dont Oj,n est une valeur particulière L'amélioration de la connexion interne du réseau de neurone apparaît bien ici dans le fait que la sortie du neurone au lieu d'être représentée par une seule valeur, est représentée par une suite de valeurs échantillonnées apportant une meilleure précision et une meilleure adaptation aux différents traitements posés Comme le montre la figure 2 b, la fonction de filtrage h est en général une fonction d'allure gaussienne ayant un écart type de faible valeur. D'après la figure 3, il apparaît qu'en dehors de l'intervalle lnl,n 2 l, fx(y)= 1 h(x-y) =h(y-x) a toujours une faible valeur et donc que les poids Wijn d'indice N extérieur à l'intervalle lnl,n 2 l ont peu d'influence dans le produit Wijn fxi,n de la relation ( 5) Pour les indices n extérieurs à cet intervalle lnl,n 2 J les valeurs des poids Wlin peuvent donc être fixées à O En pratique, les bornes de l'intervalle lnl,n 2 l seront choisies de telle sorte qu'elles encadrent les valeurs asymptotiques de la fonction saturante Fs Sur cette figure, F MIN et FMAX ai précédemment cité. Dans l'algorithme d'apprentissage défini selon l'invention, une erreur quadratique moyenne e Qf M est définie par exemple entre les sorties obtenues (xj) et les sorties souhaitées (t): e QM= E{e Q} L'opérateur Et} calcule la valeur moyenne des valeurs e C définies par t e Q= 2, (xj-tj) ( 7) JE S s étant l'ensemble des indices de neurones de sortie. Lors de la phase d'apprentissage, tous les exemples sont présentés plusieurs fois dans un ordre aléatoire A chaque présentation d'un exemple, les poids Wijn varient dans le sens inverse du gradient de l'erreur, soit Wij,n cette variation: àWijn= a QM, ta étant une Wij,n constante positive, une diminution de l'erreur est ainsi assurée Le gradient local de l'erreur quadratique sera noté par la suite gij,n. ae Q gi J,n= a W 1 j,n e Qi Comme e QM=Ee Q, il est possible d'écrire: A Wie,n= -Ea WE}n ij,n car la dérivation est un opérateur linéaire En conséquence, il vient: A Wipn= -E{lgij,n} La réalisation de la phase d'apprentissage nécessite donc de connaître les gradients gij,n de l'erreur par rapport à un poids De De DX. 1 e Q Q ax o g ij,n = W = X W. aw ax aw 1 j,n j ij,m ax or, a W = Oin d'après les relations ( 2) et ( 6) n ae Q Ainsi, en posant 8 ôj= a X g ij,n= j Oi, n Pour obtenir gij,n il reste à définir ôj En utilisant les règles élémentaires du calcul différentiel, il apparaît que ôj s'exprime en fonction des termes: ae Q k a Xk relatifs aux neurones k de la couche suivante En effet: ae ôJ= ax = J ae Q ax. J ax xj=F (Xi) donc-a =F' 1 Xi) S ax. i axj J ae et j= ax. J peut s'écrire ae Q ax. J n 2 ae Q n=n j,nl ao. n 71 J' o 0. Jn axj lnl,n 2 l étant I'intervalle défini précédemment. FS(Xj) F S (xj) ae Q ax. J il ae Qe =e Q a Xk -jo Qpeut s'écrirea =_ ka Qaosucc (j) étant les I Xn J,n k=succ(j) Jn indices des neurones de la couche succédant directement à la couche o ae se situe le neurone j ao 8 kwikn J,n k=succ(j) puisque aa X=-ak O Xk et a O = Wl,,n d'après les relations ( 2) Jn ao. ailleurs, J'n= h'(xj -n) En effet, Ojn= fxjnet axj J Je et ( 6) Par d'après les af. relations ( 1) et ( 4) ax = h'(xj-n) d'o l'expression de ôj suivante J exprimée en fonction des Sk relatifs aux neurones k de la couche suivante lj Y, k Wjkn h'(xjn) l (Xj) Ln=nl lk=-succ(j) Dans le cas particulier de la dernière couche, 5 j s'exprime aisément en fonction du type d'erreur choisi, en effet ae Q a j = -_xj axj or, d'après la relation ( 7), pour les neurones j appartenant à la dernière couche ae Q_ ax. J (xj tj). En conséquence ô j = -(xj tj) F (Xj) Ainsi, par itération et à partir des erreurs quadratiques successives entre les sorties obtenues et les sorties souhaitées, les coefficients Wijn peuvent être déterminés, cela constitue la phase d'apprentissage. Le procédé selon l'invention peut être avantageusement appliqué à la réduction de la dimension des espaces de travail notamment dans le domaine du traitement du signal par exemple En effet, dans de nombreuses applications de traitement du signal, l'observation est représentée par un vecteur appartenant à un espace de dimension N Très souvent, les composantes de ce vecteur ne sont pas indépendantes et sont en réalité restreintes à une hyper-surface de dimension M inférieur à N Certaines méthodes d'analyse permettent d'approximer cette hyper-surface par un hyper plan Néanmoins, quand l'hyper-surface est fortement courbée, l'approximation par un hyperplan n'est pas satisfaisante Il n'existe pas actuellement de méthode satisfaisante Le procédé selon l'invention permet d'obtenir des résultats satisfaisants L'exemple qui suit est traité en dimension 2 mais est représentatif de tout autre problème traité en dimension supérieure Sur la figure 4 a, l'hyper-surface S est représentée par un quart de cercle de rayon égal à l'unité. Les données traitées sont des données synthétiques représentés par des vecteurs de coordonnées (a,b) aléatoirement choisies sur le quart de cercle S selon une loi uniforme en fonction de l'angle par exemple La figure 4 b montre le réseau de neurones utilisé selon l'invention a et b sont les données d'entrée Les fonctions d 41 et 42 sont les fonctions de distribution donnant les fonctions de représentation scalaire distribuée fa et fb définies selon la relation ( 1), les neurones 43, 44 et 45 sont connectés conformément au procédé selon l'invention La fonction fxj est la fonction de représentation scalaire distribuée représentant l'état du neurone 1 43 A et B sont les valeurs obtenues en sortie du réseau Lors de la phase d'apprentissage, le réseau est établi par une méthode d'auto-association, c'est à dire que les données souhaitées en sorties du réseau sont égales aux données présentes à l'entrée du réseau; dans ce cas, si a et b sont les données d'entrée, A et B les données de sortie obtenues, l'erreur quadratique e Q est donnée par la relation suivante: e Q= 1 l(A-a)2 +(B-b)2 l. Comme dans ce réseau, toute l'information doit passer par le neurone 1 43, le problème à traiter est réduit à un espace de travail de dimension 1 et cela avec un résultat satisfaisant puisque le tracé des coordonnées de sortie (A, B) obtenu représenté par la courbe Si de la figure 4 a approxime de façon satisfaisante la courbe S des coordonnées de sortie souhaitées Une autre solution qui consiste à traiter ces données avec un réseau de neurones classique et non plus connecté selon l'invention, tout en réduisant la dimension à 1, fournit une approximation représentée par la droite P. Le procédé selon l'invention peut aussi être utilisé dans le domaine de la prédiction o il améliore grandement les performances Les bons résultats obtenus par ce procédé dans le traitement des problèmes non linéaires sont principalement dus au fait que les connexions se comportent comme des fonctions adaptatives et non plus comme de simples gains adaptatifs Par exemple, la fonction de lissage h de la relation ( 1) utilisée pour définir la fonction de distribution peut être définie par la fonction gaussienne u 2 2 u h(u) e 202 et adaptée selon les problèmes à traiter en jouant sur l'écart type O a qui est en général de l'ordre de l'unité. REVENDICATIONS 1 Procédé de connexion interne pour réseaux de neurones reliant des couches de neurones successives, chaque couche recevant à ses entrées les sorties de la couche de rang directement inférieur, caractérisé en ce qu'il consiste à représenter les états de sortie des neurones par une fonction et à obtenir cette fonction suivant une première étape ( 21) en effectuant une sommation pondérée de fonctions représentant chacune l'Etat de sortie d'un neurone de la couche précédente, suivant une deuxième étape ( 22) en appliquant une fonction saturante au résultat de la sommation et suivant une troisième étape ( 23) en appliquant une fonction de distribution au résultat de la fonction saturante. 2 Procédé selon la revendication 1 caractérisé en ce que la fonction de distribution ( 23) transforme chaque nombre réel x obtenu à la fin de la deuxième étape ( 22) en une fonction qui est le produit de convolution d'une fonction de filtre de lissage par l'impulsion de Dirac centrée sur ledit nombre réel x. 3 Procédé selon la revendication 2 caractérisé en ce que la fonction de filtre de lissage a une allure gaussienne ( 31). 4 Procédé selon la revendication 1 caractérisé en ce que les poids de la sommation pondérée ( 21) sont représentés par une fonction échantillonnée. Procédé selon les revendications 1 et 4 caractérisé en ce que les poids échantillonnés de la fonction de sommation sont nuls en dehors d'un intervalle encadrant les valeurs asymptotiques de la fonction saturante. 6 Procédé selon les revendications 1 et 5 caractérisé en ce que la fonction saturante est une tangente hyperbolique. 7 Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que la fonction représentant l'état de sortie d'un neurone est échantillonnée. 8 Procédé selon l'une quelconque des revendications précédentes 1 o caractérisé en ce que les connexions des réseaux de neurones sont établis lors d'une phase d'apprentissage selon un algorithme de gradient.