Réseaux de neurones formels
Christian Jutten
Lab. des Images et des Signaux (LIS)
UMR 5083 Centre National de la Recherche Scientifique, Institut National Polytechnique de Grenoble,
Contenu
• I. Introduction
• II. Quelques flashs de neurobiologie
• III. Modèles mathématiques
• IV. Coopération et compétition
• V. Mémoires associatives linéaires
• VI. Perceptrons multi-couches
• VII. Modèles de Hopfield
• VIII. Cartes auto-organisatrices de Kohonen
• IX. Séparation de sources
• X. Présentation du BE et des mini-projets
Chapitre 8
Cartes auto-organisatrices
de Kohonen
Cartes de Kohonen
• Principes des cartes auto-organisatrices
• Quantification Vectorielle et préservation de la topologie
• Algorithmes Batch et adaptatif
• Architectures du réseaux et algorithmes,
• Propriétés et applications,
• Problèmes et limitations,
• Analyse en composantes curvilinéaires
Cartes auto-organisatrices : principes
• Principes: Modelisation des relations entre rétine et cortex visuel
• Objectifs
Cartes auto-organisatrices : quantification vectorielle
• Quantification scalaire : opération d ’arrondi classique
• Quantification vectorielle (VQ) : extension pour données vectorielles x
• Définition VQ : codage i.e. partitionner E en Q régions
N x
x f R
x∈ → ( ) = int( )∈
Q i
f R
E ⊂ n → ( ) = ˆi, =1,K,
∈ x x
x
E
xˆi xˆiAlgorithme batch de quantification vectorielle
Dynamic clustering (Diday, 1976 ; LBG, Linde, Buzo, Gray, 1980) 1. Choisir le nbr Q de mots-codes ; placer au hasard ds espace données ; j = 1 2. Partager l’espace des données en régions
3. Déplacer les mots-codes selon la relation 4. Si j < Q , alors j = j + 1 et aller en 2, sinon stop.
Q k
c x d c
x d
x j
k j
k / ( , ) min ( , ) , = 1,K,
=
= ℜ
ck
∑
ℜ
ℜ ∈
=
k
xi
i k
k x
c Card1
+ + + +
+ + +
+ + +
+ +
+ + +
+ + +
+ +
+ + +
+ + +
+ +
+ + + + + +
+ +
+ + +
+
Algorithme adaptatif de quantification vectorielle
• Choisir le nbe Q mots-codes ; placer au hasard ds espace données ; j = 1
• Choisir un point au hasard
• Chercher le code le plus proche:
• Déplacer le code selon :
• Si le test d’arrêt n’est pas vrai, aller en 2, sinon stop.
+ + + + + +
+ + + + + + +
xi
ck c d x c d xi cj k Q
k j i
k / ( , ) = min ( , ), =1,K,
) ( i k
k
k c x c
c = +
µ
− ck+ + + + + +
+ + + + + + +
+ + + + + +
+ + + + + + +
+ + + + + +
+ + + + + + +
+ + + + + +
+ + +
+ + + +
Cartes de Kohonen: quantifcation
vectorielle avec préservation de la topologie
Cartes auto-organisatrices : architecture du réseau
• Réseau de neurones
• « Topologie » du réseau 1-D, 2-D, etc. ; voisinages
3 1 2
entrées
sorties
Q
Q neurones (quantifiers)
(
d(w ,x))
K
yi = i
Neurone: Modèle 2
p,1 1,1
1,2
entrées
sorties Réseau 2-D Réseau 1-D
SOM / VQ
Réseau neurones SOM
• nombre de neurones Q
• dim. espace d’entrée: n
• poids neurone w
• organisation du réseau – 1-D,
– 2-D, ou plus
permet de définir le voisinage
VQ
• nombre de mots-codes Q
• dim. Espace d’entrée : n
• valeur des mots-codes xˆ
• pas d’organisation dans l ’étiquetage des mots-codes
i ∈Rn i ∈ Rn
Cartes auto-organisatrices de Kohonen
• Chose the neuron number Q ; locate randomly on the data space ; define the network organization
• Chose randomly a point
• Find the closest neuron:
• Move the winner and its neighboors:
• If the stopping test is not true, go to 2, else stop.
xi
ck c d x c d xi cj k K
k j i
k / ( , ) = min ( , ), =1,K,
ck
) ( ),
( i j j k
j
j c x c c Vois c
c = + µ − ∈
+ + + + + +
+ + + + + + +
+ + + + + +
+ + + + + + +
+ + + + + +
+ + + + + + +
+ + + + + +
+ + + + + + +
+ + + + + +
+ + +
+ + + +
Self-Organizing Maps (3)
• « Winner »
For the input x, the « winner » is the neuron whose the weight vector is the closest of x, i.e.
• Algorithm
– Choose Q, the architecture ; initialize the weight vectors – do
• select randomly an input data x
• compute the « winner »
• update the weight of the winner and the neighbour neurons
– untill convergence
(
( , ))
0 Arg mini d x wi
i =
( ( , ))
0 Argmini d x wi
i =
) ) ( ( ) ( )
1
(t w t w t x
w + = + µ −
Kohonen’s SOM: practical issues
• For VQ convergence
– Stepsize must be time decreasing in 1/t
• For self-organisation
– Initial Neighborhood must concern 60% of the network. For instance, for a 1-D SOM with 100 neurons, Neigh0 = 30
– Neighborhood must be time decreasing in 1/t t
t Kmu
= + ) 1
( µ0
µ
t Kneigh t
Neigh Neigh
= + ) 1
( 0
SOM properties:meshing
SOM properties: meshing
• 2-D data by 1-D network
• Topology preservation is not perfect !
SOM properties: meshing
• 2-D data by 2-D network: problem if
network shape is not suited to data shape
SOM properties: meshing
• 2-D data by 2-D network:
problem if network shape is not suited to data shape
• Topology is not preserved
• Dead units may appear
SOM Applications: color image compression
• Color image pixel = 3-D vector (R, G, B)
• Basically 1 color pixel = 24 bits
• Number of possible colors: NC = 224 !
• Compression
– Find the best reduced set of colors (say Q) with respect to a distortion criterion (coding error)
– Replace each pixel (24 bits) by the number of the codewords (log2Q bits) – Compression rate:
• For instance, if Q =16, the compression rate is
2 Q log
= 24 ρ
16 6 log
24
2
= ρ =
SOM Applications: travel salesman problem
• The problem consists in looking for the shortest tour which goes through N towns, once and only once.
• Using a closed 1-D Kohonen’s SOM, with the algorithm – random selection of a town
– move the winner and its neighbours according to – Topology preservation implies: close neurons code close towns
+
+ +
+ + + +
+
*
* *
*
* *
*
+
+ +
+ + + +
+
*
* **
* *
* xi
i0 k ∈ Neigh(i0) ) ( ),
( i k k Neigh i0
k
k = w + x − w ∀ ∈
w µ
SOM Applications: complex data representation
• Large dimension data can be represented using SOM in 2-D (3-D or more) maps for pointing out similarities
• Social and economical data x of countries (6 features for each country). The idea is to represent close data by close neurons, i.e.
similar countries by close neurons in the SOM
• Using a 2-D Kohonen’s SOM, with the algorithm – random selection of a country data x
– move the winner and its neighbours according toi0 k Neigh(i0)
• Due to the topology preservation, after learning, each neuron is
i ∈
) ( ),
( i k k Neigh i0
k
k = w + x − w ∀ ∈
w µ