Mémoires associatives Chapitre 5 Mémoires associatives
Plan Architecture Phases d’opérations Catégories Entraînement Hebb Delta Mémoire anticipative Mémoire itérative
Découverte 3 livres du groupe PDP Bibles de l’époque Vol. 1: théorie 1986 Vol. 2: modèles bio. 1986 Vol. 3: modèles informatiques 1988 successeur: PDP++ 2003 http://psych.colorado.edu/~oreilly/PDP++/PDP++.html Bibles de l’époque Modèles info. PC-MAC-UNIX Bases de la rétropropag. Appendice: analyse vectorielle 1. Rumelhart, D.E., J.L. McClelland, and the PDP Research Group, eds. Parallel Distributed Processing - Explorations in the Microstructure of Cognition. Volume 1: Foundations. Computational Models of Cognition and Perception, ed. J.A. Feldman, P.J. Hayes, and D.E. Rumelhart. Vol. 1. 1986, The MIT Press: Cambridge, Massachusetts. 547. 2. McClelland, J.L., D.E. Rumelhart, and the PDP Research Group, eds. Parallel Distributed Processing - Explorations in the Microstructure of Cognition. Volume 2: Psychological and Biological Models. Computational Models of Cognition and Perception, ed. J.A. Feldman, P.J. Hayes, and D.E. Rumelhart. Vol. 2. 1986, The MIT Press: Cambridge, Massachusetts. 611. 3. McClelland, J.L. and D.E. Rumelhart, Explorations in Parallel Distributed Processing - A Handbook of Models, Programs, and Exercises. Computational Models of Cognition and Perception, ed. J.A. Feldman, P.J. Hayes, and D.E. Rumelhart. 1989, Cambridge, Massachusetts: The MIT Press. 353.
Principaux domaines d ’application 1. Classification 2. Regroupement 3. Approximation 4. Prédiction 5. Optimisation de parcours 6. Mémoire associative 7. Commande Application moderne: Bases d’images interrogées par le contenu. Autre façon d’emmagasiner de l’information. Les données sont REPARTIES à travers les connexions du réseau. L’information stockée est rappelée par son CONTENU, et non par son adresse en mémoire, comme dans les systèmes informatiques. Fondement biologique. Entrée: information que l’on désire retrouver. L’information peut être partielle ou bruitée. Elle est SIMILAIRE à l’info stockée. Sortie: forme mémorisée. REF.: Lepage & Solaiman, chap. 6 L. Fausett, Fundamentals of Neural Networks, Prentice Hall, 1994, chap. 3: Pattern Association J.M. Zurada, Introduction to Artificial Neural Systems, West Publishing, 1992, Chap. 6: Associative Memories R. Sabourin, SYS-843: Réseaux de neurones et systèmes flous, notes de cours, chap. 6: mémoires associatives
Reconstruction d ’images
Exemple d’application
5.1 Architecture W x1 y1 y2 x2 xN yM
y1 x1 w1n x2 y2 w2n wmn xn ym wMn xN yM La première ligne de W représente les connexions partant de l’entrée X vers le neurone de sortie y1 Dans la matrice transposée WT, chaque colonne de la matrice transposée représente le vecteur colonne de poids de chaque neurone de sortie Dans W, chaque ligne de la matrice représente le vecteur de poids de chaque neurone de sortie wMn xN yM
La première ligne de W représente les connexions partant de l’entrée X vers le neurone de sortie y1 Dans la matrice transposée WT, chaque colonne de la matrice transposée représente le vecteur colonne de poids de chaque neurone de sortie Dans W, chaque ligne de la matrice représente le vecteur de poids de chaque neurone de sortie
Phases d’opération 1- Entraînement 2- Recherche Prototype à mémoriser: Mémorisation: Entrée: 2- Recherche Idéalement, on désire que la mémoire soit incrémentale, i.e. que l’on puisse ajouter ou soustraire des prototypes sans avoir à recommencer pour les prototypes déjà appris, comme c’est le cas pour le perceptron multicouche. On mémorise les couples Tk:Vk Le vecteur clé X, qu’on appelle aussi la clé de rappel qui nous permet de récupérer le contenu de la mémoire, est transformé en résultat Y par la matrice de poids W. Le résultat est le prototype désiré, ou un prototype parasite. Ces deux phases sont disjointes dans le temps. La matrice de transformation W est d’abord formée. La mémoire peut ensuite être utilisée pour retrouver les prototypes emmagasinés par contenu en fournissant un vecteur d’entrée partiel ou bruité.
Catégories 1- Mémoire auto-associative 2- Mémoire héréro-associative Mémoire auto-associative: est utilisée pour retrouver l’info originale en présence de bruit. Ex.: retrouver un modèle de caractère de référence d’un caractère échantillonné distortionné et/ou bruité. Mémoire hétéro-associative: son objet braille lettre odeur fleur (image)
5.2 Entraînement Règle de Hebb Algorithme 0- Initialisation Wmn = 0 1- Pour chaque paire T : V 2- xn = tn 3- ym = vm 4- Wmn = Wmn(précédent) + xnym L’entraînement correspond à la première phase d’opération d’une MA, celle où on emmagasine les prototypes que l’on désire stocker. C’est une phase préliminaire, avant de pouvoir utiliser la mémoire. Deux règles communes pour bâtir W: Hebb et Delta. Il faudra explorer les vecteurs propres de la matrice W dans des prochaines éditions du cours. Cette forme est rarement utilisée en pratique, mais montre l’origine neuronal de l’algorithme, c’est à dire la loi de Hebb ou de corrélation, qui indique ce qui se passe au poids entre 2 neurones.
Algorithme alternatif: produit externe de vecteurs Variante: mettre à 0 les termes de la diagonale principale. La diagonale représente les connexions terme à terme xii - yii dans le réseau. La valeur constante de ce terme représente le nombre de prototypes emmagasinés et est forcement le poids le plus élevé du réseau. Conséquence: la sortie du réseau aura tendance à reproduire le vecteur à l’entrée, et non le prototype emmagasiné (dont l’entrée constitue une partie qu’on peut récupérer en entier). Par ailleurs, un réseau de Hopfield utilisé en MA n’admet pas de terme non-nul sur la diagonale, question de stabilité.
1- Entrées non-corrélées (vecteurs orthogonaux) 2- Entrées corrélés Phase de recherche Le choix de la règle de Hebb pour l’entraînement dépend en grande partie de la corrélation entre les prototypes d’apprentissage. Entrées non-corrélées: vecteurs sont orthogonaux entre eux. L’angle entre les vecteurs est 90o. X1 • X2 = X1 X2T 1- Entrées non-corrélées (vecteurs orthogonaux) recouvrement total et parfait 2- Entrées corrélés recouvrement croisé (bruit d’intercorrélation)
Capacité d’emmagasinement Maximum: N-1 (si tous les vecteurs d’apprentissage sont orthogonaux) Pour un réseau de Hopfield (mémoire itérative):
Règle Delta Règle itérative utilisée pour des vecteurs à mémoriser qui sont linéairement indépendants mais non-orthogonaux. La règle atténue les effets de corrélation croisée et produit une solution de moindres carrés lorsque les vecteurs ne sont pas linéairement indépendants La règle Delta est similaire à celle dérivée pour le perceptron multicouche.
5.3 Mémoires anticipatives Algorithme 1- Entraînement a) Hebbien b) Delta 2- Forme (partielle ou bruitée) présentée à l’entrée
5.4 Mémoires itératives 5.4.1 Réseau de Hopfield y1 y3 -2 1 1 x1 1 +4 Dans une mémoire itérative, la sortie requiert plusieurs étapes (coups d’horloge) avant de se stabiliser et afficher la sortie correcte. Réseau de Hopfield: Les couches d’entrée et de sortie sont confondues Les connexions sont symétriques Pas de connexion du neurone sur lui-même stabilité Activation (recherche) asynchrone +4 +1 -1 x2 1 y2
Énergie d’un réseau de Hopfield But: atteindre un creux d’énergie où le réseau sera stable et l’état correspondra à un prototype appris
2- Forme (partielle ou bruitée) présentée à l’entrée Algorithme 1- Entraînement: mémoriser les couples T:V 2- Forme (partielle ou bruitée) présentée à l’entrée yi = xi Relaxation: Pour chaque neurone (pris au hasard):
Un réseau simple de Hopfield On applique l’algorithme de relaxation à ce réseau. Vers quel état stable va-t-il tendre?
Relaxation 6 7 +1 2 1 -1 5 4 3
Les états stables du réseau Avec les poids indiqués, 2 états stables ont été emmagasinés
Un réseau de Hopfield comme MA
5.4.2 Mémoire associative bidirectionnelle - BAM
Exercice Trouver la matrice de transformation W (poids) pour emmagasiner les patrons: »t1=[1 1 -1 -1]; »t2=[-1 1 1 -1];
Solution »t1=[1 1 -1 -1]; »t2=[-1 1 1 -1]; »W=W1+W2 W = »W1=t1'*t1 1 1 -1 -1 -1 -1 1 1 »W2=t2'*t2 W2 = 1 -1 -1 1 -1 1 1 -1 »W=W1+W2 W = 2 0 -2 0 0 2 0 -2 -2 0 2 0 0 -2 0 2 » W0=W-2*eye(4) W0 = 0 0 -2 0 0 0 0 -2 -2 0 0 0 0 -2 0 0