LES RÉSEAUX NEURONAUX: LES RÉSEAUX DE KOHONEN
Réseau de Kohonen
Définition
Kohonen [KOHONEN 84] proposa une méthode d´apprentissage non
supervisée consistant, pour un réseau, à détecter des régularités
dans des configurations présentées en entrées
et à les classifier.
Il s´agit d´un apprentissage compétitif
dans lequel aucun professeur n´est nécessaire, le réseau
devant découvrir tout seul des régularités dans les entrées.
Un réseau de Kohonen est constitué d´une couche
d´entrée de N neurones connectés aux M neurones d´une couche de sortie
elle-même interconnectée.
Soit WjT = {wi,j}
le vecteur des poids des N connexions reliant la couche d´entrée
au neurone j de la couche de sortie. Soit X un vecteur d´entrées de N
composantes.

Recherche de régularités
Le procédé de recherche
de regularités se déroule en deux temps [FAURE 98]:
1) Dans un premier temps, on recherche le neurone de réponse maximale:
1-1) Des poids de faibles valeurs sont affectés aléatoirement aux
N * M connexions {i,j}.
1-2) Appliquer le vecteur X en entrée.
1-3) Calculer les distances Dj(t) de chaque neurone j
de sortie au vecteur d´entrée X. Si on choisit la distance
euclidienne, l´activation du neurone j est donnée par:

1-4) Sélectionner le neurone le plus proche, si m est ce neurone,
il vérifie, si Wj est le vecteur poids qui lui est associé:
||X - Wm|| = minj(||X - Wj||)
L´activation (sortie) d´un neurone de sortie j est alors:
yj = 1 si ||x(t) - w(t)j|| = min(||x(t) - wk(t)||)
yj = 0 sinon
2) Dans un deuxième temps, on construit une organisation autour
du neurone de réponse maximale trouvée dans la première phase:
Corriger localement les poids de façon à les adapter
au vecteur d´entrée X.
Soit Vm un voisinage, dans la couche de sortie,
du neurone m (au sens de la distance définie plus haut). Le
vecteur wm des poids du neurone m est pris comme centre
de l´ensemble des vecteurs poids des neurones du voisinage Vm.
Les poids corrigés sont alors:
wj(t) = wj(t-1) + n*(t-1) . [X(t-1) - wj(t-1)] si j appartient a Vm
wj = wj(t) sinon
Lorsque le temps t varie, le voisinage Vm converge vers
un minima. Par exemple, si la topologie du réseau est une grille
plane régulière orthogonale, Vm
est un carré (voir ci-dessous).
Carte topologique de Kohonen
Définition
Soit un réseau de Kohonen, soit E sa couche d´entrée et S sa
couche de sortie. Définissons une distance d
(par exemple la distance euclidienne) et une topologie T (par
exemple une grille régulière orthogonale) sur S. Un
voisinage Vm d´un neurone m de S est l´ensemble
des neurones k de S dont la distance à m est bornée:
Vm = {k appartenant a S tels que d(m,k) < d0}
(S, d, T) s´appelle carte topologique de Kohonen [JODOUIN 94].
Le réseau fonctionne en mode dynamique lorsque des neurones sont
créés ou détruits selon leur éloignement ou leur densité dans la carte.
L´apprentissage consiste en une compétition des neurones de
la couche de sortie qui élisent un neurone vainqueur, puis un
processus de concurrence entre neurones élus affine la recherche.
Utilisation
1) On donne une configuration d´entrée X.
2) On calcule la position du neurone vainqueur, qui est celui dont
les liens ressemblent le plus à X.
La réponse du réseau n´est pas une configuration comme pour les
apprentissages supervisés dans les
réseaux multicouches,
mais plutôt l´adresse d´un neurone de sortie
qui se trouve ainsi associé à une entrée.
Apprentissage
On modifie les poids d´un voisinage Vm du neurone
vainqueur de façon à minimiser leurs différences avec ceux
de la configuration d´entrée:
dwi = n(c,i,t) * (X - Wi)
n(c,i,t) définit l´importance de la correction à apporter aux
poids des neurones de Vm. Cette importance devrait
décroitre en fonction de la distance au neurone m, mais
Kohonen remarque qu´une correction uniforme donne d´assez bons
résultats.
Cet apprentissage est répété itérativement sur tout un
ensemble de configurations d´entrées.
Il se déroule en trois temps:
1) On commence par donner une forme grossière au réseau
en appliquant des corrections importantes sur de grands voisinages.
2) Puis on recommence l´apprentissage avec des corrections
et des tailles décroissantes pour permettre au réseau d´affiner
les solutions trouvées en 1).
3) Enfin on entraîne chaque neurone individuellement (ce qui
revient à considerer des voisinages de taille nulle) avec de très
petites corrections ce qui permet au réseau de réaliser des
ajustements fins.