Mémoire distribuée clairsemée - Sparse distributed memory

La mémoire distribuée clairsemée ( SDM ) est un modèle mathématique de la mémoire humaine à long terme introduit par Pentti Kanerva en 1988 alors qu'il était au NASA Ames Research Center . Il s'agit d'une mémoire vive (RAM) généralisée pour les mots binaires longs (par exemple, 1 000 bits). Ces mots servent à la fois d'adresses et de données pour la mémoire. L'attribut principal de la mémoire est la sensibilité à la similitude, ce qui signifie qu'un mot peut être relu non seulement en donnant l'adresse d'écriture d'origine, mais aussi en en donnant une proche, mesurée par le nombre de bits non appariés (c'est-à-dire la distance de Hamming entre les adresses mémoire ).

SDM implémente la transformation de l'espace logique vers l'espace physique en utilisant la représentation et le stockage de données distribuées, de la même manière que les processus de codage dans la mémoire humaine. Une valeur correspondant à une adresse logique est stockée dans de nombreuses adresses physiques. Ce mode de stockage est robuste et non déterministe. Une cellule mémoire n'est pas adressée directement. Si les données d'entrée (adresses logiques) sont partiellement endommagées, nous pouvons toujours obtenir des données de sortie correctes.

La théorie de la mémoire est mathématiquement complète et a été vérifiée par simulation informatique . Il est né de l'observation que les distances entre les points d'un espace de grande dimension ressemblent aux relations de proximité entre les concepts dans la mémoire humaine. La théorie est également pratique en ce que les mémoires basées sur celle-ci peuvent être mises en œuvre avec des éléments de mémoire à accès aléatoire conventionnels .

Définition

La mémoire humaine a tendance à rassembler des souvenirs basés sur des similitudes entre eux (bien qu'ils puissent ne pas être liés), tels que "les camions de pompiers sont rouges et les pommes sont rouges". La mémoire distribuée clairsemée est une représentation mathématique de la mémoire humaine et utilise un espace de grande dimension pour aider à modéliser les grandes quantités de mémoire qui imite celle du réseau neuronal humain. Une propriété importante de ces espaces de grande dimension est que deux vecteurs choisis au hasard sont relativement éloignés l'un de l'autre, ce qui signifie qu'ils ne sont pas corrélés. SDM peut être considéré comme une réalisation du hachage sensible à la localité .

L'idée sous-jacente d'un SDM est le mappage d'une énorme mémoire binaire sur un ensemble plus petit d'emplacements physiques, appelés emplacements durs . En règle générale, ces emplacements fixes doivent être uniformément répartis dans l'espace virtuel, pour imiter l'existence d'un espace virtuel plus grand aussi précisément que possible. Chaque donnée est stockée, distribuée par un ensemble d'emplacements fixes, et récupérée en faisant la moyenne de ces emplacements. Par conséquent, le rappel peut ne pas être parfait, la précision dépendant de la saturation de la mémoire.

La proposition de Kanerva repose sur quatre idées de base :

  • 1. L'espace booléen , ou les points dans les dimensions, présente des propriétés qui sont similaires aux notions intuitives des relations entre les concepts des humains. Cela signifie qu'il est logique de stocker des données sous forme de points de l'espace mentionné où chaque élément de mémoire est stocké sous forme de vecteur de n bits.
  • 2. Les neurones à n entrées peuvent être utilisés comme décodeurs d'adresses d'une mémoire vive
  • 3. Principe unificateur : les données stockées dans la mémoire peuvent être utilisées comme adresses vers la même mémoire. La distance entre deux points est une mesure de similarité entre deux éléments de mémoire. Plus les points sont proches, plus les vecteurs stockés sont similaires.
  • 4. Le temps peut être tracé dans la mémoire en fonction de l'endroit où les données sont stockées, si les données sont organisées sous forme de séquences d'événements

L'espace binaire N

Le SDM fonctionne avec des vecteurs à n dimensions avec des composants binaires. Selon le contexte, les vecteurs sont appelés points, motifs, adresses, mots, éléments de mémoire, données ou événements. Cette section concerne principalement les propriétés de l'espace vectoriel N = . Soit n le nombre de dimensions de l'espace. Le nombre de points, ou d'éléments de mémoire possibles, est alors . Nous désignerons ce nombre par N et utiliserons N et pour représenter également l'espace lui-même.

Concepts liés à l'espace N :

  • Origine , 0 : Le point avec toutes les coordonnées 0 est appelé l'origine, 0 = 000...00.
  • Complément , 'x : Le complément, ou opposé, du point x est le n-uplet qui a des uns où x a des zéros et vice versa.
  • Norm , |x| : La norme du point x est le nombre de uns dans sa représentation binaire.
  • Différence , x − y : La différence de deux points x et y est le n-uplet qui a des uns où x et y diffèrent et des zéros ailleurs. C'est le ' ou ' exclusif au niveau du bit : x − y = x ⊕ y. La différence commute : x − y = y − x.
  • Distance , d(x, y) La distance entre deux points x et y est le nombre de dimensions auxquelles x et y diffèrent. Elle est appelée distance de Hamming (sa racine carrée est la distance euclidienne ) et s'exprime en bits. La distance est la norme de la différence : d(x, y) = |x − y|
  • Intermédiaire , x:y:z : Le point y est entre les points x et z si et seulement si la distance de x à z est la somme des distances de x à y et de y à z ; c'est-à-dire x:y:z d(x, z) = d(x, y) + d(y, z). On voit facilement que chaque bit d'un point intermédiaire est une copie du bit correspondant d'un point final.
  • Orthogonalité , x ⊥ y : Le point x est orthogonal au point y, ou les deux sont perpendiculaires ou indifférents, si et seulement si la distance entre les deux est la moitié du nombre de dimensions : x ⊥ y ⇔ d(x, y) = n /2. La distance n/2 est appelée distance d'indifférence de l'espace N. Si x est orthogonal à y, il est aussi orthogonal à son complément 'y (x est à mi-chemin entre y et 'y).
  • Cercle , O(r,x) Un cercle de rayon r et de centre x est l'ensemble des points qui sont au plus r bits de x : O(r,x) = {y | d(x, y) r}.

Propriétés de l'espace N :

L'espace N peut être représenté par les sommets du cube unité dans l' espace euclidien de dimension n . Les sommets se trouvent sur la surface d'une sphère à n dimensions de rayon (métrique euclidien) . Cela donne lieu à l' analogie de la sphère . On appellera un espace sphérique si

  • 1. tout point x a un unique opposé 'x,
  • 2. l'espace entier est entre n'importe quel point x et son opposé 'x, et
  • 3. tous les points sont "égaux" (ce qui signifie que pour deux points x et y, il existe une distance préservant l' automorphisme de l'espace qui mappe x à y, de sorte qu'à partir de n'importe lequel de ses points, l'espace "semble" identique).

La surface d'une sphère (dans l'espace 3D euclidien) est clairement sphérique. Par définition, N est aussi sphérique, puisque y ⊕ x ⊕ (…) est un automorphisme qui fait correspondre x à y. Parce que N est sphérique, il est utile de le considérer comme la surface d'une sphère de circonférence 2n. Tous les points de N sont également qualifiés de points d'origine, et un point et son complément sont comme deux pôles à distance n l'un de l'autre, avec tout l'espace entre eux. Les points à mi-chemin entre les pôles et perpendiculaires à eux sont comme l'équateur.

Répartition de l'espace N

Le nombre de points qui sont exactement d bits forment un point arbitraire x (disons, à partir du point 0) est le nombre de façons de choisir d coordonnées sur un total de n coordonnées, et est donc donné par le coefficient binomial :

La distribution de N est donc la distribution binomiale avec les paramètres n et p, où p = 1/2. La moyenne de la distribution binomiale est n/2 et la variance est n/4. Cette fonction de distribution sera notée N(d). La distribution normale F de moyenne n/2 et d' écart type en est une bonne approximation : N(d) = Pr{d(x, y) ≤ d} ≅ F{(d − n / 2)/ }

Tendance à l'orthogonalité

Une propriété remarquable de N est que la plus grande partie se situe approximativement à la distance moyenne (d'indifférence) n/2 d'un point (et de son complément). En d'autres termes, la majeure partie de l'espace est presque orthogonale à un point donné, et plus n est grand, plus cet effet est prononcé.

En tant que réseau de neurones

Le SDM peut être considéré soit comme une extension adressable par le contenu d'une mémoire vive (RAM) classique, soit comme un type spécial de réseau neuronal à trois couches . Les principales modifications SDM apportées à la RAM sont :

  • Le SDM calcule les distances de Hamming entre l'adresse de référence et chaque adresse de localisation. Pour chaque distance inférieure ou égale au rayon donné, l'emplacement correspondant est sélectionné.
  • La mémoire est représentée par des compteurs (où n est le nombre d'emplacements et m est la longueur des données d'entrée) au lieu d'éléments de stockage à un seul bit.
  • L'écriture dans la mémoire, au lieu de l'écrasement, est la suivante :
    • si le i-bit des données d'entrée est 1, les compteurs correspondants (compteurs aux emplacements sélectionnés (lignes) et aux i-ème colonnes) sont incrémentés,
    • si le bit i des données d'entrée est à 0, les compteurs correspondants sont décrémentés.
  • La lecture (ou le rappel) de la mémoire est similaire :
    • Le contenu des emplacements sélectionnés est additionné par colonne.
    • Chaque somme est seuillée. Si la somme est supérieure ou égale à la valeur seuil le bit de sortie correspondant est mis à 1, dans le cas contraire il est remis à zéro. Notez que les seuils peuvent être nuls, si les vecteurs d'entrée d'apprentissage sont proches des vecteurs orthogonaux.

Modèle de neurone

Une description idéalisée du neurone est la suivante : un neurone a un corps cellulaire avec deux types de branches : des dendrites et un axone . Il reçoit des signaux d'entrée d'autres neurones via des dendrites, les intègre (somme) et génère son propre signal de sortie (électrique) qui est envoyé aux neurones extérieurs via l'axone. Les points de contact électrique entre les neurones sont appelés synapses .

Lorsqu'un neurone génère un signal, il se déclenche et après le déclenchement, il doit récupérer avant de se déclencher à nouveau. L'importance relative d'une synapse pour le déclenchement du neurone est appelée poids synaptique (ou coefficient d'entrée ). Il existe deux types de synapses: excitateur ce neurone de déclenchement à feu et d' inhibition que le tir de Hinder. Le neurone est soit excitateur, soit inhibiteur selon les types de synapses que fait son axone.

Un neurone se déclenche lorsque la somme des entrées dépasse un seuil spécifique . Plus le seuil est élevé, plus il est important que les synapses excitatrices aient une entrée, contrairement aux synapses inhibitrices. Le fait qu'un neurone récupéré se déclenche réellement dépend du fait qu'il a reçu suffisamment d'entrées excitatrices (au-delà du seuil) et pas trop d'entrées inhibitrices au cours d'une certaine période.

Le modèle formel du neurone fait des hypothèses simplificatrices supplémentaires. Un neurone à n entrées est modélisé par une fonction de seuil linéaire comme suit :

Pour où n est le nombre d'entrées, soit la sortie à l'instant t : , et soit la i -ième entrée à l'instant t : . Soit le poids de la i -ième entrée et soit le seuil.

La somme pondérée des entrées au temps t est définie par

La sortie du neurone à l'instant t est alors définie comme une fonction booléenne :

Où F t =1 signifie que le neurone se déclenche à l'instant t et F t = 0 qu'il ne se déclenche pas, c'est-à-dire que pour que le neurone se déclenche, la somme pondérée doit atteindre ou dépasser le seuil . Les entrées excitatrices augmentent la somme et les entrées inhibitrices la diminuent.

Neuron comme décodeur d'adresse

La thèse clé de Kanerva est que certains neurones pourraient avoir leurs coefficients d'entrée et leurs seuils fixés pendant toute la vie d'un organisme et utilisés comme décodeurs d'adresses où n -uplet de coefficients d'entrée (le modèle auquel les neurones répondent le plus facilement) détermine la mémoire n bits adresse, et le seuil contrôle la taille de la région des modèles d'adresse similaires auxquels le neurone répond.

Ce mécanisme est complémentaire des synapses ajustables ou des poids ajustables dans un réseau de neurones ( apprentissage de la convergence perceptron ), car ce mécanisme d'accès fixe serait un référentiel permanent qui permet de sélectionner les synapses dans lesquelles l'information est stockée et à partir de laquelle elle est récupérée dans un ensemble donné de circonstances. De plus, un codage de la circonstance présente servirait d'adresse.

L'adresse a d'un neurone avec des coefficients d'entrée w où est définie comme un modèle d'entrée à n bits qui maximise la somme pondérée. Le maximum se produit lorsque les entrées inhibitrices sont des zéros et les entrées excitatrices sont des uns. Le i- ième bit d'adresse est :

(en supposant que les poids ne sont pas nuls)

La somme maximale pondérée est alors la somme de tous les coefficients positifs :

Et la somme pondérée minimale correspondrait à un point opposé à l'adresse du neurone a` :

Lorsque le seuil c est dans la plage, la sortie du neurone est 0 pour certaines adresses (schémas d'entrée) et 1 pour d'autres. Si le seuil est supérieur à S, la sortie est toujours 0, s'il est inférieur à s, la sortie est toujours 1. Ainsi, par un choix approprié du seuil, un neurone ne répond qu'à une seule adresse. Lorsque le seuil est S (le maximum pour la somme pondérée) le neurone ne répond qu'à sa propre adresse et agit comme un décodeur d'adresse d'une mémoire vive classique .

Emplacement mémoire

SDM est conçu pour gérer les modèles d'adresses qui couvrent un espace d'adressage énorme (ordre de ). SDM suppose que les modèles d'adresse décrivant réellement les situations physiques d'intérêt sont dispersés de manière éparse dans tout l'espace d'entrée. Il est impossible de réserver un emplacement physique distinct correspondant à chaque entrée possible ; SDM n'implémente qu'un nombre limité d' emplacements physiques ou fixes . L'emplacement physique est appelé emplacement mémoire (ou emplacement matériel ).

Chaque emplacement dur est associé à deux éléments :

  • une adresse fixe fixe, qui est l'adresse N bits de l'emplacement
  • une partie de contenu qui a une largeur de M bits et qui peut accumuler plusieurs modèles de données de M bits écrits dans l'emplacement. La partie contenu n'est pas fixe ; il est modifié par des modèles de données écrits dans la mémoire.

Dans SDM, un mot pourrait être stocké en mémoire en l'écrivant dans un emplacement de stockage libre et en fournissant en même temps à l'emplacement le décodeur d'adresse approprié. Un neurone en tant que décodeur d'adresse sélectionnerait un emplacement en fonction de la similitude de l'adresse de l'emplacement avec l'indice de récupération. Contrairement aux machines de Turing conventionnelles , SDM profite du calcul parallèle par les décodeurs d'adresses . Le simple accès à la mémoire est considéré comme du calcul, dont la quantité augmente avec la taille de la mémoire.

Modèle d'adresse

Un vecteur de N bits utilisé pour l'écriture et la lecture de la mémoire. Le modèle d'adresse est une description codée d'un état environnemental. (par exemple N = 256.)

Modèle de données

Un vecteur de M bits qui fait l'objet des opérations d'écriture et de lecture. Comme le modèle d'adresse, il s'agit d'une description codée d'un état environnemental. (par exemple M = 256.)

L'écriture

L'écriture est l'opération consistant à stocker un modèle de données dans la mémoire à l'aide d'un modèle d'adresse particulier. Lors d'une écriture, l'entrée dans la mémoire se compose d'un modèle d'adresse et d'un modèle de données. Le modèle d'adresse est utilisé pour sélectionner des emplacements de mémoire matérielle dont les adresses matérielles se trouvent à une certaine distance de coupure du modèle d'adresse. Le modèle de données est stocké dans chacun des emplacements sélectionnés.

En train de lire

La lecture est l'opération consistant à récupérer un modèle de données de la mémoire en utilisant un modèle d'adresse particulier. Lors d'une lecture, un modèle d'adresse est utilisé pour sélectionner un certain nombre d' emplacements de mémoire dure (comme lors d'une écriture). Le contenu des emplacements sélectionnés est additionné au niveau du bit et seuillé pour dériver un modèle de données à M bits. Cela sert de sortie lue dans la mémoire.

Chaînes de pointeur

Tous les éléments sont liés dans une seule liste (ou tableau) de pointeurs vers des emplacements mémoire et sont stockés dans la RAM. Chaque adresse dans un tableau pointe vers une ligne individuelle dans la mémoire. Cette ligne est ensuite renvoyée si elle est similaire à d'autres lignes. Les neurones sont utilisés comme décodeurs et encodeurs d'adresses, de la même manière que les neurones fonctionnent dans le cerveau, et renvoient des éléments de la matrice qui correspondent ou sont similaires.

Distance critique

Le modèle de mémoire de Kanerva a un concept de point critique : avant ce point, un élément précédemment stocké peut être facilement récupéré ; mais au-delà de ce point, un élément ne peut pas être récupéré. Kanerva a calculé méthodiquement ce point pour un ensemble particulier de paramètres (fixes). La distance critique correspondante d'une mémoire distribuée creuse peut être évaluée approximativement en minimisant l'équation suivante avec la restriction et . La preuve peut être trouvée dans,

Où:

  • : est la distance à la cible ;
  • : est le nombre de hard-locations activés pendant les opérations de lecture et d'écriture (cette valeur dépend des valeurs de rayon d'accès) ;
  • : est le nombre total de chaînes de bits stockées en mémoire ;
  • : est le nombre d'emplacements fixes en mémoire ;
  • : est le nombre de fois où la chaîne de bits cible a été écrite en mémoire ;
  • : est le total des chaînes de bits aléatoires dans tous les emplacements physiques activés par une opération de lecture ;
  • : est le nombre moyen d'emplacements fixes partagés activés par deux bits de chaînes de bits éloignés l'un de l'autre. On peut trouver quelques valeurs pour un SDM à 1000 dimensions dans le livre de Kanerva, Tableau 7.1, p. 63, ou les équations à calculer pour n'importe quel MJF à l'annexe B, p. 125 du même livre.

Interprétation probabiliste

Un système de mémoire associative utilisant des représentations dispersées et distribuées peut être réinterprété comme un échantillonneur d'importance , une méthode de Monte Carlo d'approximation de l'inférence bayésienne . Le SDM peut être considéré comme une approximation de Monte Carlo d'une intégrale de probabilité conditionnelle multidimensionnelle . Le SDM produira des réponses acceptables à partir d'un ensemble d'apprentissage lorsque cette approximation est valide, c'est-à-dire lorsque l'ensemble d'apprentissage contient suffisamment de données pour fournir de bonnes estimations des probabilités conjointes sous - jacentes et qu'il existe suffisamment d'échantillons de Monte Carlo pour obtenir une estimation précise de l'intégrale. .

Plausibilité biologique

Le codage clairsemé peut être une stratégie générale des systèmes neuronaux pour augmenter la capacité de mémoire. Pour s'adapter à leur environnement, les animaux doivent apprendre quels stimuli sont associés aux récompenses ou aux punitions et distinguer ces stimuli renforcés de ceux similaires mais non pertinents. Une telle tâche nécessite la mise en œuvre de mémoires associatives spécifiques au stimulus dans lesquelles seuls quelques neurones d'une population répondent à un stimulus donné et chaque neurone ne répond qu'à quelques stimuli parmi tous les stimuli possibles.

Les travaux théoriques sur SDM par Kanerva ont suggéré que le codage clairsemé augmente la capacité de la mémoire associative en réduisant le chevauchement entre les représentations. Expérimentalement, des représentations éparses d'informations sensorielles ont été observées dans de nombreux systèmes, notamment la vision, l'audition, le toucher et l'olfaction. Cependant, malgré l'accumulation de preuves d'un codage clairsemé et d'arguments théoriques pour son importance, une démonstration que le codage clairsemé améliore la spécificité du stimulus de la mémoire associative a fait défaut jusqu'à récemment.

Des progrès ont été réalisés en 2014 par le laboratoire de Gero Miesenböck à l' Université d'Oxford en analysant le système olfactif de la drosophile . Chez la drosophile, on pense que le codage des odeurs clairsemées par les cellules de Kenyon du corps du champignon génère un grand nombre d'emplacements adressables avec précision pour le stockage de souvenirs spécifiques aux odeurs. Lin et al. ont démontré que la rareté est contrôlée par un circuit de rétroaction négative entre les cellules de Kenyon et le neurone latéral antérieur apparié (APL) GABAergique . L'activation et le blocage systématiques de chaque branche de ce circuit de rétroaction montrent que les cellules Kenyon activent l'APL et que l'APL inhibe les cellules Kenyon. Perturber la boucle de rétroaction des cellules Kenyon-APL diminue la rareté des réponses aux odeurs des cellules Kenyon, augmente les corrélations entre les odeurs et empêche les mouches d'apprendre à discriminer des odeurs similaires, mais pas différentes. Ces résultats suggèrent que la rétro-inhibition supprime l'activité des cellules de Kenyon pour maintenir un codage d'odeur clairsemé et décorrélé et donc la spécificité d'odeur des souvenirs. Une publication de 2017 dans Science a montré que le circuit olfactif fly implémente une version améliorée du hachage binaire sensible à la localité via des projections aléatoires clairsemées.

Interprétation quantique-mécanique

La superposition quantique stipule que tout système physique existe simultanément dans tous ses états possibles , dont le nombre est exponentiel par rapport au nombre d'entités composant le système. La force de présence de chaque état possible dans la superposition – c'est-à-dire la probabilité avec laquelle il serait observé s'il était mesuré – est représentée par son coefficient d' amplitude de probabilité . L'hypothèse selon laquelle ces coefficients doivent être représentés physiquement de manière disjointe, c'est-à-dire localement, est presque universelle dans la littérature sur la théorie quantique et l'informatique quantique . Alternativement, comme suggéré récemment par Gerard Rinkus de l'Université Brandeis , ces coefficients peuvent être représentés à l'aide de représentations distribuées clairsemées (SDR) en ligne avec la conception SDM de Kanerva, dans laquelle chaque coefficient est représenté par un petit sous-ensemble d'une population globale d'unités de représentation et les sous-ensembles peuvent chevauchement.

Plus précisément, si nous considérons un modèle SDR dans lequel la population globale est constituée de Q grappes, chacune ayant K unités binaires, de sorte que chaque coefficient est représenté par un ensemble de Q unités, une par grappe. Nous pouvons alors considérer l'état du monde particulier, X, dont la représentation du coefficient, R(X), est l'ensemble des unités Q actives au temps t pour avoir la probabilité maximale et les probabilités de tous les autres états, Y, pour correspondre à la taille de l'intersection de R(Y) et R(X). Ainsi, R(X) sert à la fois de représentation de l'état particulier, X, et de distribution de probabilité sur tous les états. Lorsqu'un code donné, par exemple R(A), est actif, tous les autres codes stockés dans le modèle sont également physiquement actifs proportionnellement à leur intersection avec R(A). Ainsi, SDR fournit une réalisation classique de superposition quantique dans laquelle les amplitudes de probabilité sont représentées directement et implicitement par des tailles d' intersections d'ensembles . S'il existe des algorithmes pour lesquels le temps nécessaire pour stocker (apprendre) de nouvelles représentations et pour trouver la représentation stockée la plus proche ( inférence probabiliste ) reste constant au fur et à mesure que des représentations supplémentaires sont stockées, cela répondrait au critère de l'informatique quantique . (Voir aussi cognition quantique et mémoire associative quantique )

Applications

Dans les applications de la mémoire, les mots sont des motifs de caractéristiques. Certaines caractéristiques sont produites par un système sensoriel, d'autres contrôlent un système moteur. Il existe un modèle courant (par exemple 1000 bits), qui est le contenu courant du focus du système . Les capteurs alimentent le foyer, les moteurs sont entraînés à partir du foyer et la mémoire est accessible via le foyer.

Ce qui se passe dans le monde – l'expérience « subjective » du système – est représenté intérieurement par une séquence de motifs dans le foyer. La mémoire stocke cette séquence et peut la recréer plus tard dans le focus si elle est adressée avec un modèle similaire à celui rencontré dans le passé. Ainsi, la mémoire apprend à prédire ce qui va se passer. De larges applications de la mémoire seraient dans des systèmes qui traitent des informations du monde réel en temps réel.

Les applications incluent la vision  - détection et identification d'objets dans une scène et anticipation des scènes suivantes - robotique , détection et vérification de signaux , et apprentissage et contrôle adaptatifs . Sur le plan théorique, le fonctionnement de la mémoire peut nous aider à comprendre la mémoire et l' apprentissage chez les humains et les animaux.

La meilleure recherche de correspondance

SDM peut être appliqué au problème de trouver la meilleure correspondance avec un mot de test dans un ensemble de données de mots stockés. ou, en d'autres termes, le problème de recherche du voisin le plus proche .

Considérons une mémoire avec N emplacements où . Supposons que chaque emplacement ait la capacité d'un mot de n bits (par exemple N = 2 100 mots de 100 bits), et que le décodage d'adresse soit effectué par N neurones du décodeur d'adresse. Réglez le seuil de chaque neurone x à sa somme pondérée maximale et utilisez un paramètre commun d pour ajuster tous les seuils lors de l'accès à la mémoire. Le seuil effectif du neurone x sera alors ce qui signifie que l'emplacement x est accessible à chaque fois que l'adresse x est à d bits de l'adresse présentée en mémoire (c'est-à-dire l'adresse détenue par le registre d'adresses). Avec nous avons une mémoire vive conventionnelle . Supposons en outre que chaque emplacement a un bit spécial d' occupation d'emplacement auquel on peut accéder de la même manière que les bits de référence normaux. L'écriture d'un mot dans un emplacement définit ce bit d' occupation de l'emplacement . Supposons que seul l'emplacement occupé peut être lu.

Pour archiver les données en mémoire, commencez par définir et émettez une commande pour effacer le bit d' emplacement occupé . Cette opération unique marque toute la mémoire comme inoccupée quelles que soient les valeurs du registre d'adresses. Ensuite, définissez et écrivez chaque mot y de l'ensemble de données avec y lui-même comme adresse. Notez que chaque opération d'écriture n'affecte qu'un seul emplacement : l'emplacement y . Le temps d'archivage est donc proportionnel au nombre de mots du jeu de données.

Trouver la meilleure correspondance pour un mot de test z , implique de placer z dans le registre d'adresses et de trouver la plus petite distance d pour laquelle il y a un emplacement occupé. Nous pouvons lancer la recherche en définissant et en incrémentant d successivement jusqu'à ce qu'un emplacement occupé soit trouvé. Cette méthode donne des temps de recherche moyens qui sont proportionnels au nombre de bits d'adresse ou légèrement inférieurs à ce que l'on peut s'attendre à ce que l'emplacement occupé le plus proche soit juste sous les bits de z (avec une recherche binaire sur d, ce serait O(log(n)) .

Avec des mots de 100 bits, 2 100 emplacements seraient nécessaires, c'est-à-dire une mémoire énorme. Cependant, si nous construisons la mémoire pendant que nous stockons les mots de l'ensemble de données, nous n'avons besoin que d'un seul emplacement (et d'un décodeur d'adresse) pour chaque mot de l'ensemble de données. Aucun des emplacements inoccupés ne doit être présent. Cela représente l'aspect de la rareté dans la MJF.

Reconnaissance de la parole

La SDM peut être appliquée à la transcription de la parole , la formation consistant à "écouter" un large corpus de langue parlée . Deux problèmes difficiles avec la parole naturelle sont de savoir comment détecter les limites des mots et comment s'adapter à différents locuteurs. La mémoire doit être capable de gérer les deux. Premièrement, il stocke des séquences de motifs sous forme de chaînes de pointeurs. Lors de l'entraînement - lors de l'écoute de la parole - il construira une structure probabiliste avec l'incidence la plus élevée de branchement aux limites des mots. Lors de la transcription de la parole, ces points de branchement sont détectés et ont tendance à diviser le flux en segments qui correspondent aux mots. Deuxièmement, la sensibilité de la mémoire à la similitude est son mécanisme d'ajustement aux différents locuteurs – et aux variations de la voix du même locuteur.

"Réaliser l'oubli"

Fonctions de désintégration
La fonction de décroissance exponentielle
La fonction sigmoïde négative-traduite

À l'Université de Memphis, Uma Ramamurthy, Sidney K. D'Mello et Stan Franklin ont créé une version modifiée du système de mémoire distribuée clairsemée qui représente "la réalisation de l'oubli". Il utilise une équation de décroissance pour mieux montrer les interférences dans les données. Le système de mémoire distribuée éparse distribue chaque motif dans environ un centième des emplacements, de sorte que les interférences peuvent avoir des résultats préjudiciables.

Deux exemples possibles de désintégration de cette mémoire distribuée éparse modifiée sont présentés

Mécanisme de décroissance exponentielle :

Mécanisme de désintégration du sigmoïde à traduction négative :

Dans la fonction de décroissance exponentielle, il s'approche de zéro plus rapidement lorsque x augmente, et a est une constante (généralement entre 3-9) et c est un compteur. Pour la fonction sigmoïde négative- traduite , la décroissance est similaire à la fonction de décroissance exponentielle lorsque a est supérieur à 4.

Lorsque le graphique approche de 0, il représente comment la mémoire est oubliée à l'aide de mécanismes de désintégration.

Mémoire génétiquement distribuée éparse

Ashraf Anwar, Stan Franklin et Dipankar Dasgupta à l'Université de Memphis ; a proposé un modèle d'initialisation SDM à l'aide d'algorithmes génétiques et de programmation génétique (1999).

La mémoire génétique utilise un algorithme génétique et une mémoire distribuée clairsemée comme pseudo-réseau de neurones artificiels. Il a été envisagé pour une utilisation dans la création de vie artificielle.

Prédiction statistique

La SDM a été appliquée à la prédiction statistique , la tâche consistant à associer des vecteurs d'état perceptuels extrêmement grands à des événements futurs. Dans des conditions de quasi ou de surcapacité, où le comportement de la mémoire associative du modèle s'effondre, le traitement effectué par le modèle peut être interprété comme celui d'un prédicteur statistique et chaque compteur de données dans un SDM peut être considéré comme une estimation indépendante de la probabilité conditionnelle qu'une fonction binaire f soit égale à l'ensemble d'activation défini par l'emplacement mémoire du compteur.

Intelligence artificielle générale

  • LIDA utilise une mémoire distribuée clairsemée pour aider à modéliser la cognition dans les systèmes biologiques. La mémoire dispersée répartie place l'espace en rappel ou en reconnaissance de l'objet qu'il possède par rapport à d'autres objets. Il a été développé par Stan Franklin, le créateur du système de mémoire distribuée clairsemée modifiée "réalisant l'oubli". Les mémoires épisodiques et déclaratives transitoires ont distribué des représentations dans LIDA (basées sur une version modifiée de SDM), il est prouvé que c'est également le cas dans le système nerveux.
  • CMatie est un agent logiciel "conscient" développé pour gérer les annonces de séminaires dans le département des sciences mathématiques de l' Université de Memphis . Il est basé sur la SDM augmentée de l'utilisation d' algorithmes génétiques comme mémoire associative .
  • La mémoire temporelle hiérarchique utilise SDM pour stocker des représentations distribuées éparses des données.

(Voir également l' architecture cognitive et l'intelligence générale artificielle pour une liste de projets liés à la SDM)

Apprentissage par renforcement

Les SDM fournissent un schéma d' approximation de fonction locale linéaire, conçu pour fonctionner lorsqu'un espace d'entrée (adresse) très grand/de grande dimension doit être mappé dans une mémoire physique beaucoup plus petite . En général, les architectures locales, SDM incluses, peuvent être sujettes à la malédiction de la dimensionnalité , car certaines fonctions cibles peuvent nécessiter, dans le pire des cas, un nombre exponentiel d'unités locales à approximer avec précision sur tout l'espace d'entrée. Cependant, il est largement admis que la plupart des systèmes de prise de décision n'ont besoin d'une grande précision qu'autour de variétés de faible dimension de l' espace d'état , ou d'"autoroutes" d'état importantes. Les travaux de Ratitch et al. a combiné le modèle de mémoire SDM avec les idées de l' apprentissage basé sur la mémoire , qui fournit un approximateur capable d'adapter dynamiquement sa structure et sa résolution afin de localiser les régions de l'espace d'état qui sont « plus intéressantes » et d'allouer proportionnellement plus de ressources mémoire pour les modéliser avec précision.

Indexation d'objets en vision par ordinateur

Le laboratoire de Dana H. Ballard a démontré une technique d'indexation d'objets à usage général pour la vision par ordinateur qui combine les vertus de l' analyse en composantes principales avec les propriétés d'appariement favorables des espaces de grande dimension pour obtenir une reconnaissance de haute précision. L'algorithme d'indexation utilise un système de vision active en conjonction avec une forme modifiée de SDM et fournit une plate-forme pour apprendre l'association entre l'apparence d'un objet et son identité.

Rallonges

De nombreuses extensions et améliorations de SDM ont été proposées, par exemple :

  • Espace mémoire ternaire : Cela permet à la mémoire d'être utilisée comme mémoire épisodique transitoire (TEM) dans les agents logiciels cognitifs . La TEM est une mémoire à haute spécificité et à faible rétention, utilisée pour des événements présentant des caractéristiques d'un moment et d'un lieu particuliers.
  • SDM entier qui utilise des vecteurs entiers arithmétiques modulaires plutôt que des vecteurs binaires. Cette extension améliore les capacités de représentation de la mémoire et est plus robuste par rapport à la normalisation. Il peut également être étendu pour prendre en charge l'oubli et le stockage fiable des séquences.
  • Utilisation de vecteurs de mots de plus grande taille que les vecteurs d'adresse : cette extension préserve bon nombre des propriétés souhaitables du SDM d'origine : auto-associabilité, adressabilité du contenu, stockage distribué et robustesse sur les entrées bruyantes. De plus, il ajoute de nouvelles fonctionnalités, permettant un stockage auto-associatif efficace de séquences de vecteurs, ainsi que d'autres structures de données telles que des arbres.
  • Construire la SDM à partir de neurones à pointes : Malgré la ressemblance biologique de la SDM, la plupart des travaux entrepris pour démontrer ses capacités à ce jour ont utilisé des modèles de neurones hautement artificiels qui font abstraction du comportement réel des neurones dans le cerveau . Des travaux récents du laboratoire de Steve Furber à l' Université de Manchester ont proposé des adaptations à la MJF, par exemple en incorporant des codes de rang N-de-M dans la façon dont les populations de neurones peuvent coder l'information, ce qui peut permettre de construire une variante SDM à partir de données biologiquement plausibles. Composants. Ce travail a été intégré à SpiNNaker (Spiking Neural Network Architecture) qui est utilisé comme plate-forme de calcul neuromorphique pour le Human Brain Project .
  • Distribution non aléatoire des emplacements : bien que les emplacements de stockage soient initialement distribués de manière aléatoire dans l'espace d'adressage binaire N, la distribution finale des emplacements dépend des modèles d'entrée présentés et peut être non aléatoire, ce qui permet une meilleure flexibilité et une meilleure généralisation . Le modèle de données est d'abord stocké aux emplacements les plus proches de l'adresse d'entrée. Le signal (c'est-à-dire le modèle de données) se propage alors dans toute la mémoire, et un petit pourcentage de la force du signal (par exemple 5%) est perdu à chaque emplacement ultérieur rencontré. La distribution du signal de cette manière supprime le besoin d'un rayon de lecture/écriture sélectionné, l'une des caractéristiques problématiques du SDM d'origine. Tous les emplacements sélectionnés dans une opération d'écriture ne reçoivent pas maintenant une copie du modèle binaire d'origine avec la même force. Au lieu de cela, ils reçoivent une copie du modèle pondéré avec une valeur réelle comprise entre 1,0 et 0,05 à stocker dans des compteurs à valeur réelle (plutôt que des compteurs binaires dans le SDM de Kanerva). Cela récompense les emplacements les plus proches avec une plus grande force de signal et utilise l'architecture naturelle du SDM pour atténuer la force du signal. De même, lors de la lecture de la mémoire, la sortie des emplacements les plus proches reçoit un poids plus important que celle des emplacements les plus éloignés. La nouvelle méthode de signal permet à la force totale du signal reçu par un emplacement d'être utilisée comme mesure de l'adéquation d'un emplacement et est flexible pour varier les entrées (car le facteur de perte n'a pas à être modifié pour des modèles d'entrée de différentes longueurs).
  • SDMSCue (Sparse Distributed Memory for Small Cues) : Ashraf Anwar et Stan Franklin de l'Université de Memphis ont introduit une variante de SDM capable de gérer les petits repères ; à savoir SDMSCue en 2002. L'idée clé est d'utiliser plusieurs lectures/écritures et des projections spatiales pour atteindre un repère de plus en plus long.

Brevets associés

  • Procédé et appareil pour un système de mémoire distribuée éparse US 5113507 A, Universities Space Research Association , 1992
  • Procédé et dispositif de stockage et de rappel d'informations mettant en oeuvre un système de mémoire Kanerva US 5829009 A, Texas Instruments , 1998
  • Mémoire numérique, Furber, Stephen. NOUS 7512572 B2, 2009
  • Mémoire temporelle utilisant une représentation distribuée éparse US 20110225108 A1 Numenta , 2011

Mise en œuvre

Modèles associés

Les références