LES RÉSEAUX NEURONAUX: LES RÉSEAUX DE KOHONEN


Réseau de Kohonen
Carte topologique de Kohonen

















































Réseau de Kohonen


       Définition

       Recherche de régularités

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

       Utilisation

       Apprentissage

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.