Académique Documents
Professionnel Documents
Culture Documents
Introduction
Les mémoires associatives ont été proposés par plusieurs auteurs dès 1977 dont
T. Kohonen. Nous nous appuyons sur ses travaux qui ont été admirablement
résumé par C. Jutten. Dans mémoire associative, le terme "mémoire" fait
référence à la fonction de stockage de l'information et le terme "associative" au
mode d'adressage. L'expression "mémoire adressable par son contenu" est aussi
souvent employée. L'information mémorisée ne peut être obtenue à une adresse
précise, le seul moyen d'accès est de fournir une information. Dans le cas des
mémoires auto-associatives, il faut fournir tout ou partie de l'information
mémorisée. Ces mémoires sont donc principalement utilisées pour la
reconstruction de données : l'opérateur fourni une information partielle que le
système complète. Des expérimentation dans ce sens ont été faite avec l'annuaire
électronique où l'utilisateur tape le maximum d'informations relatives à sa
demande, que le système complète et corrige (fig. 1). Les mémoires hétéro-
associatives se différencient des précédentes en rendant une information
différente. Par exemple, si la clef d'entrée est une image de visage, le système
répond par le nom de la personne correspondante..
3
Introduction
Introduction
• Extensions du cas à une sortie ; chaque vecteur d’entrée est
associé avec un vecteur de sortie au lieu d’un scalaire.
• Le vecteur de sortie peut :
▫ Représenter une forme identifiée par le réseau
▫ Classer le vecteur d’entrée dans une parmi plusieurs
catégories, chacune représentée par un neurone de sortie.
• Plusieurs types :
▫ Mémoire hétéro-associative : la dimension du vecteur
de sortie est différente de celle du vecteur d’entrée
▫ Mémoire associative par interpolation : les deux
dimensions sont égales
Si les neurones d’entrée et ceux de sortie sont fusionnés en une
seule couche, la mémoire est dite auto-associative.
5
Introduction
• Les mémoires hétéro-associatives sont des extensions
des réseaux de Hebb, du perceptron et des adalines .
Structure
La structure neuronale d'une mémoire associative est
similaire à celle d'une carte auto-organisatrice sans la
notion de voisinage (cf. chapitre suivant), ou à celle d'un
ensemble de Perceptrons tous alimentés par les mêmes
entrées. La figure 2 montre cette architecture où chaque
entrée est connectée par des poids modifiables à toutes
les sorties. La dimension de la couche d'entrée est de n
neurones, celle de sortie de p. Il y a donc n×p poids dans
ce réseau.
7
Structure
Fonctionnement
Le principe de fonctionnement d'une mémoire associative se résume
ainsi. Soit (E1, E2, ..., El, ...) un ensemble de vecteurs de Rn. A chaque
vecteur El appelé "prototype" de l'espace d'entrée est associé un
vecteur de sortie Sl. La relation d'association entre El et Sl est linéaire.
Elle est donnée par l'équation :
Sl = W . El
où W est la matrice des poids de dimension (p.n). C'est une matrice
rectangulaire de p lignes et n colonnes.
L'objectif est de faire réaliser à ce réseau des associations entre les
vecteurs d'entrées et les vecteurs de sortie désirés. Ceci nécessite une
étape d'apprentissage.
9
Apprentissage
L'apprentissage est de type supervisé. La base d'apprentissage est composée
de couple de vecteurs d'entrée et des vecteurs de sortie associés.
L'algorithme d'apprentissage initial fait appel à la règle de Hebb. Une
entrée El est appliquée sur les neurones d'entrée du réseau et l'on force
dans le même temps les valeurs des neurones de sortie à Sl. Les poids de
chaque connexion est alors modifié selon la coactivité du neurone afférent
(entrée) et du neurone efférent (sortie). Cet algorithme est itéré sur tous les
exemples de la base d'apprentissage. A la fin du processus d'apprentissage,
si la matrice W est initialement nulle (W = 0), on obtient :
Apprentissage
Règles de calcul matriciel:
• Produit matrice-vecteur, – si le nombre colonne de
W = dim X
Résultats
a b c d
Figure 2. Illustration du fonctionnement d'une mémoire auto-associative (d'après Kohonen).
a) Images originales apprises à gauche « patterns ».
b) Clefs soumises en entrée au réseau.
c) Images restituées par le réseau lorsque 160 images ont été stockées.
d) Images restituées par le réseau lorsque 500 images ont été stockées.
y 12
w ji (t j a j ) xi , i=1…n+1,
(ou w j (t j a j ) x , ou encore w x t j a j )
t
• Si on utilise une fonction d’activation f() qui est dérivable, la règle delta
peut être réécrite pour en tenir compte.
▫ Partant de l’expression E=(tj-yj)2 - au lieu de (tj-aj)2 – on a
E y j a j
2(t j y j 2(t j y j f ' (a j ) 2(t j y j f ' (a j ) x i
w ji w ji w ji
• Par conséquent, la règle delta devient :
w ji (t j y j f ' (a j ) xi
16
1) Initialiser tous les poids wji i=1…n+1, j=1..m ( habituellement de petites valeurs tirées
au hasard)
2) Régler le coefficient de convergence (0 < 1 ; typiquement 0.1 m 1) ; choisir
les paramètres de la fonction de sortie si utilisée;
3) répéter :
Pour chaque paire d’apprentissage s , t :
a) Régler les unités d’entrée aux valeurs des composantes de , xi=si, i=1…n, poser
xn+1=1 pour le biais;
b) Pour chaque neurone de sortie j :
Calculer l’activation de l’unité de sortie :
n 1
a j w ji x i ( yj=f(aj) aussi au besoin);
i 1
c) Ajuster les poids synaptiques du neurone :
jusqu’à ce que les poids ne changent plus de façon significative d’une itération à l’autre