MC chapitre 5 SOM

publicité
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
Téléchargement