Chapitre 5 Carte auto-organisatrice Introduction Il a été observé que, dans de nombreuses zones du cortex, des colonnes voisines ont tendance à réagir à des entrées similaires. Dans les aires visuelles, par exemple, deux colonnes proches sont en correspondance avec deux cellules proches de la rétine. Des observations identiques on pu être faites dans le bulbe olfactif, ou l'appareil auditif. Ces observations ont mené Kohonen à proposer un modèle de carte topologique auto-adaptative qui permet de coder des motifs présentés en entrée tout en conservant la topologie de l'espace d'entrée. Même si les cartes auto-organisatrices sont depuis longtemps connues (1977), mais ce n'est que récemment (1990) que des applications les utilisent : carte phonétique, diagnostic de pannes, compression d'images, robotique, etc. Ces cartes s'organisent par rapport aux exemples d'entrée présentés en respectant les contraintes topologiques de l'espace d'entrée. Il y a mise en correspondance de l'espace d'entrée avec l'espace du réseau. Les zones voisines de l'espace d'entrée sont voisines sur la carte auto-organisatrice. 1. Structure Ce modèle appartient à la classe des réseaux à compétition. Les neurones de la couche de sortie entrent en compétition, de telle façon qu'habituellement, un seul neurone de sortie est activé pour une entrée donnée. Cette compétition entre les neurones est réalisée grâce à des connexions latérales inhibitrices. Le réseau est organisé généralement en une couche à deux dimensions. Chaque neurone Nk est connecté à un nombre n d'entrées au travers de n connexions plastiques de poids respectifs w. Il existe aussi des connexions latérales de poids fixes, excitatrices dans un proche voisinage. Chaque neurone est connecté à ses 4 plus proches voisins. Ces connexions sont de poids fixes. Tous les neurones sont connectés aux entrées par des connexions plastiques. Cependant, La forme de ce voisinage local pouvant être varié : carré, rectangulaire, hexagonale, circulaire, etc. 1 Chapitre 5 Carte auto-organisatrice 2. Fonctionnement Le principe revient à trouver une projection entre deux espaces : - l'espace des données (grande dimension) l'espace des représentations (dimension réduite) Ainsi, la projection doit conserver la topologie des données. A la présentation d'une entrée, un neurone sur la carte est sélectionné. Il correspond le plus possible à cette entrée (minimisation d'une distance). On peut ainsi réaliser des classifications ou de la reconnaissance de formes. Le modèle de réseau neuronal proposé par Kohonen montre des propriétés d'auto-organisation et de représentation topologique de l'espace d'entrée (espace afférent). 3. Notion de voisinage Tout comme dans le cortex, les neurones sont reliés les uns aux autres, c'est la topologie de la carte. La forme de la carte définie les voisinages des neurones et donc les liaisons entre neurones. La fonction de voisinage décrit comment les neurones dans la proximité du vainqueur s sont entraînés dans le mouvement de correction. On utilise en général : Où σ s'appelle coefficient de voisinage. Son rôle est de déterminer un rayon de voisinage autour du neurone vainqueur. La fonction de voisinage h force les neurones qui se trouvent dans le voisinage de s à rapprocher leurs vecteurs référents du vecteur d'entrée v. Moins un neurone est proche du vainqueur dans la grille, moins son déplacement est important. 2 Chapitre 5 Carte auto-organisatrice La correction de vecteurs référents est pondérée par les distances dans la grille. Cela fait apparaître, dans l'espace d'entrée, les relations d'ordre dans la grille. Pendant l'apprentissage la carte décrite par les vecteurs référents du réseau évolue d'un état aléatoire vers un état de stabilité dans lequel elle décrit la topologie de l'espace d'entrée tout en respectant les relations d'ordre dans la grille. 4. Procédure d’apprentissage La loi de modification des poids des connexions (poids synaptiques) est dérivée de celle de Hebb. 1) Présenter un vecteur d’entrée associé à un stimulus à la grille. 2) Trouver le nœud gagnant (ou winner) : C’est l’unité dont le vecteur associé est le plus similaire au vecteur d’entrée. 3) Modifier les poids Wi du nœud gagnant, ainsi que ceux de son entourage, de manière à ce que les vecteurs associés (les vecteurs de poids) «se rapprochent d’avantage» du vecteur d’entrée présenté à la grille. La règle de modification est la suivante : wi(t+1) = wi(t) + h(r,t)(xi – wi(t)) si i∈ voisinage wi(t+1) = wi(t) si i∉ voisinage avec h(r,t) = α(t).v(t) (α (t) :Le taux d’apprentissage, v(t) :La fonction de voisinage) 4) Faire décroître la taille de la zone de voisinage des nœuds gagnants (la zone qui contient les neurones subissant la transformation). 5) Faire décroître le coefficient d’apprentissage, α(t), qui contrôle l’importance des modifications appliquées aux vecteurs de poids. 6) Arrêter l’apprentissage si le coefficient d’apprentissage est nul, sinon, présenter un autre stimulus à la grille. La modification des vecteurs associés aux unités se fait de manière différente selon la position des nœuds par rapport à l’unité gagnante. Le nœud gagnant sera celui dont le vecteur subira le plus de modifications, tandis que les unités plus éloignées seront moins affectées. La fonction de voisinage v(r) va être maximale pour r=0 et décroître quand r croît (quand on s’éloigne du nœud gagnant). Une fonction couramment employée est la courbe gaussienne. Example: Dans le cas où les exemples d'entrées sont des vecteurs à deux composantes, l'algorithme d'apprentissage est le suivant : 1/ Initialisation de la topologie et des poids à des valeurs aléatoires. 2/ Présentation d'une entrée El = (x1, x2). 3/ Calcul de la distance de chacun des neurones par rapport à e1 et e2 3 Chapitre 5 Carte auto-organisatrice dj = |wj1 - x1| + |wj2 - x2| 4/ Sélection du neurone le plus proche : Min(d)= di 5) Modification des poids pour le neurone choisi (i) et ses 4 plus proches voisins (k). μ et ß sont deux paramètres correspondant au pas de modification des poids. μ pour le neurone choisi et ß pour ceux du voisinnage. wi1 = wi1 + μ. (x 1 - wi1) wi2 = wi2 + μ. (x 2 - wi2) wk1 = wk1 + ß. (x1 - wk1) wk2 = wk2 + ß. (x2 - wk2) 6) Tant que les performances sont insuffisantes : Retour à l'étape 2 et sélection de l'exemple suivant dans la base d'apprentissage. Remarque : Un voisinage est défini autour de chaque colonne corticale. Son action est à la fois excitatrice dans un proche voisinage et inhibitrice dans un voisinage plus lointain 4