Mise en œuvre de la mémoire associative
Écrit par Shashata Sawmya et Harveer Singh
Avec l'avènement des grands réseaux de neurones et les avancées technologiques toujours croissantes qui poussent les méthodes actuelles à leur limite absolue, l'accent a été mis sur la création d'un outil fourre-tout qui vise à tout faire. Cependant, la plupart des tâches n'auraient pas besoin des réseaux profonds incroyablement intensifs, mais toujours de quelque chose de plus polyvalent que les modèles mathématiques de base. Une tâche potentielle qui n'aurait pas besoin de l'intensité des réseaux de neurones profonds serait le stockage et la récupération d'informations appelées mémoires associatives. L'idée ici est que, compte tenu de certaines entrées, nous voudrions être en mesure de récupérer une sortie connexe d'un système qui associe ces deux ensemble et la garde en «mémoire». Le nom de mémoire associative provient du concept psychologique selon lequel notre cerveau est un système de stockage de mémoire capable de relier des concepts entre eux. Un type de mémoire associative est la mémoire auto-associative où nous donnons une représentation partielle de notre sortie souhaitée comme entrée, cela peut être soit la sortie avec du bruit ajouté, soit des parties de la sortie masquées. Un exemple de ce type de mémoire en action serait de voir une image partielle d'un parent et que votre cerveau soit capable de remplir automatiquement mentalement le reste de l'image. Un autre type est la mémoire hétéroassociative où les sorties peuvent appartenir à différentes catégories de l'entrée donnée, mais le modèle se souvient de les relier. Imaginez que vous entendiez le mot "chien", votre cerveau est capable de l'associer automatiquement à d'autres concepts tels que "chat" ou "laisse" [1]. Un exemple de ce type de mémoire en action serait de voir une image partielle d'un parent et que votre cerveau soit capable de remplir automatiquement mentalement le reste de l'image. Un autre type est la mémoire hétéroassociative où les sorties peuvent appartenir à différentes catégories de l'entrée donnée, mais le modèle se souvient de les relier. Imaginez que vous entendiez le mot "chien", votre cerveau est capable de l'associer automatiquement à d'autres concepts tels que "chat" ou "laisse" [1]. Un exemple de ce type de mémoire en action serait de voir une image partielle d'un parent et que votre cerveau soit capable de remplir automatiquement mentalement le reste de l'image. Un autre type est la mémoire hétéroassociative où les sorties peuvent appartenir à différentes catégories de l'entrée donnée, mais le modèle se souvient de les relier. Imaginez que vous entendiez le mot "chien", votre cerveau est capable de l'associer automatiquement à d'autres concepts tels que "chat" ou "laisse" [1].
Les systèmes AM (mémoire associative) ont une histoire riche, mais il existe des jalons de recherche clés qui peuvent donner un aperçu des avancées techniques :
- Filet de Willshaw (Willshaw et al, 1969)
- Réseau Hopfield (Hopfield, 1982)
Inspiré par les propriétés "semblables à la mémoire" des hologrammes, DJ Willshaw a proposé en 1969 le corrélélographe, ou corrélogramme, et une approche quantitative de la mémoire associative.
La figure ci-dessus montre la convolution des motifs A et B pour créer un nouveau motif sur C, plus précisément A et B contiennent des trous d'épingle à partir desquels une source de lumière (derrière A) passe pour créer un motif sur C qui contient des informations sur les deux motifs de trous d'épingle. À partir de là, voir la figure 2 ci-dessous, la création de trous d'épingle à partir du motif projeté sur C et le passage de la lumière émettant derrière C et à travers B produit exactement le même motif là où se trouvent les trous d'épingle de A.
Lors de la construction du corrélographe, Willshaw a remarqué que si A et B contenaient N trous d'épingle, le motif sur C serait de taille N². Cela a conduit à la proposition du réseau associatif, une intersection de N lignes parallèles (représentant A) et N lignes parallèles (représentant B).
La construction du réseau s'ensuit que chaque demi-cercle dans l'espace N² est activé si l'entrée gauche et l'entrée droite sont également activées, ce qui représente leur association l'une avec l'autre. Vous pouvez ensuite récupérer le motif A à partir de B en suivant les cercles sur le côté gauche et en voyant à quels cercles du haut ils sont associés en voyant sur lesquels des points N² se trouvent. Il est clair que cela fonctionnerait facilement avec une seule association de paires, mais il est également possible d'apprendre plusieurs modèles dans le même réseau. Willshaw montre que le maximum théorique d'efficacité du réseau est lorsque 50 % des points N² sont activés, ce qui diminue la probabilité d'un "hit faux" - suggérant un point en A qui n'était pas initialement associé au modèle B [2 ].
Réseau Hopfield
Naturellement à la suite du réseau associatif, une innovation majeure qui a stimulé la conception AM moderne s'est produite en 1982 lorsque John Hopfield, souvent désigné comme le parrain des réseaux de neurones, a proposé son réseau Hopfield. Le réseau est un récurrent entièrement connecté, chaque neurone étant dans un état binaire (0 ou 1) et le poids donné entre la valeur d'entrée et la valeur de sortie souhaitée est représenté dans une matrice de poids.
Si Tij est la matrice de pondération correspondante, l'association est réalisée par :
Où U dans une quantité de coupure intelligemment choisie pour améliorer la précision.
Pour stocker plusieurs états d'association, l'algorithme suivant est donné :
Nous imposons la restriction que pour i=j, le poids est 0 dans T. Cela conduit à la pseudo orthogonalité de :
Cela suggère que si Vi est 1, la valeur prédite pour J est positive et négative si elle est 0. Cela suit la règle d'association précédente où U est 0.
Cet algorithme d'apprentissage calcule essentiellement la moyenne des états stables pour chaque modèle, mais cela limite le nombre de modèles dont un réseau donné peut se souvenir. Inspiré des modèles d'Ising et de la minimisation de l'énergie, Hopfield propose que ce mécanisme de mise à jour soit interprété comme une minimisation de l'énergie. Pour un réseau récurrent à N nœuds, tous les nœuds sont connectés les uns aux autres, nous prenons un nœud aléatoire à la fois et utilisons la matrice de pondération pour mettre à jour ce nœud.
Où s est le numéro de nœud et la valeur entre parenthèses est le pas de temps.
Dans l'étude des points stables, l'algorithme de mise à jour est défini par cette règle énergétique :
Cela suggère que tout changement de Vi diminue l'énergie du réseau tant que le changement de Vi (+ ou -) correspond au signe de la sortie de la multiplication matricielle.
Les nœuds sont mis à jour de manière asynchrone et aléatoire en suivant la règle d'énergie et le seuil donnés. Un état d'énergie stable est garanti car la règle de mise à jour ne modifie un neurone que s'il diminue l'énergie à chaque pas de temps. Lors de la détermination du nombre d'états stables pouvant exister, il a été montré qu'environ 0,15 N états existent pour N neurones dans le modèle, une échelle strictement o (N) [3]. Il est également intéressant de noter que la structure de ce type de réseau est propice à la réussite des tâches auto-associatives, mais il existe des variantes telles que les encodages « vecteur-matrice-vecteur » qui peuvent également implémenter la mémoire hétéroassociative [4].
Théories biologiques
Une idée clé qui anime tous les modèles mentionnés ci-dessus est de promouvoir une connexion si un neurone correspond à celui du modèle correspondant. Ce style d'apprentissage est connu sous le nom d'"apprentissage hebbien" qui favorise une connexion dans les synapses si les deux neurones s'activent ensemble. Bien que la formation de la mémoire dans le cerveau soit encore un phénomène inconnu, il a été démontré en laboratoire que cette idée de "feu ensemble, fil ensemble" était biologiquement exacte [5].
Implémentation de la mémoire associative in-silico
La mémoire associative est un type de mémoire qui permet le stockage et la récupération d'informations en fonction des relations ou des associations entre différentes données. Développer des modèles informatiques pour un tel système est un problème bien établi à l'intersection des neurosciences et de l'intelligence artificielle. Des méthodes bien étudiées comme les réseaux Hopfield ne peuvent stocker que des modèles binaires ; cependant, les données complexes (comme les images et les textes) nécessitent des systèmes complexes pour résoudre le problème.
Les méthodes basées sur l'énergie sont-elles de bons modèles de calcul pour la mémoire associative ?
Presque tous les modèles de mémoire associative basés sur l'énergie stockent des modèles dans les minima locaux d'une fonction énergétique. L'idée principale derrière ces modèles est de définir un paysage énergétique, où les modèles stockés correspondent à des états stables à faible énergie. La fonction d'énergie est conçue pour avoir plusieurs minima locaux, chacun représentant un modèle stocké. Lorsque le système reçoit une entrée, il met à jour de manière itérative son état pour minimiser la fonction d'énergie, convergeant finalement vers le modèle stocké le plus proche, qui est le minimum local le plus proche de l'entrée. Certains modèles basés sur l'énergie sont -
Réseaux de Hopfield [2] : La fonction énergétique dans les réseaux de Hopfield est définie comme une fonction quadratique de l'état du réseau. Chaque motif stocké correspond à un minimum local de cette fonction énergétique. La dynamique du réseau garantit que le système convergera vers l'un de ces minima locaux, récupérant efficacement le modèle associé.
Machines de Boltzmann [6] : Dans les machines de Boltzmann, la fonction énergétique est définie en termes d'états des nœuds et de poids des connexions entre eux. Le processus d'apprentissage ajuste les pondérations pour créer un paysage énergétique avec des minima locaux qui correspondent aux modèles stockés. Le système utilise ensuite la dynamique stochastique pour explorer le paysage énergétique et s'installer dans un minimum local, en récupérant le modèle correspondant.
Approches basées sur la théorie du champ moyen [7] : Ces approches stockent également des motifs dans les minima locaux d'une fonction énergétique. En rapprochant la dynamique d'un système complexe avec la théorie du champ moyen, les processus d'apprentissage et de récupération peuvent être analysés et optimisés plus efficacement.
Ces modèles traditionnels peuvent gérer des données d'image à petite échelle, mais peuvent rencontrer des difficultés avec des images plus grandes et plus complexes en raison de leurs limites de capacité, d'évolutivité et de complexité de calcul.
L'interpolation seule peut-elle implémenter la mémoire associative ?
La mémorisation nécessite que le modèle récupère les données d'entraînement, tandis que l'interpolation est la capacité d'ajuster parfaitement les données d'entraînement. Ainsi, l'interpolation seule ne peut pas implémenter la mémoire associative. L'interpolation peut être une technique utile pour approximer des valeurs entre des points de données connus, mais elle n'est pas suffisante pour mettre en œuvre un système de mémoire associative à part entière. Les modèles de mémoire associative sont conçus pour stocker et récupérer des modèles en fonction de leurs associations, souvent en identifiant le modèle stocké le plus proche d'une entrée donnée, même si l'entrée est bruyante ou incomplète.
Bien que l'interpolation puisse être utilisée pour estimer des valeurs entre des points de données connus, elle n'est pas intrinsèquement conçue pour traiter le bruit, les informations incomplètes ou la reconnaissance de formes. Les méthodes d'interpolation, telles que l'interpolation linéaire ou polynomiale, reposent sur l'hypothèse que la fonction sous-jacente est lisse ou a une forme spécifique, ce qui peut ne pas être vrai pour de nombreux problèmes de mémoire associative du monde réel.
Une méthode alternative pour la mémoire associative — la surparamétrisation ?
La surparamétrisation fait référence à une situation dans laquelle un modèle d'apprentissage automatique a un grand nombre de paramètres (pondérations et biais) par rapport à la taille de l'ensemble de données d'apprentissage. En d'autres termes, le modèle est plus complexe que nécessaire pour expliquer ou saisir les modèles sous-jacents dans les données. Il a été observé auparavant que des modèles surparamétrés peuvent interpoler les données ; une étude récente de Radhakrishnan et al. 2020 [8] ont montré que les auto-encodeurs surparamétrés pouvaient également être utilisés pour mémoriser et récupérer des exemples d'apprentissage. Le mécanisme est remarquablement simple ; — les exemples peuvent être
récupéré simplement en itérant la carte apprise.
Auto-encodeurs ! Aussi sur-paramétré ! Qu'est-ce que c'est?
Un auto-encodeur est un type de réseau neuronal artificiel utilisé pour l'apprentissage non supervisé de représentations de données efficaces, souvent dans le but de réduire la dimensionnalité, l'apprentissage de caractéristiques ou la compression de données. Il se compose de deux parties principales : l'encodeur et le décodeur.
L'objectif d'apprentissage d'un auto-encodeur est de minimiser l'erreur de reconstruction entre les données d'entrée et les données reconstruites, qui est générée en faisant passer l'entrée à travers l'encodeur puis le décodeur.
En termes simples, un auto-encodeur surparamétré est un auto-encodeur avec un grand nombre de paramètres. Adit et. Al. ont montré que les auto-encodeurs surparamétrés stockent des exemples de formation sous forme de points fixes ou d'actionneurs. Cependant, il apprend aussi la carte identité f(x) = x
C'est un inconvénient pour l'associativité car une condition préalable est que la dérivée des exemples doit être inférieure à 1. Adit et. Al. 2020ont travaillé sur le principe que les auto-encodeurs surparamétrés sont suffisamment puissants pour implémenter la mémoire associative. Ils ont montré dans leurs travaux que les auto-encodeurs surparamétrés peuvent être utilisés comme une « mémoire associative basée sur des attracteurs ». L'idée centrale derrière les systèmes basés sur des attracteurs est que le réseau devrait être capable de récupérer un modèle stocké lorsqu'il reçoit une version incomplète ou bruyante de ce modèle. Le modèle d'entrée sert de signal, et la dynamique du réseau guide le système vers l'attracteur le plus proche, « nettoyant » efficacement le bruit ou remplissant les informations manquantes - en termes simples, l'OPA peut implémenter la mémoire associative. Les conditions mathématiques pour être une mémoire associative basée sur les attracteurs sont -
- Les exemples doivent être des points fixes.
- Les dérivées dans les exemples doivent être inférieures à 1.
Cela arrive-t-il vraiment ?
L'article fournit de nombreuses preuves empiriques que des attracteurs peuvent être trouvés dans les auto-encodeurs à travers diverses architectures et techniques d'optimisation. Les auteurs ont démontré avec succès un auto-encodeur surparamétré capable de stocker 500 images de l'ensemble de données ImageNet-64 en tant qu'attracteurs. Ils ont confirmé que les 500 images d'entraînement étaient bien stockées en tant qu'attracteurs en examinant les valeurs propres de la matrice jacobienne pour chaque exemple. L'étude a également analysé la vitesse à laquelle les exemples de formation pouvaient être récupérés sous différentes formes de corruption, révélant un taux de récupération incroyablement élevé.
D'autres expériences ont montré que les auto-encodeurs pouvaient également stocker des exemples de formation en tant qu'attracteurs lorsqu'ils étaient formés avec 2 000 images de l'ensemble de données MNIST et 1 000 images en noir et blanc de l'ensemble de données CIFAR10. Bien que de faux attracteurs (attracteurs autres que des exemples de formation) puissent potentiellement exister dans des auto-encodeurs surparamétrés, les chercheurs n'ont pas été en mesure d'identifier de tels attracteurs parasites dans leur exemple ImageNet-64.
Les auteurs ont mené une analyse complète du phénomène d'attracteur, en examinant diverses architectures courantes, méthodes d'optimisation et schémas d'initialisation. Celles-ci comprenaient une gamme de non-linéarités, de méthodes d'optimisation et de schémas d'initialisation. Leurs résultats ont révélé que des attracteurs apparaissaient dans chaque scénario où la formation convergeait vers une perte suffisamment faible en 1 000 000 d'époques. De manière significative, ce phénomène ne s'est pas limité aux réseaux entièrement connectés, il a également été observé dans des architectures de réseau largement utilisées, telles que les réseaux convolutifs et récurrents.
De manière significative, ce phénomène n'était pas limité aux réseaux entièrement connectés, car il a également été observé dans les architectures de réseau largement utilisées, telles que les réseaux convolutifs et récurrents. Pour visualiser les attracteurs 2D, ils ont formé un auto-encodeur pour stocker six exemples d'entraînement en tant qu'attracteurs et ont visualisé leurs bassins d'attraction en itérant la carte de l'auto-encodeur formé, à partir de 10 000 points de grille jusqu'à la convergence. Le champ vectoriel dans l'expérience indique la direction du mouvement donnée par itération. Chaque exemple d'entraînement et son bassin d'attraction correspondant sont représentés par des couleurs différentes. Fait intéressant, l'étude a révélé que la métrique apprise par l'auto-encodeur pour séparer les bassins d'attraction n'est pas la distance euclidienne, ce qui serait indiqué par un diagramme de Voronoi.
L'encodage de séquence donne de meilleurs résultats que l'encodage automatique.
Modifier légèrement la fonction objectif des auto-encodeurs entraîne la mise en œuvre de mémoires associatives. Les chercheurs ont montré que la minimisation de la fonction de perte pour un seuil suffisamment petit et stable encode les séquences d'apprentissage comme les cycles limites du réseau (un type d'attracteur qui présente un comportement stable et périodique).
Note de fin
En conclusion, la mémoire associative est un aspect fascinant de la cognition humaine qui a été étudié dans divers contextes, notamment les systèmes biologiques, les réseaux de Hopfield et les réseaux de neurones surparamétrés. Notre compréhension de la mémoire associative dans les organismes vivants a inspiré le développement de modèles informatiques, tels que les réseaux de Hopfield, qui à leur tour ont fait progresser les domaines de l'intelligence artificielle et de l'apprentissage automatique.
Des recherches récentes sur les réseaux de neurones surparamétrés ont découvert l'émergence d'attracteurs, un phénomène lié à la mémoire associative, à travers une gamme d'architectures et de techniques d'optimisation. Ce développement passionnant renforce non seulement le lien entre les systèmes neuronaux biologiques et artificiels, mais ouvre également de nouvelles opportunités pour explorer des modèles plus efficaces et plus robustes pour le stockage et la récupération de la mémoire.
Alors que nous continuons à découvrir les mécanismes complexes sous-jacents à la mémoire associative, nos découvertes alimenteront de nouvelles innovations dans l'intelligence artificielle, ouvrant la voie à des modèles avancés, inspirés de la biologie, capables de simuler les capacités cognitives humaines. Cette exploration en cours promet d'améliorer notre compréhension de la relation complexe entre la biologie et l'informatique, menant finalement à des percées qui peuvent profiter aux deux domaines.
Remerciements particuliers à Nir N. Shavit pour ses conseils et sa discussion utile. Créé dans le cadre de la classe MIT 6.S978 - Tissue vs Silicon in Machine Learning, printemps 2023.
Les références
- Smith, J. (2022). Qu'est-ce que la mémoire associative ? Très bien l'esprit.https://www.verywellmind.com/what-is-associative-memory-5198601
- Willshaw, DJ, Buneman, OP et Longuet-Higgins, HC (1969). Mémoire associative non holographique. Nature , 222 (5197), 960–962. Y. (2018). Fondements théoriques des mémoires associatives alpha-bêta : 10 ans d'extensions, de modèles et d'applications dérivés. Lettres de traitement neuronal , 48 (2), 811–847.
- Hopfield, JJ (1982). Réseaux de neurones et systèmes physiques dotés de capacités informatiques collectives émergentes. Actes de l'Académie nationale des sciences , 79 (8), 2554-2558.
- Kosko, B. (1988). Mémoires associatives bidirectionnelles. Transactions IEEE sur les systèmes, l'homme et la cybernétique, 18(1), 49–60.
- McClelland, JL (2006). Jusqu'où pouvez-vous aller avec l'apprentissage de l'hébbien, et quand cela vous égare-t-il. Processus de changement dans le cerveau et le développement cognitif : attention et performance xxi, 21, 33–69.
- Ackley, David H., Geoffrey E. Hinton et Terrence J. Sejnowski. "Un algorithme d'apprentissage pour les machines Boltzmann." Sciences cognitives 9.1 (1985): 147–169.
- Barabási, Albert-László, Réka Albert et Hawoong Jeong. "Théorie du champ moyen pour les réseaux aléatoires sans échelle." Physica A: Mécanique statistique et ses applications 272.1–2 (1999): 173–187.
- Radhakrishnan, Adityanarayanan, Mikhail Belkin et Caroline Uhler. "Les réseaux de neurones surparamétrés implémentent la mémoire associative." Actes de l'Académie nationale des sciences 117.44 (2020): 27162–27170