chapitre 6 réseaux récurrents. gpa-779 application des réseaux de neurones et des systèmes...
TRANSCRIPT
Chapitre 6
Réseaux récurrents
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 2
Plan Structure du réseau de Hopfield
Dynamique Apprentissage Application à l’optimisation Machine de Boltzmann
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 3
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)
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 4
Découverte informatique Matlab Student version with Simulink Learning Matlab 7 Learning Simulink 6 3 CDs pour installation– Windows– Linux– MacOS X
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 5
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
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 6
Inspiration: verres de spin
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 8
Modèle de neurone
Vi Vj Ti
j
Tj
i Vi Vj
Ti
j
€
Tij =T ji
€
Vj =1 si TijVii
∑ ≥ 0
Vj = −1 si TijVii
∑ < 0
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 9
Exemple
1 1
V1 V2
-2
-1
V3
+1+4
1
1
S3
S1
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 10
Énergie d ’un réseau de Hopfield
€
E=−12 TijViVj
j∑
i∑ − SiVi
i∑
Le système tend vers son état d’énergie minimal :
• Décroissance assurée de la fonction d’énergie
• Neurones activés à 1
• Activations calculées une à une
• Attention aux minima locaux (A) !
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 11
Exemple de calcul de l’énergie
1 1
V1 V2
-2
-1
V3
+1
+4
1
1
S3
S1
€
E=−V1V3T13+V1V2T12+V2V3T23[ ]−S1V1+S3V3[ ]
€
−E=−4+(−2)+(−1)+1+(−1)
€
−E=−7
€
E=−12 TijViVj
j∑
i∑ − SiVi
i∑
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 12
Un réseau simple de Hopfield
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 13
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 d’énergie et rappel de formes similaires précédemment enregistrées lors de l’apprentissage
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 14
Relation entre changement d’état et minimisation de l’énergie
On a
€
E=−12 TijViVj
j∑
i∑ − SiVi
i∑
Si le neurone ne change pas d’état :
Si le neurone change d’état :
€
ΔE=E t+1( )−E t( )
€
ΔE=−ΔVk TikVi+Ski≠k∑⎛
⎝ ⎜ ⎞
⎠
€
ΔE=0
Net(k)
Soit Vk l’activation d’un neurone k quelconque :
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 15
Exemple pour montrer l’équivalence
1 1
V1 V2
-2
-1
V3
+1
+4
1
1
S3
S1
€
E=−V1V3T13+V1V2T12+V2V3T23[ ]−S1V1+S3V3[ ]
€
−E=−4+(−2)+(−1)+1+(−1)
€
−E = −7⇒ E i = +7
€
E=−12 TijViVj
j∑
i∑ − SiVi
i∑
Neurone V1 1 -1
€
−E f = +4 + 2 −1−1−1
€
=+3
€
E f = −3⇒ E↓⇒ changement accepté
€
net1 = S1 − 2V2 + 4V3 =1− 2 − 4 = −5
V1 = −1
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 16
Relation entre changement d’état et minimisation de l’énergie (2)
€
ΔE=−ΔVk TikVi+Ski≠k∑⎛
⎝ ⎜ ⎞
⎠
€
ΔE=0
€
ΔE<0
€
ΔVkestpositifssi Tiki≠k∑ Vi+Skestpositif
€
ΔVkestnegatifssi Tiki≠k∑ Vi+Skestnegatif
€
Vk t( )=Vk t+1( )
€
Vk t( )≠Vk t+1( )
Si on a un changement d’état alors on est assuré de diminuer E :
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 17
Algorithme de relaxation
Vj tous visités ?
Tirage aléatoire d’une séquence de visite des neurones
Sélection du prochain neurone de la séquence
€
Vk=1si TikVi+Ski∑ ≥0
P stable ?
Non
NonOui
Oui
FIN
DÉPART
€
Vk=−1si TikVi+Ski∑ <0
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 18
7
5 4 3
12+1
-1
6
Exemple de relaxation
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 19
Les états stables du réseau
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 20
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
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 21
ExerciceExample 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
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 22
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)
€
tanhnet2
⎛ ⎝ ⎜
⎞ ⎠ ⎟ ou
1
1+ e−net
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 23
Exemple: Voyageur de commerceUn 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.
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 24
Itinéraires possibles :
5 villes = 1210 villes = 181440100 villes = 4.67 *10155
€
# parcours =n!2n
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 25
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
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 26
Fonction de coût (à minimiser) : 4 contraintesC1: 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
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 27
Fonction de coût C
€
C≡E=A2 Vxij≠i∑
i∑
x∑ Vxj+B2 Vxi
y≠x∑
x∑
i∑ Vyi+C2 Vxi−n
i∑
x∑⎛
⎝ ⎜ ⎞
⎠
2
+D2 dxyVxiVy,i+1+Vy,i−1( )i∑
y≠x∑
x∑
Vxi : neurone correspondant à la ville x à l’étape i
dxy : distance entre les villes x et y
A, B, C, D : facteurs de pondération pour les contraintes
C1 C2 C3 C4
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 28
Fonction de coût C
€
C≡E=A2 Vxij≠i∑
i∑
x∑ Vxj+B2 Vxi
y≠x∑
x∑
i∑ Vyi+C2 Vxi−n
i∑
x∑⎛
⎝ ⎜ ⎞
⎠
2
+D2 dxyVxiVy,i+1+Vy,i−1( )i∑
y≠x∑
x∑
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 les possibilités énumérées à l’étape précédente
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 29
Fonction de coût C
€
C≡E=A2 Vxij≠i∑
i∑
x∑ Vxj+B2 Vxi
y≠x∑
x∑
i∑ Vyi+C2 Vxi−n
i∑
x∑⎛
⎝ ⎜ ⎞
⎠
2
+D2 dxyVxiVy,i+1+Vy,i−1( )i∑
y≠x∑
x∑
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.
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 30
Fonction de coût C
€
C≡E=A2 Vxij≠i∑
i∑
x∑ Vxj+B2 Vxi
y≠x∑
x∑
i∑ Vyi+C2 Vxi−n
i∑
x∑⎛
⎝ ⎜ ⎞
⎠
2
+D2 dxyVxiVy,i+1+Vy,i−1( )i∑
y≠x∑
x∑
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 mois de n 1 dans le réseau
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 31
Fonction de coût C
€
C≡E=A2 Vxij≠i∑
i∑
x∑ Vxj+B2 Vxi
y≠x∑
x∑
i∑ Vyi+C2 Vxi−n
i∑
x∑⎛
⎝ ⎜ ⎞
⎠
2
+D2 dxyVxiVy,i+1+Vy,i−1( )i∑
y≠x∑
x∑
4. Exercice à faire à la maison
…….
GPA-779 Application des réseaux de neurones et des systèmes expertsCours #7 - 32
Calcul des poids
€
Wxi,yj=−Aδxy1−δij( )−Bδij 1−δxy( )−C−Ddxyδj,i+1+δj,i−1( )
sinon 0
si 1
:Kronecker deopérateur l' avec
=
==
ij
ij ji
δ
δ