FR 2679055 A1 19930115 FR 9106278 A 19910524 "PROCEDE D'APPRENTISSAGE D'UN RESEAU DE NEURONES" La présente invention concerne un procédé d'apprentissage d'un réseau de neurones Cette invention est utilisable dans de nombreux domaines, et notamment dans celui de la segmentation d'images. Depuis quelques années, un nombre croissant de recherches approfondies ont été engagées dans le domaine du traitement de l'information à l'aide de réseaux de neurones. A l'inverse des ordinateurs qui fonctionnent de manière séquentielle et synchrone, un réseau de neurones, dans le cadre d'une interprétation neurobiologique, est censé fonctionner un peu à l'image du cerveau humain, avec un stockage des informations qui n'est plus limité à des mémoires spécifiques localisées mais qui au contraire se trouve réparti à travers le réseau Les avantages des structures à base de réseaux de neurones sont alors essentiellement le traitement parallèle et asynchrone, la capacité d'apprentissage, une faible sensibilité au bruit, et une forte résistance aux pannes (du fait de la répartition des éléments porteurs de l'information). Un neurone, cellule élémentaire du réseau, est dans sa version la plus simple, un automate à seuil (donc non linéaire) délivrant un signal de sortie Y (ou activation, ou potentiel de sortie), dont l'amplitude dépend du résultat de la comparaison entre un seuil donné t et une somme de signaux qui parviennent au neurone en provenance d'une série d'éléments placés en amont Ces signaux sont eux-mêmes formés à partir de signaux d'entrée xi, x 2,, x N pondérés par des coefficients respectifs wl, W 2,, w N dits coefficients synoptiques. Parmi les types de réseaux de neurones les plus répandus, on distingue notamment les réseaux en couches, dans lesquels les neurones sont regroupés en couches successives o chaque neurone est connecté à tous les neurones de la couche suivante, l'information passant de la couche d'entrée aux éventuelles couches suivantes (couches alors dites cachées) jusqu'à la couche de sortie De tels réseaux s'avèrent particulièrement adaptés à la résolution de problèmes de classification Compte tenu d'un vecteur d'entrée déterminé X, on montre en effet que les activations de sortie d'un réseau multi-couches fournissent des valeurs de probabilité a posteriori, notées P(C/X), d'appartenance à différentes classes possibles, selon ce vecteur d'entrée. Pour effectuer un traitement donné, un réseau de neurones doit cependant, au préalable, apprendre à l'effectuer, au cours d'une étape appelée apprentissage: dans un premier temps, comme le réseau de neurones, dont les caractéristiques ne sont pas encore adaptées à la tâche prévue, va délivrer des résultats erronés, on détermine une erreur sur les résultats obtenus, puis, à partir d'un critère de correction, on modifie les coefficients synaptiques W pour permettre au réseau de neurones de s'adapter progressivement aux informations d'entrée qui lui sont soumises Cette étape de correction est réitérée sur le nombre d'exemples (ou vecteurs d'entrée) considéré comme nécessaire pour un apprentissage satisfaisant du réseau. Cette phase d'apprentissage, préalable à celle de fonctionnement normal du réseau, est dite supervisée lorsque l'erreur est évaluée par comparaison entre les résultats obtenus et ceux que l'on aurait dû obtenir, qui sont dans ce cas connus à l'avance Dans la suite de la description, l'apprentissage dont il est question est dit au contraire non supervisé, les résultats à obtenir n'étant pas connus à l'avance soit parce qu'une telle connaissance préalable n'est pas possible, soit parce que le coût pour y parvenir est trop élevé Un apprentissage non supervisé implique donc que l'attribution d'une classe à chacun des vecteurs ou prototypes d'apprentissage doit se faire automatiquement, sans intervention humaine De nombreux documents ont décrit le principe de base de l'apprentissage non supervisé, par exemple les communications R Learning to recognize patterns without a teacher", IEEE-IT-13, n'1, janvier 1967, pp 57-64, ou "Optimal unsupervised learning multicategory dépendant hypothèses pattern recognition", IEEE-IT-14, N 03, mai 1968, pp 468-470. La phase de fonctionnement après apprentissage est alors une phase de classification, au cours de laquelle il s'agit essentiellement d'opérer la partition d'un ensemble de vecteurs d'entrée X en différentes classes j = 1, 2, 3,, K-1, K, le réseau de neurones devant à cet effet apprendre à délivrer pour chaque vecteur d'entrée (ou prototype) une activation qui, pour chaque neurone j, est l'estimation de la probabilité que ce prototype appartienne à une classe déterminée j. Un procédé d'apprentissage connu, dit des centres mobiles et particulièrement utilisé, est décrit notamment dans les articles "Cluster méthodologies in exploratory data analysis", de R Dubes et A K Jain, paru dans "Advances in Computing", vol 19 ( 1980), pages 113-228, et 'Discriminant analysis and clustering", paru dans "Statistical Science", vol 4 ( 1989), pages 34-69 Un tel procédé consiste à séparer progressivement l'espace des vecteurs d'entrée en plusieurs zones selon la proximité de ce vecteur par rapport à différents points autour desquels se forment progressivement- les nuages de vecteurs correspondant aux différentes classes. Le but de l'invention est de proposer un procédé d'apprentissage reposant non plus sur la formation de ces nuages autour de points qui en sont en quelque sorte les centres de gravité, mais sur la recherche des frontières entre ces nuages, c'est-à-dire de zones vides ou pratiquement vides de ces vecteurs d'entrée. A cet effet, l'invention concerne un procédé d'apprentissage, caractérisé en ce que, pour chacun desdits vecteurs, on évalue les activations de sortie Yi(p) du réseau, puis l'on décide d'entreprendre soit une étape d'adaptation du réseau par modification des poids et des seuils associés à chaque neurone pour rapprocher lesdites activations de valeurs idéales préalablement déterminées, soit une étape de désactivation par augmentation desdits seuils. La communication "A neural unsupervised learning technique", faite par A F Atiya, Department of Electrical Engineering, California Institute of Technology, Pasadena, Ca 91125 USA, lors du premier symposium organisé par la revue The officiai journal of the International Neural Network Society" à Boston, 6-10 septembre 1988, décrit un procédé d'apprentissage non supervisé conduisant, comme dans le cas de l'invention, à la détermination de régions de l'espace dans lesquelles les vecteurs d'entrée, ou prototypes, ont une densité aussi faible que possible, mais par des étapes d'adaptation du réseau de neurones qui diffèrent de celles du procédé ici décrit En effet, dans le procédé selon ce document, la partition de l'espace des vecteurs d'entrée est réalisée en suivant un processus qui fait appel à un arbre binaire: à chaque étape de l'apprentissage, il y a séparation d'une partie de l'espace d'origine des vecteurs d'entrée en deux classes On ne s'occupe donc, à chaque étape, que d'une petite partie du problème de partition Cet inconvénient, conjugué à celui du fait que l'approche n'est pas stochastique, entraîne une probabilité non négligeable d'aboutir à une partition finale de l'espace des vecteurs d'entrée qui n'est pas optimale. Les particularités du procédé selon l'invention seront maintenant précisées de façon plus détaillée dans la description ci-après, donnée à titre d'exemple non limitatif dans le cas du type d'application cité plus haut. La segmentation d'image consiste, on le sait, à tenter d'extraire d'une image des régions d'intérêt majeur. Par exemple, dans le cas d'images en provenance de satellites, les régions correspondent à différents types de terrains tels que zones urbaines, régions boisées, terres agricoles, réseau hydrographique, etc (en général, pour réduire de façon significative la dimensionnalité du problème à résoudre et concentrer l'information en un petit nombre de paramètres, certaines caractéristiques de texture connues pour leur pouvoir discriminatoire en matière de classification sont extraites localement avant d'être fournies au réseau de neurones) La couche d'entrée du réseau comprend alors un nombre d'entrées individuelles correspondant exactement au nombre de caractéristiques sélectionnées, tandis que le nombre de neurones en sortie du réseau est égal au nombre de types de texture dans l'image Ainsi, après la phase d'apprentissage, le réseau de neurones est capable d'opérer la classification de zones d'image suivant l'une des classes de texture sur lesquelles il a été entraîné, cette classe correspondant à celui des neurones de sortie dont l'activité est la plus élevée, c'est-à-dire qui donne la réponse la plus significative pour chacune des valeurs d'entrée. Pour la mise en oeuvre du procédé d'apprentissage, on dispose d'une base d'apprentissage constituée d'un ensemble de P vecteurs constitués chacun de N caractéristiques d'un prototype d'objet, ces P vecteurs de dimension N et de classe inconnue devant être classés en un nombre de classes inférieur ou égal à un nombre maximal de classes K fixé au départ On suppose d'autre part que l'on dispose d'un réseau de neurones à N+ 1 entrées et à K sorties (il y a donc N+ 1 entrées individuelles dans la première couche du réseau, et K neurones dans sa dernière couche). La fonction non linéaire attachée à chaque neurone est, dans le cas présent, de la forme arctan, et la sortie d'un neurone de sortie (quelconque) est donc donnée par la formule suivante: Yi= arctan (i) Xsi 2 Ti dans laquelle + X est le vecteur représentant le motif d'entrée, Wi est le vecteur-poids associé au neurone de sortie de rang i, Si est un seuil associé, et Ti est un coefficient de sensibilité du neurone concerné aux entrées, encore appelé température (par analogie avec certaines expériences thermodynamiques les recuits au cours desquelles les températures servent de paramètres de contrôle, les fortes températures permettant le nivellement des différentes sorties Yi, et l'abaissement de ces températures permettant au contraire de retrouver davantage de sensibilité). Avant présentation au réseau de neurones, chacun des vecteurs d'entrée ou prototypes, dont l'expression peut être écrite (t indiquant la transposition matricielle) -+ t X(p) = {x 1, x 2, , x N} subit les deux transformations suivantes D'une part, chacune des dimensions xl, x 2,, x N desdits vecteurs-prototypes est ramenée à une échelle unité -ou normalisée par une simple transformation affine, de façon par exemple que sa moyenne soit nulle et sa variance égale à l'unité D'autre part, chaque vecteur-prototype X(p) de dimension N est transformé en un vecteur de dimension (N+ 1) en lui ajoutant une dimension supplémentaire sous la forme d'une composante fixe h (de valeur égale à ou de l'ordre de l'unité si la normalisation a été effectuée selon l'exemple précédent) Cette opération conduit à ce que l'on présente désormais au réseau de neurones les grandeurs suivantes: - (a) aux N premières entrées du réseau, les N premières composantes du vecteur-prototype noté Xp 4 +2 2 vi Xpll + h (b) à la (N+ 1)ième entrée du réseau, la (N+ 1)ième composante, notée: h 2 2 Yl I Xpl + h la grandeur t lI Xp 112 + h 2 présente au dénominateur de ces deux expressions étant la norme globale du vecteur de dimension (N+ 1) ci-dessus créé (cette opération est équivalente à une projection de tous les points de l'hyperplan des vecteurs prototypes d'entrée sur une hypersphère). Enfin, les poids (ou coefficients synaptiques) et les seuils du réseau de neurones sont initialisés au hasard, les normes des vecteurs synoptiques de chacun des neurones sont fixées à 1, en calculant la valeur courante du vecteur synaptique (ou vecteur "poids") W de chaque neurone de sortie et en divisant ce vecteur 'poids" et le vecteur 'seuil' de ce neurone par la norme II Wili, et les températures sont initialisées à des valeurs voisines de 1 Après ces opérations, le réseau est prêt pour la phase d'apprentissage. Cette phase est réalisée de la façon suivante, en passant en revue tous les vecteurs-prototypes de la base d'apprentissage pour déterminer la classe de chacun d'eux, selon un professeur stochastique comme on va le voir (c'est-à-dire en faisant appel à un processus aléatoire). Tout d'abord, pour l'un quelconque p des vecteurs-prototypes de ladite base (ayant subi comme on l'a décrit les opérations de passage à la dimension N+ 1 et de fixation de norme), et en utilisant un générateur de nombres aléatoires, on tire au hasard une classe k(p) que l'on associe au vecteur-prototype de rang p, avec une probabilité P(k(p) = i) d'attribuer à k(p) une des valeurs possibles i, ladite probabilité étant définie selon l'expression suivante: 1 +Yi P(k(p) = i) = K K + Yj avec i et j variant de 1 à K, et d'autre part on définit des sorties dites idéales et notées d Y = + 11 si i = k(p) i d Y = -1, si i k(p Pour chaque itération d'apprentissage, c'est-à-dire pour chaque vecteur-prototype p devenant successivement le vecteur- prototype courant, on évalue alors en fonction des (N+ 1) entrées présentées au réseau les activations de sorties, notées Yi(p) de ce réseau, pour i = 1, 2,, K (K = nombre maximal de classes), et l'on décide pour ledit vecteur-prototype courant d'entreprendre l'une des deux actions suivantes: (a) soit une étape d'adaptation, par modification des poids et des seuils associés à chaque neurone, de manière à rapprocher les activations Yi(p) réellement obtenues des valeurs idéales Y définies ci-dessus, le taux d'apprentissage étant inversement proportionnel au nombre de vecteurs- prototypes attribué à chaque classe; (b) soit une étape de désactivation par augmentation desdits seuils, de manière à rapprocher toutes les activations Yi(p) de la valeur minimale -1. Ces opérations d'adaptation ou de désactivation s'effectuent de préférence sans variations trop importantes des coefficients synaptiques Pour cela, on décide que lesdites opérations s'effectuent tout en gardant quasiment constante la norme (somme des carrés) desdits coefficients pour un neurone de sortie déterminé. Ladite décision d'adaptation est prise lorsque le signe de Yi(p) est différent, pour au moins une des sorties d i = 1 à K, de celui de la sortie idéale Y correspondante, ou bien par simple tirage au hasard lorsqu'au contraire ce signe de Yi(p) est le même que celui de la sortie idéale Y. correspondante, et la décision de désactivation est prise à la suite dudit tirage au hasard (dans l'exemple ici décrit, la probabilité de la décision de désactivation est une valeur fixe P(anti) prise dans tout l'intervalle O 1). Après autant d'étapes d'adaptation ou de désactivation que de vecteursprototypes dans la base d'apprentissage, on réduit ensuite les températures Ti des neurones, par exemple en les multipliant par un même facteur voisin de l'unité, en vue d'une nouvelle époque d'apprentissage comprenant à nouveau autant d'étapes que de vecteurs- prototypes dans ladite base La succession de telles époques d'apprentissage prend fin lors de la réalisation d'un événement déterminé, tel que, par exemple, le dépassement d'une valeur maximale du nombre d'époques d'apprentissage ou le passage de la température d'un des neurones au-dessous d'un seuil. Bien entendu, les sorties Yi(p) du réseau de neurones pour les différents vecteurs-prototypes définissent un nouvel ensemble de P vecteurs-prototypes de dimension K, et cet ensemble peut constituer les vecteurs d'entrée d'une nouvelle base d'apprentissage, pour une nouvelle mise en oeuvre du procédé d'apprentissage décrit précédemment, en vue du regroupement des vecteurs-prototypes initiaux en un nombre de classes L inférieur à K. REVENDICATIONS 1 Procédé d'apprentissage d'un réseau de neurones à (N+ 1) entrées et K sorties, à l'aide d'une base d'apprentissage constituée d'un ensemble de P vecteurs constitués chacun de N caractéristiques d'un certain type d'objet, lesdits vecteurs de dimension N devant être classés en un nombre de classes inférieur ou égal au nombre maximal de classes K, caractérisé en ce que, pour chacun desdits vecteurs, on évalue les activations de sortie Yi(p) du réseau, puis l'on décide d'entreprendre soit une étape d'adaptation du réseau par modification des poids et des seuils associés à chaque neurone pour rapprocher lesdites activations de valeurs idéales préalablement déterminées, soit une étape de désactivation par augmentation desdits seuils. 2 Procédé selon la revendication 1, caractérisé en ce que, pour chaque vecteur, lesdites valeurs idéales sont définies par y =+ 1 si i =k(p) i yid = 1 si i tk(p) r k(p) étant une classe tirée au hasard, et ce tirage étant établi selon les probabilités P(k(p) = i) d'attribuer à k(p) chacune des valeurs possibles i de 1 à K. 3 Procédé selon la revendication 2, caractérisé en ce que lesdites probabilités sont définies selon l'expression 1 + Y. P(k(p) = i) = l k K + Yi i 1 avec i et j variant de 1 à K. 4 Procédé selon l'une des revendications 2 et 3, caractérisé en ce que la somme des carrés des coefficients synaptiques composant le vecteur poids associé à chaque neurone de sortie reste quasiment constante durant chacune étape d'apprentissage dudit procédé. Procédé selon la revendication 4, caractérisé en ce que lesdites étapes d'évaluation d'activations puis de décision d'adaptation ou de désactivation sont précédées d'une étape de transformation du vecteur de dimension N en un vecteur de dimension (N+ 1), à l'aide d'une composante fixe h, et d'une étape de fixation de norme, par division des vecteurs poids et seuil associé à chaque neurone de sortie par la norme dudit vecteur poids. 6 Procédé selon la revendication 5, caractérisé en ce que la décision d'adaptation est prise lorsque le signe de l'activation Yi(p), pour le vecteur considéré, est différent, pour au moins une des sorties i = 1 à K, de celui de la sortie idéale Y correspondante, ou bien, dans le cas o ce signe est le même, en fonction du résultat binaire d'un tirage au hasard, et en ce que la décision de désactivation est, elle, prise dans le cas o ledit signe est le même et o le résultat dudit tirage au hasard est le tirage complémentaire du précédent. 7 Procédé selon la revendication 6, caractérisé en ce que le taux d'apprentissage est inversement proportionnel au nombre de vecteurs attribué à chaque classe. 8 Procédé selon l'une des revendications 6 et 7, caractérisé en ce que les sorties Yi(p) du réseau définissent un nouvel ensemble de vecteurs de dimension K apte à constituer les vecteurs d'entrée d'une nouvelle base d'apprentissage.