La mémoire auto-associative, également connue sous le nom de mémoire d'auto-association ou réseau d'auto-association, est tout type de mémoire capable de récupérer une donnée à partir d'un échantillon infime de celle-ci. Cette capacité la rend efficace pour le débruitage des entrées, l'élimination des interférences et la détermination si une entrée donnée est « connue » ou « inconnue » en fonction des motifs stockés. Dans les réseaux de neurones artificiels, des exemples incluent les autoencodeurs variationnels, les autoencodeurs de débruitage et les réseaux de Hopfield. Dans les systèmes de mémoire informatique, ce concept est également appelé mémoire adressable par contenu (CAM). On dit que le réseau reconnaît un vecteur « connu » s'il produit un motif d'activation de sortie identique à l'un des vecteurs stockés.
Contexte
Le stockage de données standard est indexé par des adresses mémoire positionnelles, utilisées pour la récupération. Les mémoires auto-associatives, en revanche, sont organisées dans une structure de type graphe où les poids de connexion reflètent les connexions associatives inhérentes entre les mémoires. Cela permet des requêtes utilisant un fragment de mémoire comme clé, récupérant simultanément cette mémoire et celles étroitement liées. Il a été démontré que les réseaux de Hopfield agissent comme une mémoire auto-associative car ils peuvent se souvenir de données en observant une partie de celles-ci.
Réseaux auto-associatifs itératifs
Dans certains cas, un réseau auto-associatif ne reproduit pas un motif stocké dès la première tentative, mais si la sortie est renvoyée en entrée, le motif stocké émerge. Trois autres types existent : l'auto-associateur linéaire récurrent, le réseau Brain-State-in-a-Box et le réseau de Hopfield discret. Le réseau de Hopfield est l'exemple le plus connu de mémoire auto-associative.
Réseau de Hopfield
Les réseaux de Hopfield servent de systèmes de mémoire adressable par contenu (associative) avec des nœuds à seuil binaire. Il a été démontré qu'ils agissent comme des mémoires auto-associatives car ils peuvent rappeler des motifs complets à partir d'une entrée partielle. La dynamique du réseau converge vers des attracteurs stockés, permettant la complétion de motifs et l'élimination du bruit.
Mémoire hétéro-associative
Les mémoires hétéro-associatives, en revanche, rappellent une donnée associée d'une catégorie lors de la présentation de données d'une autre catégorie. Par exemple, le motif « banane » pourrait déclencher le rappel du motif différent « singe ». Les mémoires associatives bidirectionnelles (BAM) sont des réseaux de neurones artificiels utilisés depuis longtemps pour le rappel hétéro-associatif.
Exemple
Les fragments de phrase ci-dessous sont suffisants pour que la plupart des adultes anglophones se souviennent des informations manquantes :
- « Être ou ne pas être, c'est _____ . »
- « Je suis venu, j'ai vu, _____ . »
De nombreux lecteurs réaliseront que les informations manquantes sont :
- « Être ou ne pas être, c'est la question. »
- « Je suis venu, j'ai vu, j'ai vaincu. »
Cela démontre la capacité des réseaux auto-associatifs à rappeler le tout à partir de certaines de ses parties.
Applications
Les mémoires auto-associatives sont largement utilisées dans Machine learning pour des tâches telles que le débruitage d'images, la compression de données et la détection d'anomalies. Les architectures Deep learning comme réseaux de neurones intègrent des principes auto-associatifs dans modèles génératifs et grands modèles de langage pour la complétion de contexte. Dans le matériel, la mémoire adressable par contenu est implémentée dans les processeurs AMD et Intel pour des opérations de recherche à haute vitesse.
Concepts connexes
La mémoire auto-associative est étroitement liée à la mémoire associative et à la mémoire adressable par contenu. Dans Artificial intelligence, elle sous-tend des techniques comme autoencodeurs de débruitage et réseaux de Hopfield. Le concept se connecte également à la mémoire hétéro-associative et à mémoire associative bidirectionnelle.