Vous êtes sur la page 1sur 6

Travaux Pratiques Mémoires associatives et réseaux récurrents 299

EXERCICES

MÉMOIRES ASSOCIATIVES ET RÉSEAUX RÉCURRENTS

1. Apprentissage hebbien
Trouver la matrice de transformation W pour emmagasiner les formes
T 1 = 1 1 – 1 – 1 et T 2 = – 1 1 1 – 1 selon la règle de Hebb.

Solution :

1 1 –1 –1 –1 1 1 –1

1 1 –1 –1 1 1 –1 –1 1 –1
W1 = W2 =
1 1 –1 –1 1 –1 1 1 –1 1
–1 –1 1 1 –1 –1 1 1 –1 1
–1 –1 1 1 –1 1 –1 –1 1 –1

2 0 –2 0
W = W1 + W2 = 0 2 0 –2
–2 0 2 0
0 –2 0 2
300 Les mémoires associatives Chapitre 6

2. Test d’un réseau de Hopfield discret avec 2 entrées en erreur


(ref. Fausett, exemple 3.22)
Le vecteur 1 1 1 – 1 a été préalablement emmagasiné dans un réseau de
Hopfield discret de 4 neurones. Détaillez le fonctionnement du réseau
lorsqu’un vecteur – 1 – 1 1 – 1 comportant des erreurs aux première et
seconde positions est présenté au réseau.
La solution est détaillée selon les étapes suivantes :

2.1 Apprentissage hebbien


Stocker le vecteur 1 1 1 – 1 par apprentissage hebbien.

2.2 Relaxation
Le vecteur – 1 – 1 1 – 1 (deux premières composantes en erreur) est
présenté au réseau.
L’ordre de visite d’évaluation des neurones est fixé à :
V1 V4 V3 V2
Calculer la sortie de chaque neurone pour la première itération du cycle
de relaxation.

2.3 Nombre de cycles de relaxation


Combien de cycles de relaxation sont nécessaires pour que la sortie du
réseau soit stable?

2.4 Fonction d’énergie


Calculer la mise à jour de la fonction d’énergie du réseau pour chaque
mise à jour de l’activation des neurones.
Travaux Pratiques Mémoires associatives et réseaux récurrents 301

3. Matrice de poids pour l’apprentissage hebbien (ref. Fausett, exercice 3.1)


L’équation 6.5 décrit la formation de la matrice de poids comme
l’accumulation des matrices de corrélation entre les couples entrée-sortie
T k :V k de toute la base d’apprentissage :
K
T T
C = W = E " Tk ! Vk # = ! Tk ! Vk
k=1
Montrer qu’une autre façon de visualiser la formation de la matrice de poids
est de former d’abord une matrice qui contient tous les vecteurs d’entrée T k
de la base d’apprentissage. La matrice résultante TT est de dimension N ! K
et ses colonnes correspondent aux formes d’entrée T k :

t1 & 1 ' $ t1 & K '


$ $ $
T T T T T T
T = & T1% T2% $% Tk % $% TK ' " T = tn & 1 ' $ tn & K '
$ $ $
tN & 1 ' $ tN & K '

Une seconde matrice, celle des prototypes à mémoriser V, est de dimension


K ! M et ses lignes correspondent aux prototypes de sortie :

v1 & 1 ' $ vM & 1 '


$ $ $
V = & V 1% V 2% $% V k% $% V K ' "( V = v1 & k ' $ vM & k '
$ $ $
v1 & K ' $ vM & K '

La matrice de poids W est alors obtenue en calculant le produit matriciel :


K K

! t1 & k 'v1 & k ' $ ! t1 & k 'vM & k '


k=1 k=1
T
W = T !V = $ $ $
K K

! tN & k 'v1 & k ' $ ! tN & k 'vM & k '


k=1 k=1
302 Les mémoires associatives Chapitre 6

4. Entraînement d’une mémoire hétéroassociative


(ref. Fausett, exemples 3.1 et 3.2, exercice 3.3)
Soit une mémoire hétéroassociative formée d’une entrée de dimension 4
T = t 1 t 2 t 3 t 4 et d’une sortie de dimension 2 V = v 1 v 2 . La mémoire
est entraînée avec la base d’apprentissage suivante :
t1 t2 t3 t4 v1 v2

1 1 0 0 0 1 1 0
Tk = 2 1 1 0 0 Vk = 2 1 0
3 0 0 0 1 3 0 1
4 0 0 1 1 4 0 1
k k
Construire la matrice de poids W à l’aide de l’algorithme d’apprentissage
hebbien :

4.1 Méthode de Hebb


Utiliser l’algorithme 6.1 pour bâtir la matrice de poids.

4.2 Produits vectoriels externes


La matrice de poids peut être calculée beaucoup plus rapidement en
utilisant la notation vectorielle. Utiliser les équations 6.4 et 6.5 pour bâtir
la matrice de poids.

4.3 Produit matriciel


Construire votre base d’apprentissage au moyen des matrices T et V
telles que décrites à l’exercice précédent. Calculer la matrice de poids au
moyen du produit matriciel de ces deux matrices.
Section Travaux PratiquesMémoires associatives et réseaux récurrents 303

5. Réseau de Hopfield utilisé en optimisation - le voyageur de commerce


La compagnie pour laquelle vous travaillez met à votre disposition une
enveloppe budgétaire limitée pour la promotion d’un produit développé par
votre équipe. Vous optez donc pour une tournée de promotion à travers la
province et décidez de faire une démonstration du produit dans cinq villes
cibles dénommées symboliquement a,b, c, d et e. Votre maigre budget vous
contraint à sélectionner le parcours total le plus court.

Le tableau ci-dessous liste les distances entre les 5 villes.

a b c d e
a 0 8 10 20 5
b 8 0 26 20 9
c 10 26 0 10 5
d 20 20 20 0 5
e 5 9 5 5 0

Le calcul du parcours optimal peut être résolu par un réseau de Hopfield dont
la fonction de sortie de chaque neurone est une sigmoïde. Le réseau de
Hopfield minimise une fonction d’énergie interne, fonction d’énergie qui est
remplacée par une fonction de coût pour l’adapter au problème
d’optimisation. En effet, un problème d’optimisation consiste
essentiellement à minimiser une fonction de coût régie par les contraintes
imposées à la solution du problème. La fonction de coût à minimiser pour
votre problématique d’ordre optimal de visite des 5 villes est donnée par:
A
--- ! ! ! V Xi V Xj
2 X i j#i
B
+ --- ! ! ! V Xi V Yi
2 i X Y#X
C =
C 2
+ ---- & ! ! V Xi – n'
2$ X i %

D
+ ---- ! ! ! d XY V Xi & V Y% i + 1 + V Y% i – 1 '
2 X Y#X i
Le calcul des poids de connexion entre chaque paire de neurones du réseau
s’obtient en résolvant la fonction de coût, ce qui nous donne :
304 Les mémoires associatives Chapitre 6

w Xi% Yj = – A( XY & 1 – ( ij ' – B( ij & 1 – ( XY ' – C – Dd XY & ( i% j + 1 + ( i% j – 1 '


Les paramètres du réseau sont :
A = 0% 5
B = 0% 3
C = 0% 2
D = 0% 6

5.1 Dessiner le réseau avec les connexions nécessaires et leur poids pour
représenter toutes les contraintes sauf celles de distance entre 2 villes.

5.2 Dessiner les connexions et leur poids pour représenter les contraintes de
distance entre 2 villes.

5.3 Le réseau s’est stabilisé sur le parcours bacedb. Identifier la valeur de


sortie de chaque neurone du réseau.

5.4 Quelles sont les contraintes que doit respecter la solution d’un itinéraire
optimal? Associer chacune des contraintes aux différents termes de la
fonction de coût.