chapitre 8 les réseaux de neurones compétitifs. réseaux de neurones application en reconnaissance...
TRANSCRIPT
Chapitre 8
Les réseaux de neurones compétitifs
Réseaux de Neurones Application en Reconnaissance de Formes
d’après B. SolaimanDépt. Image & Traitement de l'Information
Ecole Nationale Supérieure des Télécommunications de Bretagne
Les réseaux de neurones compétitifs
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 3
Plan
1. Introduction, définition
2. Réseaux compétitifs
- Règles et réseaux de base- Règles de Oja et Sanger
3. Réseaux de quantification vectorielle
4. Cartes topologiques de Kohonen
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 4
Découverte
T. Kohonen, Self-Organizing Maps, 2e Edition, Springer, 1997. Approche pédagogique Haute teneur et formalisme mathématique
Approche vectorielle / matricielle
Modèles : SOM, famille LVQ Chapitre complet d’exemples
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 5
1 Introduction, définitionClassification des réseaux de neurones
1 En fonction du mode d’apprentissage supervisé / non supervisé
2 En fonction de la fonction réalisée Extraction primitives /Décision /Extraction-Décision
3 En fonction du champs d’action en mise à jourMise à jour globale /Mise à jour sélective
4 En fonction de l’architecture/mode de connexion, etc.
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 6
Problématique de Reconnaissance de Formes
2
Espace d'entrée
XExtraction
desprimitives
Espace des primitives
YSystème
dedécision
Espace des décisions
D
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 7
3 Développement d’une solution neuronale
3Les réseaux de neurones extracteurs de primitives/Classifieurs
Réseau d’extraction de primitives / classifieurs
Extraction des
primitives
Système de
décision
Espace d’objets
Espace des primitives (d’observations)
Espace des décisions
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 8
Laboratoire 2: Caractéristiques d’une image
Extraction des caractéristiques
Sous-image pour l ’apprentissage
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 9
Exemple récent: classification de lots de canneberges
Canneberges sèches Éclairage ambiant Fond bleu Segmentation
Élimination du fond par division
Filtre median 5x5 Seuillage sur la couleur Segmentation sur courbure
Érosion
Pré-traitement
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 10
Primitives visuellesEntrées: RVB moyen d’une cannebergeApprentissage: 100 échantillonsTest: 60 échantillons
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 11
Résultats - fruits secs
Fruits Foncés Moyens Pâles Taux(sur 20)
Foncés 19 1 0 95 %
Moyens 2 17 1 85 %
Pâles 0 0 20 100 %
Total 21(35.0 %)
18(30.0%)
21(35,0 %)
93 %
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 12
Réseau de neurones d’extraction de primitives
3 Développement d’une solution neuronale
2Les réseaux de neurones extracteurs de primitives
Système de décision
Espace d’objets
Espace des primitives
Espace des décisions
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 13
Neurones pour lesquels les poids
synaptiques seront modifiés
1 Introduction
Les réseaux de neurones compétitifs
L'ajustement des poids synaptiques, suite à la présentation d'une forme, n'est pas automatiquement réalisé pour tous les neurones constituant le réseau.
XNeurones pour
lesquels les poids synaptiques ne seront pas
modifiés
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 14
1 Introduction
Déroulement de l’apprentissage
1 Présentation d’une forme X
2 Une compétition est organisée. L’objectif est de déterminer les neurones gagnants.
3 Mise à jours sélectives des poids synaptiques des neurones gagnants.
Les réseaux compétitifsExtraction des primitives
Apprentissage supervisé ou non supervisé
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 15
Phase de compétitionElle peut être logicielle
–Une fonction est appliquée au vecteur de sortie du réseau pour identifier le ou les neurone(s) gagnant(s).
–Exemple fréquent : ym* = Max (ym)Elle peut être neuronale
–Maxnet le gagant emporte tout Un seul neurone, le plus activé, demeure actif
–Chapeau mexicain Le neurone le plus activé et son entourage demeurent actifs
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 16
A2 A3
A1 A4
1 1
1 1
Le réseau Maxnet
Fonction d’activation :
Étape 0 : Initialiser les activations et les poids
Étape 1 (tant que 4 vrai faire 2-4) :
Étape 2 : Mise à jour des activations
Étape 3 : Sauvegarder activations
Étape 4 : Si plus d’une activation 0 continuer, sinon arrêt
( ) ( )⎥⎦
⎤⎢⎣
⎡−−−= ∑
≠jkkjj )1ta)1t(afta ε
( ) m,,1j,)1t(ata jj L=−=
-
-
-
--
- ⎩⎨⎧
≠−=
=jisi
jisi1w ij ε
( ) jj Anoeudduentrée0a
( )⎩⎨⎧ >
=autremento
0xsixxf
m
10avec <<
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 17
A2 A3
A1 A4
1 1
1 1
Le réseau Maxnet : Exemple
Étape 0 : Initialiser les activations et les poids
Étape 1 (tant que 4 vrai faire 2-4) :
Étape 2 : Mise à jour des activations
Étape 3 : Sauvegarder activations
Étape 4 : Si plus d’une activation 0 continuer, sinon arrêt
( ) ( )⎥⎦
⎤⎢⎣
⎡−−−= ∑
≠jkkjj )1ta)1t(afta ε
( ) m,,1j,)1t(ata jj L=−=
-
-
-
--
- ⎩⎨⎧
≠−=
=jisi2.0
jisi1w ij
( ) jj Anoeudduentrée0a
A = [0,2 0,4 0,6 0,8]
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 18
Xi-3 Xi-2 Xi-1 Xi Xi+1 Xi+2
XI+
3
si
w0 w2w2
w1w1
w3 w3
Le chapeau mexicain :
R2
R1
wk est positif dans 0 k R1 et négatif dans R1 k R2
x est le vecteur d’activationsx_vieux est le vecteurs d’activations à t-1t_max est le nombre maximal d’itérationss est un signal externe
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 19
Le chapeau mexicain :
Xi-3 Xi-2 Xi-1 Xi
Xi+
1
Xi+
2
XI+
3
si
0.6 -0.4-0.4
0.60.6
R2
R1
C2 C1
Étape 0 : Initialiser t_max, R1, R2 et les poids C1 et C2
Étape 1 : Présenter s (x = s) et sauvegarder activations dans x_vieux (x_vieuxi = xi)
Étape 2 : Tant que t < t_max faire 3-7Étape 3 : Calculer la valeur Net
∑ ∑∑−−
−= +=++
−=+ ++=
1R
Rk
R
1Rkki2ki2
R
Rkki1i
1
2
2
1
1
1
vieux_xCvieux_xCvieux_xCx
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 20
Le chapeau mexicain :
Xi-3 Xi-2 Xi-1 Xi
Xi+
1
Xi+
2
XI+
3
si
0.6 -0.4-0.4
0.60.6
R2
R1
C2 C1
Étape 4 : Appliquer la fonction d’activation rampe de 0 à x_max
xi = min (x_max, max(0, xi)
Étape 5 : Sauvegarder les activations xi courantes dans x_vieux Étape 6 : Incrémenter le compteur d’itérations (t = t + 1)Étape 7 : Tester la condition d’arrêt
Si t < t_max continuer, autrement arrêt
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 21
Le chapeau mexicain : Exemple
Xi-3 Xi-2 Xi-1 Xi
Xi+
1
Xi+
2
XI+
3
0.6-0.4-0.4
0.60.6
Étape 1 : Présenter s (x = s) et sauvegarder activations dans x_vieux (x_vieuxi = xi)
x = ( 0.0, 0.5, 0.8, 1.0, 0.8, 0.5, 0.0)
x_vieux = ( 0.0, 0.5, 0.8, 1.0, 0.8, 0.5, 0.0)
Étape 2 : Tant que t < t_max faire 3-7
Étape 3 : Calculer la valeur Netx1 = 0.6 * (0.0) + 0.6 * (0.5) – 0.4 * (0.8) = -0.2x2 = 0.6 * (0.0) + 0.6 * (0.5) + 0.6 * (0.8) – 0.4 * (1.0) = 0.38x3 = -0.4 * (0.0) + 0.6 * (0.5) + 0.6 * (0.8) + 0.6 * (1.0) – 0.4 * (0.8) = 1.06x4 = -0.4 * (0.5) + 0.6 * (0.8) + 0.6 * (1.0) + 0.6 * (0.8) – 0.4 * (0.5) = 1.16……
x = ( 0.0 0.5 0.8 1.0 0.8 0.5 0.0)
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 22
Le chapeau mexicain : Exemple (suite)
Xi-3 Xi-2 Xi-1 Xi
Xi+
1
Xi+
2
XI+
3
0.6-0.4-0.4
0.60.6
Étape 4 : Appliquer la fonction d’activation
x = ( 0.0 0.5 0.8 1.0 0.8 0.5 0.0)
x = (0.0, 0.38, 1.06, 1.16 …… )
Continuez … (à partir de l’étape 3 précédente)
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 25
2Réseaux Compétitifs
Linéaires
m
x1 xn xN
wmn
wmNwm1
Couche d’entrée
Couche de sortie
yj=X . mT
y1 yM
Architecture : deux couches
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 26
2 Réseaux Compétitifs Linéaires
Neurone m* est le neurone gagnant ym* = yjNeurone m* est le neurone gagnant ym* = yj
€
m∈<1, M>Max
Un seul neurone gagnant
La compétition est à base de projection maximale.
Projection maximale Distance euclidienne minimale ?dist(X,Wm)=||X-Wm||2 = ||X||2 + || Wm ||2 - 2 X . Wm
T Equivalence lorsque X et Wj sont normalisés
Attention
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 27
2 Réseaux Compétitifs Linéaires
Donald HEBB : "The Organization of Behavior », 1949
Règle d’apprentissage de Hebb
Si deux neurones connectés entre eux sont activés au même moment, alors la connexion qui les relie doit être renforcée (i.e. principe de la récompense). Dans le cas contraire, la valeur de la connexion n'est pas modifiée (i.e. principe de la punition).
Zones d ’activités fonctionnelles(circuits neuronals)
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 28
2 Réseaux Compétitifs Linéaires
Implémentation mathématiques
{Xk, k = 1, 2, …, K} une base d’apprentissage Initialisation aléatoire des poids synaptiques1
Apprentissage2
Présentation de la forme Xk à la couche d’entrée
Calcul de l’activation des neurones de la couche de sortieym(k), m = 1, 2, ..
a
b
Détermination du neurone gagnant m* cAjustement des poids synaptiques du neurone gagnant : d
pour n = 1, …, N
€
Δ Wj*= η ym*(k) xn(k)
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 29
2 Réseaux Compétitifs Linéaires
Explication graphique
W1
W2WM
Wm* Xk
Neurone gagnant
vecteur des poids synaptiques du neurone
gagnant
W1
W2WM
Wm*
Xk
Nouveau vecteur des poids synaptiques
Compétition Adaptation
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 30
2 Réseaux Compétitifs Linéaires
Théorème Le réseau compétitif linéaire associé avec la règle d'apprentissage de Hebb n'a aucun point d'équilibre stable.
Théorème Le réseau compétitif linéaire associé avec la règle d'apprentissage de Hebb n'a aucun point d'équilibre stable.
Explication mathématique E {Wj*} 0Explication physique
€
Δ Wj*= η ym*(k) Xk
Incrémentation sans limite
Point d’équilibre
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 31
2 Réseaux Compétitifs Linéaires
Règle d’apprentissage d’Oja
{Xk, k = 1, 2, …, K} une base d’apprentissage Initialisation aléatoire des poids synaptiques1
Apprentissage2
Présentation de la forme Xk à la couche d’entrée
Calcul de l’activation des neurones de la couche de sortieym(k), m = 1, 2, ..
a
b
Détermination du neurone gagnant m* cAjustement des poids synaptiques du neurone gagnant : d
pour n = 1, …, N
€
Δ wm*n= η ym*(k) [xn(k) - ym*(k) wm*n]
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 32
2 Réseaux Compétitifs Linéaires
Explication
m*
x1(k) xn(k) xN(k)
Wm*n
Wm*NWm*1
ym*(k)
m*
x1(k) xn(k) xN(k)
Wm*nWm*1
ym*(k)
Principe de rétropropagation dans la règle d’Oja
€
Δ wm*n= η ym*(k) [xn(k) - ym*(k) wm*n]
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 33
2 Réseaux Compétitifs Linéaires
Théorème
L'algorithme d'apprentissage d'Oja appliqué à un réseau compétitif linéaire, converge en moyenne statistique vers un vecteur * ayant les propriétés suivantes :
|| *|| = 1.
* a la direction du vecteur propre maximal de la matrice de corrélation C.
* permet la maximisation de la variance de la sortie.
Théorème
L'algorithme d'apprentissage d'Oja appliqué à un réseau compétitif linéaire, converge en moyenne statistique vers un vecteur * ayant les propriétés suivantes :
|| *|| = 1.
* a la direction du vecteur propre maximal de la matrice de corrélation C.
* permet la maximisation de la variance de la sortie.
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 34
z = u + v
.... .
...... ..... ... ...y1
2 Problématique de reconnaissance de formes
Les primitives :
1 Les vecteurs propres
.... .
...... ..... ..
.. ...
x
y
i
j
z
z = x1 + y1 i j
x1
v
xi
j
z
u
V1
V2
V1 V2
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 35
2 Réseaux Compétitifs Linéaires
Règle d’apprentissage de Sanger
Décomposition sur les composantes principales
X = [x1, ….., xN] X = x1i1 + x2i2 + …+ xNiN
V1 : 1ère composante principaleVn : nème composante principale, n=2, 3, …, N
X = u1V1 + u2V2 + …+ uNVN
X Y = X - u1V1
V2 : 1ère composante principale du vecteur Y
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 36
2 Réseaux Compétitifs Linéaires
Règle de Sanger
1
{Xk, k = 1, 2, …, K} une base d’apprentissage
Application de la règle d’Oja V1
2 Transformation de la base d’apprentissage :
- Calculer la projection de Xksur V1 (i.e. calcul de u1)
- transformation XkYk= Xk- u1V1, k=1,…, K3 Application de la règle d’Oja V2
4 Répétition …...
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 37
3Réseaux de Quantification
VectorielleFondements : réduction des bases de données
X=[x1, .., xN]X=[u1,u2]P=[p1, .., pN]
CP QV
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 38
2 Problématique de reconnaissance de formes
3 Les vecteurs prototypes
z (x,y) z (d1,d2,d3)
... .. .
..
... ..
... .. .. .
..y
x
zP1
P2
P3
... .. .
..
... ..
... .. .. .
..d1
zd2d3
P1
P2
P3
... .. .
..
... . ... .
. .. ...
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 39
3 Réseaux de quantification vectorielle
Réseau de Kohonen-VQ non supervisé, 1983
m
x1 xn xN
wmn wmNwm1Couche d’entrée
Couche compétitive
ym=X . WmT
y1 yM
€
Δ wm*n= η(t) [xn(k) - wm*n]LVQ :
pour n = 1, …, N
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 40
3 Réseaux de quantification vectorielle
Quantification vectorielle non supervisée
.
. ..
..
.
.
.
.
.
... ..
. . ..
. .. .. ... .. .. . .
. . .. .. .
.
. ..
..
.
.
.
.
.
... ..
. . ..
. .. .. ... .. .. . .
. . .. .. .
.
. ..
..
.
.
.
.
.
...
..
. . ..
. .. .. ... .. .. . .
.. .. .. .
Quantification vectorielle supervisée
.
. ..
..
.
.
.
.
.
...
..
. . ..
. .. .. ... .. .. . .
.. .. .. .
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 41
3 Réseaux de quantification vectorielle
Explication graphique
W1
W2WM
Wm* Xk
Neurone gagnant
vecteur des poids synaptiques du neurone
gagnant
W1
W2WM
Wm*Xk
Nouveau vecteur des poids synaptiques
Compétition Adaptation
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 42
3 Réseaux de quantification vectorielle
Il s’agit d ’un apprentissage non supervisé
Adaptation des poids plus sévère que celle de Hebb
Règle de Hebb Algorithme LVQ
Convergence non garantie
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 43
3 Réseaux de quantification vectorielle
Réseaux de Kohonen-VQ supervisés
B = {(Xk,Dk), k=1, 2, .., K}, base étiquetée1
2 Architecture : réseaux compétitif linéaire
3 Les neurones de la couche de sortie sont étiquetés
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 44
3 Réseaux de quantification vectorielle
L’algorithme d’apprentissage LVQ1Retour au principe de Récompense/Punition
W1
W2
WM Wm*
Xk
Wm*
RécompenseClasse(Xk) = Classe (Wm*)
Punition
Classe(Xk) Classe (Wm*)
W1
W2
WM Wm*
Xk
Wm*
(j*) = + (t) [Xk - Wm*] Si Classe(Xk) = Classe (Wm*)
(j*) = - (t) [Xk - Wm*] Si Classe(Xk) Classe (Wm*)
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 45
3 Réseaux de quantification vectorielle
L’algorithme d’apprentissage LVQ2La course aux performances ……...
L'adaptation des vecteurs de référence correspondants Wm1 et Wm2 est réalisée si et seulement si les trois conditions suivantes sont vérifiées :
La compétition fournit deux neurones gagnants :le premier m1 et le second m2 gagnants.
L’esprit de l’algorithme de Kohonen :
Maintenir le principe de Récompense/Punition
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 46
3 Réseaux de quantification vectorielle
Classe(Xk) Classe(Wm1) erreur de classification du neurone gagnant
1
2
3
Classe(Xk) = Classe(Wm2) bonne classification du second neurone gagnant
le vecteur Xk est très proche de la surface de séparation entre les classes m1 et m2
distance(Xk,Wm2) distance(Xk,Wm1)
Adaptation
Wm1 = - (t) [Xk - Wm1] PunitionWm2 = + (t) [Xk - Wm2] Récompense
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 47
3 Réseaux de quantification vectorielle
Surface de séparation
Zone de modification
Pas de modification
Récompense / Punition
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 48
4 Cartes topologiques de Kohonen
1ère constatation
L’organisation linéaire n’a pour intérêt que l’aspect pédagogique.
2ème constatation
Les réseaux compétitifs linéairess’éloignent de la réalité Neurobiologique« les zones d’activité ».
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 49
4 Cartes topologiques de Kohonen
Architecture proposée : une couche linéaire mono ou multi dimensionnel.
m
Voisins ordonnésdu neurone m
i
j
1 2 3 1
2
3
Un neurone est caractérisé par ses poids synaptiques
et par sa position ( notion de voisinage topologique)
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 50
4 Cartes topologiques de Kohonen
Formes de voisinage (2D)
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 51
4 Cartes topologiques de Kohonen
Algorithme d’apprentissage non supervisé
Etant donnée la base d’apprentissage B, on " choisit "
1. la taille de la carte
2. une fonction monotone décroissante 0<(t)<1 : fonction d’influence temporelle (les modifications diminuent en fonction du temps, Question d’âge !!!)
3. un voisinage topologique V(t) décroissant
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 52
4 Cartes topologiques de Kohonen
Parcours de la base d'apprentissage
1
2
3
Présentation d’une forme d’entrée X
Détermination du neurone gagnant
Adaptation des poids synaptiques des vecteurs de référence se trouvant dans le voisinage topologique V(t) du neurone gagnant :
Wm = - (m,m*) (t) [Xk - Wm]
m Vm*(t), (m,m*) interaction latérale
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 53
4 Cartes topologiques de Kohonen
Exemple :
Neurone gagnantNeurone m Vm*(t0)
(t)
tt0
1
Instant : t0
Vecteur d’entrée : X
(t0)
(m,m*) = 1, m Vm*(t) : Interaction latérale uniforme
(m,m*) gaussien
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 54
4 Cartes topologiques de Kohonen
Caractéristique essentielle des cartes de Kohonen,La préservation topologique :Deux vecteurs « similaires » dans l’espace des objets, vontactiver deux neurones « topologiquement proches » sur la carte de Kohonen.
« distance »
« distance »
« similaire »« similaire »
« similaire »
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 55
5 Applications
Reconnaissance Optique des Caractères (O.C.R)
Compression d’images / codage conjoint Source-Canal
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 56
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 57
5 Applications - Compression d’images
Compression d’images / codage conjoint Source-Canal
Méthodes decompression
Réversibleapplication médicaletaux de compression peu élevé
Irréversibletaux élevédistorsion introduite
Spécifiqueadaptée à l’application
connaissances a priori sur le contenu
Génériquetransformation + élimination
des hautes fréquencesTextures mal restituées
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 58
5 Applications - Compression d’images
Quantification Vectorielle (QV)
indices
Le plusLe plusproche voisinproche voisin
Dictionnaire des mots de
codeDictionnaire
Imageoriginale
Imagereconstruite
bloc
...
W
W
W
W
. . .. . .RestitutionRestitution
du blocdu bloc
. . .. . .
W
W
W
W
Codeur Décodeur
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 59
5 Applications - Compression d’images
Avantages / problèmes
Le plusproche voisin
...
. . .. . .Restitution . . .. . .
...
Adaptation à l’imageCréation des motsde code ?
Transmission bruitéeArchivage : taux élevé ?Indexation ?
Effet de blocs
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 60
5 Applications - Compression d’images
Création du dictionnaire
X =
x
Poids synaptiques Wi (mots de code)
Base d’apprentissage
Activationsdes neurones
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 61
5 Applications - Compression d’images
Création du dictionnaire
x
Représentation graphique du dictionnaire
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 62
5 Applications - Compression d’images
Dictionnaire obtenu
Dictionnaire SOFM Dictionnaire LBG(algorithme classique des
K-means)
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 63
5 Applications - Compression d’images
Exemples d’apprentissage
Image d’apprentissage Image de test
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 64
5 Applications - Compression d’images
Exemples d’apprentissage
Dictionnaire
Image de test
Image testée
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 65
5 Applications - Compression d’images
Exemples d’apprentissage
Dictionnaire
Image de test
Image testée
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 66
5 Applications - Compression d’images
Exemples d’images comprimées
Image originale Image codée
Taux de compression =16
(i.e. taille imagette = 4 x 4, SOFM = 16 x 16 );PSNR = 29,2 dB;
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 67
5 Applications - Compression d’images
Cartes topologiques de dimensions supérieures
SOFM, 2D(exemple, 16 x 16)
SOFM, 3D(exemple, 8 x 8 x 8)
SOFM, 4D (exemple, 4 x 4 x 4 x 4 ) …….
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 68
5 Applications - Compression d’images
SOFM, 3D, 8 x 8 x 8 SOFM, 4D, 4 x 4 x 4 x 4
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 69
5 Applications - Compression d’images
Codage Conjoint Source/Canal
Transmission d’images fixes sur un canal bruité
Q
I
Le dictionnaire bidimensionnel
Points de la constellation de la MAQ-64
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 70
5 Applications - Compression d’images
Exemple de mapping optimal entre une MAQ-64 etun dictionnaire bidimensionnel
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 71
5 Applications - Compression d’images
Mapping optimal
MAQ-64 sur un canal Gaussien
PSNR = 27,6 dB; TES = 10%
Mapping non optimisé
MAQ-64 sur un canal Gaussien
PSNR = 19,9 dB; TES = 10%
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 72
5 Applications - Compression d’images
Dictionnaire non-ordonné (k-means) PSNR = 17.31 dB
Dictionnaire KohonenPSNR = 24.48 dB
Images échoendoscopiques reconstruites :
(taux de compression = 16, taux d’erreur = 50%)
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 73
5 Applications - Compression d’images
Réduction de l’effet de bloc par un réseau multicouches
Effet de bloc
Image comprimée Image étendue
Méthode de post-traitement
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 74
5 Applications - Compression d’images
x1
x2
xn
y1
ym
Image comprimée, taux=16, PSNR=28.79 dB
Image comprimée et post-traitée, PSNR=29.70 dB
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 75
5 Applications - OCR
Reconnaissance Optique des Caractères (O.C.R)
5, Chiffre « 5 » SOFM(Self Organizing Feature Map)
55
Vecteurs prototypes
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 76
5 Applications - OCR
Entrée du réseau :
X =
16
16
Niveau de gris [0, 25]
Normalisation à [0, 1]
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 77
5 Applications - OCR
Architecture du réseau :
X
1010
i
j
Imagette des poids synaptiques du neurone
(i,j)
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 78
5 Applications - OCR
Base d’apprentissage : S.R.T.P (France)5000 Chiffres
Poids synaptiques à la convergence :
Préservation topologique
Transitions « douces »
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 79
5 Applications - OCR
Exploitation des résultats
Classification
Base d’apprentissage(5000 chiffres)
Base de test(5000 chiffres)
SOFM*Réseau
multicouches
75 % 65 %
96 % 93 %
* Les neurones de la carte de Kohonen sont étiquetés
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 80
5 Applications - OCR
Solution : Hybrid Learning Vector Quantization
Objectif : Couplage de la préservation topologique et les performance de l’apprentissage supervisé.
Réseau HLVQ
Architecture : Carte topologique de Kohonen
Apprentissage : Hybride Kohonen non supervisé
Focalisation d’attention
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 81
5 Applications - OCR
Algorithme d’apprentissage du réseau HLVQ
1
2
3
Initialisation aléatoire des poids synaptiques
Étiquetage initial des neurones de la carte
Parcours de la base d’apprentissage :Présentation d’une forme X à l ’entrée du réseauDétermination des deux neurones gagnants sur la carteApplication de l’algorithme d’apprentissage non supervisé de KohonenApprentissage supervisé : Focalisation d ’attention
4 Test fin d’apprentissage
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 82
5 Applications - OCR
Cas 1 : Focalisation d’attention = Algorithme LVQ2
a=10
a=20
a=50 Convergence
a : Nombre d’itérations d’apprentissage
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 83
5 Applications - OCR
Modification de l'algorithme LVQ2:Exploiter la relation topologique reliant les différents neurones de la carte en recherchant dans le voisinage des neurones gagnants ceux qui sont susceptibles d'apporter une meilleure réponse en termes d'activation et de reconnaissance.
Cas 2 :
Focalisation d’attention = Algorithme LVQ2 modifié
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 84
5 Applications - OCR
Les poids synaptiques du réseau HLVQ
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 85
5 Applications - OCR
Classification
Base d’apprentissage(5000 chiffres)
Base de test(5000 chiffres)
SOFM
Réseau multicouches
75 % 65 %
96 % 93 %
HLVQ-LVQ2 97 % 90 %
HLVQ-LVQmodifié
96.8 % 89.8 %
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 86
5 Applications - Réseau GAL
Le réseau GAL (Grow And Learn) est destiné à l’extraction de primitives de types formes prototype tout en ayant une architecture multicouches.
x1
x2
xn
xN
we,n Ae
Winnertake all
Winnertake all Ee tm,e
C1
Cm
CM
Couche d’entréeCouche d’entrée
Couche cachée (couche des formes)
Couche cachée (couche des formes)
Couche de sortie (couche des classes)
Couche de sortie (couche des classes)
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 87
5 Applications - Réseau GAL
€
Ae = xn we,n
n = 1
N∑
Couche des formes mémorisées :
n,e est le poids synaptique reliant l'entrée "n" à la cellule "e"
Le vecteur e mémorise la forme « Xe »
Ee = 1 si Ae = ( Ai )= 0 sinon
Maxi
tem = 1 si le neurone "e" est étiqueté de la classe m,= 0 sinon
€
Cm = Ee tme
e∑
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 88
5 Applications - Réseau GAL
L'algorithme d'apprentissage du réseau GAL
1 Une forme X correspondant à la classe m est présentée
2 Vérification de l'existence de la classe :
si cette classe n'existe pas : un neurone "m" est créé
un neurone "e" est créé
si cette classe “m” existe déjà la forme X est présentée à l'entrée du réseausi la décision prise par le réseau est bonne, alors pas de modificationsi la décision prise par le réseau est mauvaise, alors
un neurone « e » est créé, ses poids seront :
We = X et tm’e = 1 si m' = m
= 0 sinon
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #6 - 89
5 Applications - Réseau GAL
m1 m2
e1(m1)
e1(m2)
m1 m2
e1(m1)
e1(m2)e2(m1)
Exemple de la création séquentielle de neurones de formes
Apprentissage incrémental …..