Vous êtes sur la page 1sur 87

Chapitre 8

Les réseaux de neurones


compétitifs
Réseaux de Neurones
Application en Reconnaissance de Formes
Les réseaux de neurones compétitifs

d’après B. Solaiman
Dépt. Image & Traitement de l'Information
Ecole Nationale Supérieure des Télécommunications de
Bretagne
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
Cours #6 - 3 GPA-779 Application des réseaux de neurones et des systèmes experts
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

Cours #6 - 4 GPA-779 Application des réseaux de neurones et des systèmes experts


1 Introduction, définition
Classification 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 à jour


Mise à jour globale /Mise à jour sélective

4 En fonction de l’architecture/mode de connexion, etc.


Cours #6 - 5 GPA-779 Application des réseaux de neurones et des systèmes experts
2 Problématique de
Reconnaissance de Formes

Extraction Système
X des Y de D
primitives décision

Espace Espace Espace


d'entrée des primitives des décisions

Cours #6 - 6 GPA-779 Application des réseaux de neurones et des systèmes experts


3 Développement d’une solution neuronale

s réseaux de neurones
3
xtracteurs de primitives/Classifieu
Réseau d’extraction de primitives / classifieurs

Extraction Système
des de
primitives décision

Espace Espace des primitives Espace des


d’objets (d’observations) décisions

Cours #6 - 7 GPA-779 Application des réseaux de neurones et des systèmes experts


Laboratoire 2:
Caractéristiques d’une image

Extraction des caractéristiques

Sous-image pour l ’apprentissage


Cours #6 - 8 GPA-779 Application des réseaux de neurones et des systèmes experts
Exemple récent: classification de
lots de canneberges
Pré-traitement
Canneberges sèches
 Éclairage ambiant
 Fond bleu
 Segmentation
 Élimination du fond par
division
 Filtre median 5x5
 Seuillage sur la couleur
 Segmentation sur courbure
 Érosion

Cours #6 - 9 GPA-779 Application des réseaux de neurones et des systèmes experts


 Primitives visuelles
 Entrées: RVB moyen d’une canneberge
 Apprentissage: 100 échantillons
 Test: 60 échantillons

Cours #6 - 10 GPA-779 Application des réseaux de neurones et des systèmes experts


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 18 21
(35.0 %) (30.0%) (35,0 %) 93 %

Cours #6 - 11 GPA-779 Application des réseaux de neurones et des systèmes experts


3 Développement d’une solution neuronale

Les réseaux de neurones


2
extracteurs de primitives

Réseau de neurones
d’extraction de primitives
Système de
décision

Espace Espace des Espace des


d’objets primitives décisions
Cours #6 - 12 GPA-779 Application des réseaux de neurones et des systèmes experts
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.
Neurones pour
lesquels les poids
synaptiques seront modifiés
X
Neurones pour
lesquels les poids
synaptiques ne seront pas
modifiés
Cours #6 - 13 GPA-779 Application des réseaux de neurones et des systèmes experts
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étitifs
Extraction des primitives
Apprentissage supervisé ou non supervisé

Cours #6 - 14 GPA-779 Application des réseaux de neurones et des systèmes experts


 Phase de compétition
 Elle 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

Cours #6 - 15 GPA-779 Application des réseaux de neurones et des systèmes experts


Fonction d’activation :
⎧x si x > 0
Le réseau Maxnet f (x ) = ⎨
⎩o autrement
Étape 0 : Initialiser les activations et les poids

a j (0 ) entrée du noeud A j
1 - 1
A1 A4 ⎧1 si i = j
w ij = ⎨ 1
- ⎩−ε si i ≠ j avec 0 < ε <
m
Étape 1 (tant que 4 vrai faire 2-4) :
- -
- Étape 2 : Mise à jour des activations
A2 A3 ⎡ ⎤
a j (t ) = f ⎢a j ( t −1) −ε ∑a k (t −1) )⎥
1 - 1 ⎣ k ≠j ⎦
Étape 3 : Sauvegarder activations
a j (t ) = a j ( t − 1) , j = 1, L , m
Étape 4 : Si plus d’une activation 0
continuer, sinon arrêt
Cours #6 - 16 GPA-779 Application des réseaux de neurones et des systèmes experts
Le réseau Maxnet : Exemple A = [0,2 0,4 0,6 0,8]
Étape 0 : Initialiser les activations et les poids

a j (0 ) entrée du noeud A j
1 - 1
A1 A4 ⎧1 si i = j
w ij = ⎨
- ⎩−0.2 si i ≠ j
Étape 1 (tant que 4 vrai faire 2-4) :
- -
- Étape 2 : Mise à jour des activations
A2 A3 ⎡ ⎤
a j (t ) = f ⎢a j ( t −1) −ε ∑a k (t −1) )⎥
1 - 1 ⎣ k ≠j ⎦
Étape 3 : Sauvegarder activations
a j (t ) = a j ( t − 1) , j = 1, L , m
Étape 4 : Si plus d’une activation 0
continuer, sinon arrêt
Cours #6 - 17 GPA-779 Application des réseaux de neurones et des systèmes experts
Le chapeau mexicain :

w0
w2 w2

w1 w1 XI+
Xi-3 Xi-2 Xi-1 Xi Xi+1 Xi+2
3

w3 w3
si

R1
R2
wk est positif dans 0  k  R1 et négatif dans R1  k  R2
x est le vecteur d’activations
x_vieux est le vecteurs d’activations à t-1
t_max est le nombre maximal d’itérations
s est un signal externe
Cours #6 - 18 GPA-779 Application des réseaux de neurones et des systèmes experts
C2 C1
Le chapeau mexicain :

0.6
-0.4 -0.4

0.6 0.6 Xi+ Xi+ XI+


Xi-3 Xi-2 Xi-1 Xi
1 2 3

si

R1

R2

É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
R1 −R 1 −1 R2
x i = C1 ∑x _ vieux
k = −R 1
i+k + C2 ∑ x _ vieux
k = −R 2
i+k + C2 ∑x _ vieux
k = R 1 +1
i+k

Cours #6 - 19 GPA-779 Application des réseaux de neurones et des systèmes experts


C2 C1
Le chapeau mexicain :

0.6
-0.4 -0.4

0.6 0.6 Xi+ Xi+ XI+


Xi-3 Xi-2 Xi-1 Xi
1 2 3

si

R1

R2

É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

Cours #6 - 20 GPA-779 Application des réseaux de neurones et des systèmes experts


Le chapeau mexicain : Exemple

0.6
-0.4 -0.4

0.6 0.6 Xi+ Xi+ XI+


Xi-3 Xi-2 Xi-1 Xi
1 2 3

x = ( 0.0 0.5 0.8 1.0 0.8 0.5 0.0)

É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 Net
x1 = 0.6 * (0.0) + 0.6 * (0.5) – 0.4 * (0.8) = -0.2
x2 = 0.6 * (0.0) + 0.6 * (0.5) + 0.6 * (0.8) – 0.4 * (1.0) = 0.38
x3 = -0.4 * (0.0) + 0.6 * (0.5) + 0.6 * (0.8) + 0.6 * (1.0) – 0.4 * (0.8) = 1.06
x4 = -0.4 * (0.5) + 0.6 * (0.8) + 0.6 * (1.0) + 0.6 * (0.8) – 0.4 * (0.5) = 1.16
Cours #6 - 21 ……GPA-779 Application des réseaux de neurones et des systèmes experts
Le chapeau mexicain : Exemple (suite)

0.6
-0.4 -0.4

0.6 0.6 Xi+ Xi+ XI+


Xi-3 Xi-2 Xi-1 Xi
1 2 3

x = ( 0.0 0.5 0.8 1.0 0.8 0.5 0.0)

Étape 4 : Appliquer la fonction d’activation

x = (0.0, 0.38, 1.06, 1.16 …… )

Continuez … (à partir de l’étape 3 précédente)

Cours #6 - 22 GPA-779 Application des réseaux de neurones et des systèmes experts


2
Réseaux Compétitifs
Linéaires
Architecture :
deux couches yj=X . mT
y1 yM

Couche de sortie m
wm1 wmN
wmn
Couche d’entrée
x1 xn xN

Cours #6 - 25 GPA-779 Application des réseaux de neurones et des systèmes experts


2 Réseaux Compétitifs Linéaires

Neuronem*
Neurone m*est
estleleneurone
neuronegagnant
gagnant 
 yym* =
m* = Max yyj j
m∈<1, M>

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 . WmT
Equivalence lorsque X et Wj sont normalisés

Attention
Cours #6 - 26 GPA-779 Application des réseaux de neurones et des systèmes experts
2 Réseaux Compétitifs Linéaires

Règle d’apprentissage de Hebb


Donald HEBB : "The Organization of Behavior », 1949

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)

Cours #6 - 27 GPA-779 Application des réseaux de neurones et des systèmes experts


2 Réseaux Compétitifs Linéaires

Implémentation mathématiques
{Xk, k = 1, 2, …, K} une base d’apprentissage
1 Initialisation aléatoire des poids synaptiques
2 Apprentissage
a Présentation de la forme Xk à la couche d’entrée
b Calcul de l’activation des neurones de la couche de sortie
ym(k), m = 1, 2, ..
c Détermination du neurone gagnant m*
d Ajustement des poids synaptiques du neurone gagnant :
Δ W j* = η ym*(k) xn (k) pour n = 1, …, N

Cours #6 - 28 GPA-779 Application des réseaux de neurones et des systèmes experts


2 Réseaux Compétitifs Linéaires

Explication graphique
Neurone gagnant

W2 Wm*
Xk
WM Wm*
W2 Xk
WM
W1

vecteur des poids W1


synaptiques du neurone
gagnant Nouveau vecteur des
poids synaptiques

Compétition Adaptation

Cours #6 - 29 GPA-779 Application des réseaux de neurones et des systèmes experts


2 Réseaux Compétitifs Linéaires

Théorème
Théorème
LLeeréseau
réseaucompétitif
compétitiflinéaire
linéaireassocié
associéavec
avecla
larègle
règle
d'apprentissagede
d'apprentissage deHebb
Hebbn'a
n'aaucun
aucunpoint
pointd'équilibre
d'équilibrestable.
stable.

Explication mathématique E {Wj*}  0


Explication physique
Incrémentation sans limite
Δ W j* = η ym*(k) Xk

Point d’équilibre

Cours #6 - 30 GPA-779 Application des réseaux de neurones et des systèmes experts


2 Réseaux Compétitifs Linéaires

Règle d’apprentissage d’Oja


{Xk, k = 1, 2, …, K} une base d’apprentissage
1 Initialisation aléatoire des poids synaptiques
2 Apprentissage
a Présentation de la forme Xk à la couche d’entrée
b Calcul de l’activation des neurones de la couche de sortie
ym(k), m = 1, 2, ..
c Détermination du neurone gagnant m*
d Ajustement des poids synaptiques du neurone gagnant :
Δ wm*n = η y m*(k) [x n(k) - ym*(k) wm*n]
pour n = 1, …, N
Cours #6 - 31 GPA-779 Application des réseaux de neurones et des systèmes experts
2 Réseaux Compétitifs Linéaires

Explication Δ wm*n = η y m*(k) [x n(k) - ym*(k) wm*n ]

ym*(k) ym*(k)

m m
* *
Wm*1 Wm*N Wm*1 Wm*n
Wm*n

x1(k) xn(k) xN(k) x1(k) xn(k) xN(k)


Principe de rétropropagation dans
la règle d’Oja
Cours #6 - 32 GPA-779 Application des réseaux de neurones et des systèmes experts
2 Réseaux Compétitifs Linéaires

Théorème
Théorème
LL'algorithme
'algorithme d'apprentissage
d'apprentissage d'Oja
d'Oja appliqué
appliqué àà un
un
réseau compétitif
réseau compétitif linéaire,
linéaire, converge
converge en
en moyenne
moyenne statistique
statistique
versun
vers vecteur**ayant
unvecteur ayantles
lespropriétés
propriétéssuivantes
suivantes::

||||*||
*||==1.1.

**aala
ladirection
directiondu
duvecteur
vecteurpropre
propremaximal
maximalde
dela
lamatrice
matricede
de
corrélationC.
corrélation C.

**permet
permetla
lamaximisation
maximisationde
dela
lavariance
variancede
dela
lasortie.
sortie.

Cours #6 - 33 GPA-779 Application des réseaux de neurones et des systèmes experts


2 Problématique de reconnaissance de formes

Les primitives :

1 Les vecteurs propres


y

. . . z. . .
. ..
...z........ ... v
. . .
... ....... u...
y1
.. V2 ..
j j V1
x x
x1
i i
z = x1 i + y1 j z = u V1 + v V2
Cours #6 - 34 GPA-779 Application des réseaux de neurones et des systèmes experts
2 Réseaux Compétitifs Linéaires

Règle d’apprentissage de Sanger

X = [x1, ….., xN]  X = x1i1 + x2i2 + …+ xNiN


V1 : 1ère composante principale
Vn : nème composante principale, n=2, 3, …, N
 X = u1V1 + u2V2 + …+ uNVN
Décomposition sur les composantes principales

X  Y = X - u1V1
 V2 : 1ère composante principale du vecteur Y

Cours #6 - 35 GPA-779 Application des réseaux de neurones et des systèmes experts


2 Réseaux Compétitifs Linéaires

Règle de Sanger

{Xk, k = 1, 2, …, K} une base d’apprentissage


1 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 XkYk= Xk- u1V1, k=1,…, K
3 Application de la règle d’Oja  V2
4 Répétition …...
Cours #6 - 36 GPA-779 Application des réseaux de neurones et des systèmes experts
Réseaux de Quantification
3 Vectorielle
Fondements : réduction des bases de données
CP QV

P=[p1, .., pN]


X=[u1,u2] X=[x1, .., xN]

Cours #6 - 37 GPA-779 Application des réseaux de neurones et des systèmes experts


2 Problématique de reconnaissance de formes

3 Les vecteurs prototypes


. . . ..
. .. ... ..
. . .
. ...
..

. . . . . . . .. P1
.
. . ...
P3 . . P1 . . ... d3
. P3 . . d1
.
y . . . .z . . .
d2
.z
P2. ... P2. ...
.. ..
x
z (x,y) z (d1,d2,d3)
Cours #6 - 38 GPA-779 Application des réseaux de neurones et des systèmes experts
3 Réseaux de quantification vectorielle

Réseau de Kohonen-VQ non supervisé, 1983


ym=X . WmT
y1 yM

Couche m
compétitive
wm1 wmn wmN
Couche
d’entrée
x1 xn xN

LVQ : Δ wm*n = η (t) [xn (k) - wm*n ]

pour n = 1, …, N
Cours #6 - 39 GPA-779 Application des réseaux de neurones et des systèmes experts
3 Réseaux de quantification vectorielle

Quantification vectorielle non supervisée

. . . .. . . .. .. .
. .. . . .. .. . .. . . .. ..
... . . . .. . ... . . . .. .
. .. . . . . .. . . .
.. . . .. . .
... ...

Quantification vectorielle supervisée

. . . .. . . .. .. .
. .. . . . .. .. . .. . . . .. ..
... . . . . ... . ... . . . . ... .
. .
.. . .... .. . ....
.. . .. .
Cours #6 - 40 GPA-779 Application des réseaux de neurones et des systèmes experts
3 Réseaux de quantification vectorielle

Explication graphique
Neurone gagnant

W2 Wm*
Xk
WM Wm*
W2 Xk
WM
W1

vecteur des poids W1


synaptiques du neurone
gagnant Nouveau vecteur des
poids synaptiques

Compétition Adaptation

Cours #6 - 41 GPA-779 Application des réseaux de neurones et des systèmes experts


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

Cours #6 - 42 GPA-779 Application des réseaux de neurones et des systèmes experts


3 Réseaux de quantification vectorielle

Réseaux de Kohonen-VQ supervisés

1 B = {(Xk,Dk), k=1, 2, .., K}, base étiquetée


2 Architecture : réseaux compétitif linéaire

3 Les neurones de la couche de sortie sont étiquetés


Cours #6 - 43 GPA-779 Application des réseaux de neurones et des systèmes experts
3 Réseaux de quantification vectorielle
L’algorithme d’apprentissage LVQ1
Retour au principe de Récompense/Punition

Wm* Wm*

WM Xk WM Xk
Wm* Wm*
W2 W2
W1 W1

Récompense Punition
Classe(Xk) = Classe (Wm*) Classe(Xk)  Classe (Wm*)

(j*) = + (t) [Xk - Wm*] Si Classe(Xk) = Classe (Wm*)


(j*) = - (t) [Xk - Wm*] Si Classe(Xk)  Classe (Wm*
Cours #6 - 44 GPA-779 Application des réseaux de neurones et des systèmes experts
3 Réseaux de quantification vectorielle
L’algorithme d’apprentissage LVQ2
La course aux performances ……...

Maintenir le principe de Récompense/Punition

La compétition fournit deux neurones gagnants :


le premier m1 et le second m2 gagnants.

L’esprit de l’algorithme de Kohonen :


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 :

Cours #6 - 45 GPA-779 Application des réseaux de neurones et des systèmes experts


3 Réseaux de quantification vectorielle

1 Classe(Xk)  Classe(Wm1)
erreur de classification du neurone gagnant
2 Classe(Xk) = Classe(Wm2)
bonne classification du second neurone gagnant
3 distance(Xk,Wm2)  distance(Xk,Wm1)
le vecteur Xk est très proche de la surface de
séparation entre les classes m1 et m2
Adaptation
Wm1 = - (t) [Xk - Wm1] Punition
Wm2 = + (t) [Xk - Wm2] Récompense
Cours #6 - 46 GPA-779 Application des réseaux de neurones et des systèmes experts
3 Réseaux de quantification vectorielle

Surface de Zone de
séparation modification

Pas de modification

Récompense / Punition

Cours #6 - 47 GPA-779 Application des réseaux de neurones et des systèmes experts


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éaires
s’éloignent de la réalité Neurobiologique
« les zones d’activité ».
Cours #6 - 48 GPA-779 Application des réseaux de neurones et des systèmes experts
4 Cartes topologiques de Kohonen

Architecture proposée :
une couche linéaire mono ou multi dimensionnel.
Voisins ordonnés 1 2 3 i
du neurone m 1

m 3

Un neurone est caractérisé par ses poids synaptiques


et par sa position ( notion de voisinage topologique)
Cours #6 - 49 GPA-779 Application des réseaux de neurones et des systèmes experts
4 Cartes topologiques de Kohonen

Formes de voisinage (2D)

Cours #6 - 50 GPA-779 Application des réseaux de neurones et des systèmes experts


4 Cartes topologiques de Kohonen

Algorithme d’apprentissage non supervisé


Etant donnée la base d’apprentissage B, on " choisit "

la taille de la carte

e fonction monotone décroissante


<(t)<1 : fonction d’influence tempore
es modifications diminuent en fonction
emps, Question d’âge !!!)
n voisinage topologique V(t) décroissan
Cours #6 - 51 GPA-779 Application des réseaux de neurones et des systèmes experts
4 Cartes topologiques de Kohonen

Parcours de la base d'apprentissage


1 Présentation d’une forme d’entrée X

2 Détermination du neurone gagnant

3 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
Cours #6 - 52 GPA-779 Application des réseaux de neurones et des systèmes experts
4 Cartes topologiques de Kohonen

Exemple : Instant : t0
Vecteur d’entrée : X
Neurone gagnant
Neurone m Vm*(t0)
(t)
1
(t0)
t
t0
(m,m*) = 1,  m Vm*(t) : Interaction latérale uniforme
(m,m*) gaussien

Cours #6 - 53 GPA-779 Application des réseaux de neurones et des systèmes experts


4 Cartes topologiques de Kohonen

Caractéristique essentielle des cartes de Kohonen,


La préservation topologique :
Deux vecteurs « similaires » dans l’espace des objets, vont
activer deux neurones « topologiquement proches » sur la
carte de Kohonen.
« distance »
« similaire »
« similaire »

« similaire »
« distance »

Cours #6 - 54 GPA-779 Application des réseaux de neurones et des systèmes experts


5 Applications

Compression d’images / codage conjoint


Source-Canal

Reconnaissance Optique des Caractères (O.C.R)

Cours #6 - 55 GPA-779 Application des réseaux de neurones et des systèmes experts


Cours #6 - 56 GPA-779 Application des réseaux de neurones et des systèmes experts
5 Applications - Compression d’images
Compression d’images / codage conjoint
Source-Canal
Méthodes de Réversible
compression application médicale
taux de compression peu élevé

Irréversible
taux élevé
distorsion introduite

Générique Spécifique
transformation + élimination adaptée à l’application
des hautes fréquences connaissances a priori sur le contenu
Textures mal restituées
Cours #6 - 57 GPA-779 Application des réseaux de neurones et des systèmes experts
5 Applications - Compression d’images
Quantification Vectorielle (QV)
indices
... bloc ...
Le plus Restitution
proche voisin du bloc

Image Image
originale reconstruite
W W
W W
Dictionnaire W W
des mots de Dictionnaire
... 
code
W W

Codeur Décodeur
Cours #6 - 58 GPA-779 Application des réseaux de neurones et des systèmes experts
5 Applications - Compression d’images
Avantages / problèmes
... ...
Le plus Restitution
proche voisin

... ...

Adaptation à l’image Effet de blocs


Création des mots
de code ?
Transmission bruitée
Archivage : taux élevé ?
Indexation ?
Cours #6 - 59 GPA-779 Application des réseaux de neurones et des systèmes experts
5 Applications - Compression d’images
Création du dictionnaire

Activations
des neurones

Poids synaptiques Wi
(mots de code)
Base x
d’apprentissage

X=

Cours #6 - 60 GPA-779 Application des réseaux de neurones et des systèmes experts


5 Applications - Compression d’images
Création du dictionnaire

Représentation graphique
du dictionnaire
Cours #6 - 61 GPA-779 Application des réseaux de neurones et des systèmes experts
5 Applications - Compression d’images

Dictionnaire obtenu

Dictionnaire SOFM Dictionnaire LBG


(algorithme classique des
K-means)
Cours #6 - 62 GPA-779 Application des réseaux de neurones et des systèmes experts
5 Applications - Compression d’images
Exemples d’apprentissage

Image d’apprentissage Image de test

Cours #6 - 63 GPA-779 Application des réseaux de neurones et des systèmes experts


5 Applications - Compression d’images
Exemples d’apprentissage

Dictionnaire

Image testée

Cours #6 - 64 GPA-779 Application des réseaux de neurones et des systèmes experts Image de test
5 Applications - Compression d’images
Exemples d’apprentissage

Dictionnaire

Image testée

Cours #6 - 65 GPA-779 Application des réseaux de neurones et des systèmes experts Image de test
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;
Cours #6 - 66 GPA-779 Application des réseaux de neurones et des systèmes experts
5 Applications - Compression d’images
Cartes topologiques de dimensions supérieures

SOFM, 2D SOFM, 3D
(exemple, 16 x 16) (exemple, 8 x 8 x 8)

SOFM, 4D (exemple, 4 x 4 x 4 x 4 ) …….

Cours #6 - 67 GPA-779 Application des réseaux de neurones et des systèmes experts


5 Applications - Compression d’images

SOFM, 3D, 8 x 8 x 8 SOFM, 4D, 4 x 4 x 4 x 4

Cours #6 - 68 GPA-779 Application des réseaux de neurones et des systèmes experts


5 Applications - Compression d’images
Codage Conjoint Source/Canal

Transmission d’images fixes sur un canal bruité


Q

Le dictionnaire Points de la constellation


bidimensionnel de la MAQ-64

Cours #6 - 69 GPA-779 Application des réseaux de neurones et des systèmes experts


5 Applications - Compression d’images

Exemple de mapping optimal entre une MAQ-64 et


un dictionnaire bidimensionnel
Cours #6 - 70 GPA-779 Application des réseaux de neurones et des systèmes experts
5 Applications - Compression d’images

Mapping optimal Mapping non optimisé


MAQ-64 sur un canal Gaussien MAQ-64 sur un canal Gaussien
PSNR = 27,6 dB; TES = 10% PSNR = 19,9 dB; TES = 10%
Cours #6 - 71 GPA-779 Application des réseaux de neurones et des systèmes experts
5 Applications - Compression d’images

Images échoendoscopiques reconstruites :


(taux de compression = 16, taux d’erreur = 50%)

Dictionnaire non-ordonné Dictionnaire Kohonen


(k-means) PSNR = 17.31 dB PSNR = 24.48 dB

Cours #6 - 72 GPA-779 Application des réseaux de neurones et des systèmes experts


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

Cours #6 - 73 GPA-779 Application des réseaux de neurones et des systèmes experts


5 Applications - Compression d’images

x1
y1
x2

xn ym

Image comprimée, Image comprimée


taux=16, PSNR=28.79 dB et post-traitée, PSNR=29.70 dB
Cours #6 - 74 GPA-779 Application des réseaux de neurones et des systèmes experts
5 Applications - OCR

Reconnaissance Optique des Caractères (O.C.R)

55
«5 »
SOFM
5 i f f r e
, Ch
(Self Organizing Feature Map)

Vecteurs
prototypes

Cours #6 - 75 GPA-779 Application des réseaux de neurones et des systèmes experts


5 Applications - OCR

Entrée du réseau :

16
X=

16

Niveau de gris  [0, 25]

Normalisation à [0, 1]
Cours #6 - 76 GPA-779 Application des réseaux de neurones et des systèmes experts
5 Applications - OCR

Architecture du réseau :
10
j
10

Imagette des poids


synaptiques du neurone
(i,j)

X
Cours #6 - 77 GPA-779 Application des réseaux de neurones et des systèmes experts
5 Applications - OCR
Base d’apprentissage : S.R.T.P (France)
5000 Chiffres

Poids synaptiques
à la convergence :

Préservation topologique

Transitions « douces »

Cours #6 - 78 GPA-779 Application des réseaux de neurones et des systèmes experts


5 Applications - OCR

Exploitation des résultats

Classification

Base d’apprentissage Base de test


(5000 chiffres) (5000 chiffres)
SOFM* 75 % 65 %
Réseau
96 % 93 %
multicouches

* Les neurones de la carte de Kohonen sont étiquetés


Cours #6 - 79 GPA-779 Application des réseaux de neurones et des systèmes experts
5 Applications - OCR

Solution :
Hybrid Learning Vector Quantization

Objectif :
Couplage de la préservation topologique et les
performance de l’apprentissage supervisé.

Architecture : Carte topologique de Kohonen


Réseau
HLVQ Kohonen non supervisé
Apprentissage : Hybride
Focalisation d’attention
Cours #6 - 80 GPA-779 Application des réseaux de neurones et des systèmes experts
5 Applications - OCR

Algorithme d’apprentissage du réseau HLVQ

1 Initialisation aléatoire des poids synaptiques

2 Étiquetage initial des neurones de la carte

3 Parcours de la base d’apprentissage :


Présentation d’une forme X à l ’entrée du réseau
Détermination des deux neurones gagnants sur la carte
Application de l’algorithme d’apprentissage non supervisé de Kohonen
Apprentissage supervisé : Focalisation d ’attention

4 Test fin d’apprentissage

Cours #6 - 81 GPA-779 Application des réseaux de neurones et des systèmes experts


5 Applications - OCR
Cas 1 : Focalisation d’attention = Algorithme LVQ2

a=10

a=20

a=50 Convergence
a : Nombre d’itérations d’apprentissage
Cours #6 - 82 GPA-779 Application des réseaux de neurones et des systèmes experts
5 Applications - OCR
Cas 2 :
Focalisation d’attention = Algorithme LVQ2 modifié
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.

Cours #6 - 83 GPA-779 Application des réseaux de neurones et des systèmes experts


5 Applications - OCR

Les poids synaptiques du réseau HLVQ


Cours #6 - 84 GPA-779 Application des réseaux de neurones et des systèmes experts
5 Applications - OCR

Classification
Base d’apprentissage Base de test
(5000 chiffres) (5000 chiffres)
SOFM 75 % 65 %
Réseau
96 % 93 %
multicouches

HLVQ-LVQ2 97 % 90 %

HLVQ-LVQ 96.8 % 89.8 %


modifié

Cours #6 - 85 GPA-779 Application des réseaux de neurones et des systèmes experts


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 C1
x2
Winner
Winner
we,n Ae takeall
all Ee tm,e
take
xn Cm

xN
CM

Couche Couchecachée
Couche cachée Couchede
desortie
sortie
Couche Couche
d’entrée (couchedes
(couche desformes)
formes) (couchedes
desclasses
classes) )
d’entrée (couche
Cours #6 - 86 GPA-779 Application des réseaux de neurones et des systèmes experts
5 Applications - Réseau GAL
Couche des formes mémorisées :
N
Ae = ∑x n we,n
n=1
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 = Max ( Ai )
i
= 0 sinon

tem = 1 si le neurone "e" est étiqueté de la classe m,


=0 sinon
Cm = ∑E e tme
e
Cours #6 - 87 GPA-779 Application des réseaux de neurones et des systèmes experts
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éseau
si la décision prise par le réseau est bonne, alors pas de modification
si 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

Cours #6 - 88 GPA-779 Application des réseaux de neurones et des systèmes experts


5 Applications - Réseau GAL

m1 m2 m1 m2

e1(m2) e1(m2)
e2(m1)

e1(m1) e1(m1)

 

Exemple de la création séquentielle de neurones de formes

Apprentissage incrémental …..

Cours #6 - 89 GPA-779 Application des réseaux de neurones et des systèmes experts

Vous aimerez peut-être aussi