Vous êtes sur la page 1sur 32

Chapitre 6

Réseaux récurrents
Plan
 Structure du réseau de Hopfield
 Dynamique
 Apprentissage
 Application à l’optimisation
 Machine de Boltzmann

Cours #7 GPA-779
- 2 Application des réseaux de neurones et des systèmes experts
Découverte
 J. Hertz, A. Krogh et R.G. Palmer, Introduction
to the theory of Neural Computation, Addison-
Wesley, 1991.
 Classique
 Orienté « sciences pures » (physique)
 Auteurs: chercheurs en physique stat.
 Cours d’études supérieures
 Approche théorique
 R.J. Schalkoff, Artificial Neural Networks,
McGraw Hill, 1997
 Approche matricielle
 Cours d’études supérieures
 Beaucoup d’exemples
 Couvre la plupart des modèles
 L. Fausett, Fundamentals of Neural Networks,
Prentice Hall, 1994
 Livre de référence pour les éditions
précédentes du cours (avant 2004)

Cours #7 GPA-779
- 3 Application des réseaux de neurones et des systèmes experts
Découverte informatique
 Matlab Student version
with Simulink
 Learning Matlab 7
 Learning Simulink 6
 3 CDs pour installation
– Windows
– Linux
– MacOS X

Cours #7 GPA-779
- 4 Application des réseaux de neurones et des systèmes experts
6.1 Architecture du réseau de
Hopfield
 Article à l’origine:
John Hopfield, 1982, Neural Networks and physical
systems with emergent collective computational
abilities
 Principe de base:
 Système nerveux possède des états stables
localement. Ces états stables permettent
d’emmagasiner de l’information qui agit comme
attracteur.
 Un état est présenté au réseau, qui tend alors
vers un état stable en minimisant son énergie

Cours #7 GPA-779
- 5 Application des réseaux de neurones et des systèmes experts
 Inspiration: verres de spin

Cours #7 GPA-779
- 6 Application des réseaux de neurones et des systèmes experts
 Modèle de neurone
Ti
Vi Vj
j

Tij = T ji

Tj

Vi i Vj
Vj = 1 si ∑ TijVi ≥ 0
Ti i

j Vj = −1 si ∑ TijVi < 0
i

Cours #7 GPA-779
- 8 Application des réseaux de neurones et des systèmes experts
 Exemple
V1 V2
-2
1 1 1

S1
+4 +1

-1
1
V3
S3
Cours #7 GPA-779
- 9 Application des réseaux de neurones et des systèmes experts
 Énergie d ’un réseau de Hopfield

Le système tend vers son


E=−1 ∑∑TijViV j−∑SiVi état d’énergie minimal :
2 i j i

• Décroissance assurée de
la fonction d’énergie

• Neurones activés à 1

• Activations calculées
une à une

• Attention aux minima


locaux (A) !

Cours #7 GPA-779
- 10 Application des réseaux de neurones et des systèmes experts
 Exemple de calcul de l’énergie

V2
V1 E=−1 ∑∑TijViV j−∑SiVi
- 2 i j i

1 1 2 1
S1
+ +
E=−[V1V3T13+V1V2T12+V2V3T23]−[S1V1+S3V3]
4 1
-1 −E=−4+(−2)+(−1)+1+(−1)

1
V3 −E=−7
S3

Cours #7 GPA-779
- 11 Application des réseaux de neurones et des systèmes experts
 Un réseau simple de Hopfield

Cours #7 GPA-779
- 12 Application des réseaux de neurones et des systèmes experts
6.2 Dynamique du réseau:
relaxation
Objectif : Partir d’un niveau d’énergie donné,
atteindre le minimum local le plus proche pour
récupérer l’information stockée (état stable)

Conditions initiales : Forme P  Si

Poids : Fixes (calculés lors d’un apprentissage antérieur)

Neurones : a) Activations calculées une à


une
b) Selon une séquence aléatoire
c) Valeurs 1 pour assurer la
minimisation de la fonction d’énergie.

Résultat : Minimisation de la fonction


Cours #7 GPA-779
- 13 Application des réseaux de neurones et des systèmes experts
Relation entre changement d’état et
minimisation de l’énergie

On a E=−12 ∑∑TijViV j−∑SiVi


i j i

Soit Vk l’activation d’un neurone k


quelconque :
Si le neurone ne change ΔE=0
pas d’état :

Si le neurone change Net(k)


d’état : ΔE=E (t+1)−E (t)

ΔE=−ΔVk⎜∑TikVi+Sk⎞
⎝ i≠k ⎠

Cours #7 GPA-779
- 14 Application des réseaux de neurones et des systèmes experts
 Exemple pour montrer l’équivalence
E=−1 ∑∑TijViV j−∑SiVi
2 i j i

V1 V2
E=−[V1V3T13+V1V2T12+V2V3T23]−[S1V1+S3V3]
-
1 1 2 1 −E=−4+(−2)+(−1)+1+(−1)
−E = −7 ⇒ E i = +7
S1
+
4
+
1
Neurone V1 1  -1
-1 −E f = +4 + 2 −1−1−1
1 € = +3
V3 E f = −3 ⇒ E ↓⇒ changement accepté
S3
net1 = S1 − 2V €2 + 4V3 = 1− 2 − 4 = −5
V1 = −1 €
Cours #7 GPA-779
- 15 €de neurones et des systèmes experts
Application des réseaux
Relation entre changement d’état et
minimisation de l’énergie (2)

un changement d’état alors on est assuré de diminuer E :


ΔE=−ΔVk⎜∑TikVi+Sk⎞
⎝ i≠k ⎠

Vk (t)=Vk (t+1) Vk (t)≠Vk (t+1)

ΔE=0 ΔE<0

ΔVk estpositif ssi ∑TikVi+Skest positif


i≠k

ΔVk estnegatif ssi ∑TikVi+Sk estnegatif


i≠k

Cours #7 GPA-779
- 16 Application des réseaux de neurones et des systèmes experts
Algorithme de relaxation
DÉPART

Tirage aléatoire d’une séquence de visite des neurones

Sélection du prochain neurone de la séquence

Vk =1si∑TikVi+Sk≥0
i

Vk =−1si∑TikVi+Sk<0
i

Non Vj tous
visités ?

Oui
Non
P stable ?

Oui
FIN
Cours #7 GPA-779
- 17 Application des réseaux de neurones et des systèmes experts
Exemple de relaxation
6 7

+1
2 1

-1

5 4 3

Cours #7 GPA-779
- 18 Application des réseaux de neurones et des systèmes experts
 Les états stables du réseau

Cours #7 GPA-779
- 19 Application des réseaux de neurones et des systèmes experts
6.3 Apprentissage
 « tailler » la courbe d’énergie
 La règle la plus simple: Hebb
 L’apprentissage est réalisé AVANT
d’utiliser le réseau comme mémoire
associative pour retrouver la forme
emmagasinée à partir d’information
partielle ou bruitée

Cours #7 GPA-779
- 20 Application des réseaux de neurones et des systèmes experts
Exercice
Example 3.22 (Fausett)

a) Stocker le vecteur (1,1,1,-1) par


apprentissage hebbien

b) Présenter (-1,-1,1,-1) lors de la phase de


relaxation

c) Déterminer le nombre correct d’itérations

d) Calculer la mise à jour de la fonction


d’énergie pour chaque mise à jour de
l’activation des neurones
Cours #7 GPA-779
- 21 Application des réseaux de neurones et des systèmes experts
6.4 Optimisation
 Une fonction de coût remplace la
fonction d’énergie
 L’optimisation consiste à minimiser la
fonction de coût
 La fonction de sortie utilisée est la
fonction sigmoïde (au lieu de la
fonction signe ou échelon)
⎛net ⎞ 1
tanh ⎜ ⎟ ou
⎝2 ⎠
− net

1+ e
Cours #7 GPA-779
- 22 Application des réseaux de neurones et des systèmes experts
 Exemple: Voyageur de commerce
Un vendeur doit établir un itinéraire de visite
de 5 villes. Il doit partir de Boston et revenir à
Boston à la fin de son itinéraire.
 Chaque ville est visitée une et une seule fois
 L’itinéraire doit être le plus court possible afin de
minimiser les frais d’essence
La principale difficulté rencontrée avec ce type
de problème est l’explosion combinatoire des
solutions à évaluer.

Cours #7 GPA-779
- 23 Application des réseaux de neurones et des systèmes experts
n!
# parcours =
2n

Itinéraires possibles :

5 villes = 12
10 villes = 181440
100 villes = 4.67 *10155
Cours #7 GPA-779
- 24 Application des réseaux de neurones et des systèmes experts
 Réseau de Hopfield
 Lignes  villes
 Colonnes  séquence de
visite
 Poids  contraintes du
problème à résoudre
– 1 ville visitée 1 seule fois
– 1 étape  1 seule ville
– Distance entre les villes
 Activation du réseau 
minimisation du coût

Cours #7 GPA-779
- 25 Application des réseaux de neurones et des systèmes experts
 Fonction de coût (à minimiser) : 4 contraintes
C1: Favoriser les états avec chaque cité visitée une
seule fois 1 neurone activé par ligne
C2: Favoriser les états avec une seule valeur de
position (par exemple, éviter que 2 villes
soient visitées à l’étape 3) 1 neurone activé par
colonne
C3: Favoriser les états qui incluent les n villes
C4: Favoriser les états avec les distances totales
les plus courtes

Cours #7 GPA-779
- 26 Application des réseaux de neurones et des systèmes experts
 Fonction de coût C
C1 C2 C3 C4

C≡E= A ∑∑ ∑ VxiVxj+ ∑∑∑VxiVyi+


B C ⎛⎜∑∑Vxi−n⎞ + D∑∑∑dxyVxi(Vy,i+1+Vy,i−1)
2 x i j≠i 2 i x y≠x 2⎝ x i ⎠ 2 x y≠x i

eurone correspondant à la ville x à l’étape i

istance entre les villes x et y

C, D : facteurs de pondération pour les contraintes

Cours #7 GPA-779
- 27 Application des réseaux de neurones et des systèmes experts
 Fonction de coût C
2

C≡E= A ∑∑∑VxiVxj+ B ∑∑∑VxiVyi+C ⎜∑∑Vxi−n⎞ + D∑∑∑dxyVxi(Vy,i+1+Vy,i−1)
2 x i j≠i 2 i x y≠x 2⎝ x i ⎠ 2 x y≠x i

1.Une matrice n’a pas plus de un 1 dans


chaque ligne si chaque produit scalaire
possible colonne par colonne est nul

La double somme de droite exprime les N-1 produits


scalaires de la colonne i (visite) pour une ligne
(ville) x avec les autres colonnes

La sommation de gauche exprime la sommation de toutes


Cours -les
28 possibilités
#7 GPA-779 Application des réseauxénumérées à systèmes
de neurones et des l’étape expertsprécédente
 Fonction de coût C
2

C≡E= A ∑∑∑VxiVxj+ B ∑∑∑VxiVyi+C ⎜∑∑Vxi−n⎞ + D∑∑∑dxyVxi(Vy,i+1+Vy,i−1)
2 x i j≠i 2 i x y≠x 2⎝ x i ⎠ 2 x y≠x i

2. Pénalité pour deux 1 ou plus dans


chaque colonne

Fonctionnement similaire à la contrainte précédente


mais pour contrôler le nombre 1 dans chaque colonne.

Cours #7 GPA-779
- 29 Application des réseaux de neurones et des systèmes experts
 Fonction de coût C
2

C≡E= A ∑∑∑VxiVxj+ B ∑∑∑VxiVyi+C ⎜∑∑Vxi−n⎞ + D∑∑∑dxyVxi(Vy,i+1+Vy,i−1)
2 x i j≠i 2 i x y≠x 2⎝ x i ⎠ 2 x y≠x i

3. Contrainte pour s’assurer que la


matrice ne contienne pas que des 0

En effet les deux contraintes précédentes pourraient ne


donner que des 0 et le réseau ne serait d’aucune
utilité : la meilleure facon de minimiser les frais de
déplacements est de ne pas voyager.

Cette contrainte pénalise aussi le fait d’avoir plus ou


Cours -mois
#7 GPA-779
30 de n 1 desdans
Application réseauxle réseau
de neurones et des systèmes experts
 Fonction de coût C
2

C≡E= A ∑∑∑VxiVxj+ B ∑∑∑VxiVyi+C ⎜∑∑Vxi−n⎞ + D∑∑∑dxyVxi(Vy,i+1+Vy,i−1)
2 x i j≠i 2 i x y≠x 2⎝ x i ⎠ 2 x y≠x i

4. Exercice à faire à la maison

…….

Cours #7 GPA-779
- 31 Application des réseaux de neurones et des systèmes experts
 Calcul des poids

Wxi,yj =−Aδxy(1−δ ij)−Bδ ij(1−δ xy )−C−Ddxy(δ j,i+1+δ j,i−1)

avec l' opérateur de Kronecker :


δ ij = 1 si i = j
δ ij = 0 sinon

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

Vous aimerez peut-être aussi