Chapitre 6 Réseaux récurrents. GPA-779 Application des réseaux de neurones et des systèmes...

Post on 04-Apr-2015

137 views 13 download

Tags:

Transcript of Chapitre 6 Réseaux récurrents. GPA-779 Application des réseaux de neurones et des systèmes...

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

δ

δ