Kaum verteilter Speicher - Sparse distributed memory

Sparse Distributed Memory ( SDM ) ist ein mathematisches Modell des menschlichen Langzeitgedächtnisses , das 1988 von Pentti Kanerva während seiner Zeit am NASA Ames Research Center eingeführt wurde . Es ist ein verallgemeinerter Speicher mit wahlfreiem Zugriff (RAM) für lange (zB 1.000 Bit) binäre Wörter. Diese Wörter dienen sowohl als Adressen für den Speicher als auch als Daten für den Speicher. Das Hauptattribut des Speichers ist die Ähnlichkeitsempfindlichkeit, was bedeutet, dass ein Wort nicht nur durch Angabe der ursprünglichen Schreibadresse zurückgelesen werden kann, sondern auch durch Angabe einer nahegelegenen, gemessen an der Anzahl der nicht übereinstimmenden Bits (dh der Hamming-Distanz zwischen Speicheradressen ).

SDM implementiert die Transformation vom logischen Raum in den physischen Raum unter Verwendung einer verteilten Datendarstellung und -speicherung, ähnlich wie bei Codierungsvorgängen im menschlichen Gedächtnis. Ein einer logischen Adresse entsprechender Wert wird in vielen physikalischen Adressen gespeichert. Diese Art der Speicherung ist robust und nicht deterministisch. Eine Speicherzelle wird nicht direkt adressiert. Wenn Eingangsdaten (logische Adressen) überhaupt teilweise beschädigt sind, können wir immer noch korrekte Ausgangsdaten erhalten.

Die Theorie des Gedächtnisses ist mathematisch vollständig und wurde durch Computersimulation verifiziert . Es entstand aus der Beobachtung, dass die Abstände zwischen Punkten eines hochdimensionalen Raums den Nähebeziehungen zwischen Begriffen im menschlichen Gedächtnis ähneln . Die Theorie ist auch insofern praktisch, als darauf basierende Speicher mit herkömmlichen Direktzugriffsspeicherelementen implementiert werden können .

Definition

Das menschliche Gedächtnis neigt dazu, Erinnerungen basierend auf Ähnlichkeiten zwischen ihnen zu sammeln (obwohl sie möglicherweise nicht miteinander verwandt sind), wie zum Beispiel "Feuerwehrautos sind rot und Äpfel sind rot". Sparse Distributed Memory ist eine mathematische Darstellung des menschlichen Gedächtnisses und verwendet hochdimensionalen Raum , um die großen Speichermengen zu modellieren, die den des menschlichen neuronalen Netzes nachahmen. Eine wichtige Eigenschaft solcher hochdimensionalen Räume ist, dass zwei zufällig ausgewählte Vektoren relativ weit voneinander entfernt sind, also nicht korreliert sind. SDM kann als eine Realisierung des ortsabhängigen Hashings betrachtet werden .

Die zugrunde liegende Idee hinter einem SDM ist die Abbildung eines riesigen Binärspeichers auf eine kleinere Menge physischer Orte, sogenannter Hard-Locations . Als allgemeine Richtlinie sollten diese harten Orte gleichmäßig im virtuellen Raum verteilt sein, um die Existenz des größeren virtuellen Raums so genau wie möglich nachzuahmen. Jedes Datum wird durch einen Satz harter Orte verteilt gespeichert und durch Mittelung dieser Orte wiedergewonnen. Daher ist der Abruf möglicherweise nicht perfekt, da die Genauigkeit von der Sättigung des Speichers abhängt.

Kanervas Vorschlag basiert auf vier Grundideen:

  • 1. Der boolesche Raum oder Punkte in Dimensionen weist Eigenschaften auf, die den intuitiven Vorstellungen des Menschen von Beziehungen zwischen den Konzepten ähneln. Dies bedeutet, dass es sinnvoll ist, Daten als Punkte des genannten Raums zu speichern, an denen jedes Speicherelement als n-Bit-Vektor gespeichert ist.
  • 2. Neuronen mit n Eingängen können als Adressdecoder eines Arbeitsspeichers verwendet werden
  • 3. Vereinheitlichendes Prinzip: Im Speicher gespeicherte Daten können als Adressen für denselben Speicher verwendet werden. Der Abstand zwischen zwei Punkten ist ein Maß für die Ähnlichkeit zwischen zwei Gedächtniselementen. Je näher die Punkte, desto ähnlicher sind die gespeicherten Vektoren.
  • 4. Die Zeit kann im Speicher in Abhängigkeit davon verfolgt werden, wo die Daten gespeichert sind, wenn die Daten als Sequenzen von Ereignissen organisiert sind

Der Binärraum N

Der SDM arbeitet mit n-dimensionalen Vektoren mit binären Komponenten. Je nach Kontext werden die Vektoren als Punkte, Muster, Adressen, Wörter, Speicherelemente, Daten oder Ereignisse bezeichnet. In diesem Abschnitt geht es hauptsächlich um die Eigenschaften des Vektorraums N = . Sei n die Anzahl der Dimensionen des Raumes. Die Anzahl der Punkte oder möglichen Speicherelemente ist dann . Wir bezeichnen diese Zahl mit N und verwenden N und auch für den Raum selbst.

Konzepte in Bezug auf den Raum N:

  • Ursprung , 0: Der Punkt mit allen Koordinaten 0 heißt Ursprung, 0 = 000...00.
  • Komplement , 'x: Das Komplement oder Gegenteil von Punkt x ist das n-Tupel, das Einsen hat, wobei x Nullen hat und umgekehrt.
  • Norm , |x|: Die Norm von Punkt x ist die Anzahl der Einsen in ihrer binären Darstellung.
  • Differenz , x − y: Die Differenz zweier Punkte x und y ist das n-Tupel, das Einsen hat, bei denen x und y unterschiedlich sind, und Nullen an anderer Stelle. Es ist das bitweise ' exklusive oder ': x − y = x ⊕ y. Die Differenz kommutiert: x − y = y − x.
  • Abstand , d(x, y) Der Abstand zwischen zwei Punkten x und y ist die Anzahl der Dimensionen, bei denen sich x und y unterscheiden. Sie wird Hamming-Distanz genannt (seine Quadratwurzel ist die euklidische Distanz ) und wird in Bits ausgedrückt. Abstand ist die Norm der Differenz: d(x, y) = |x − y|
  • Betweenness , x:y:z: Punkt y liegt genau dann zwischen den Punkten x und z, wenn der Abstand von x zu z die Summe der Abstände von x zu y und von y zu z ist; das heißt, x:y:z d(x, z) = d(x, y) + d(y, z). Es ist leicht zu erkennen, dass jedes Bit eines Punktes dazwischen eine Kopie des entsprechenden Bits eines Endpunkts ist.
  • Orthogonalität , x ⊥ y: Punkt x ist orthogonal zu Punkt y, oder beide sind senkrecht oder indifferent, wenn und nur wenn der Abstand zwischen beiden die Hälfte der Anzahl der Dimensionen beträgt: x ⊥ y ⇔ d(x, y) = n /2. Der Abstand n/2 heißt Indifferenzabstand des Raumes N. Wenn x orthogonal zu y ist, ist es auch orthogonal zu seinem Komplement 'y (x liegt auf halbem Weg zwischen y und 'y).
  • Kreis , O(r,x) Ein Kreis mit Radius r und Mittelpunkt x ist die Menge von Punkten, die höchstens r Bits von x entfernt sind: O(r,x) = {y | d(x, y) r}.

Eigenschaften des Raumes N:

Der Raum N kann durch die Ecken des Einheitswürfels im n-dimensionalen euklidischen Raum dargestellt werden . Die Eckpunkte liegen auf der Oberfläche einer n-dimensionalen Kugel mit (euklidisch-metrischem) Radius . Daraus ergibt sich die Kugel Analogie. Wir nennen einen Raum sphärisch, wenn

  • 1. jeder Punkt x hat ein eindeutiges Gegenteil 'x,
  • 2. der gesamte Raum liegt zwischen einem beliebigen Punkt x und seinem gegenüberliegenden 'x, und
  • 3. alle Punkte sind "gleich" (was bedeutet, dass es für zwei beliebige Punkte x und y einen abstandserhaltenden Automorphismus des Raumes gibt, der x auf y abbildet, so dass der Raum von jedem seiner Punkte aus gleich "aussieht").

Die Oberfläche einer Kugel (im euklidischen 3D-Raum) ist eindeutig kugelförmig. N ist definitionsgemäß auch sphärisch, da y ⊕ x ⊕ (…) ein Automorphismus ist, der x auf y abbildet. Da N kugelförmig ist, ist es hilfreich, es sich als die Oberfläche einer Kugel mit dem Umfang 2n vorzustellen. Alle Punkte von N sind gleichermaßen als Ursprungspunkte qualifiziert, und ein Punkt und sein Komplement sind wie zwei Pole im Abstand n voneinander, mit dem gesamten Raum dazwischen. Die Punkte auf halbem Weg zwischen den Polen und senkrecht zu ihnen sind wie der Äquator.

Verteilung des Raumes N

Die Anzahl der Punkte, die genau d Bits sind, bilden einen beliebigen Punkt x (z. B. von Punkt 0) ist die Anzahl der Möglichkeiten, d Koordinaten aus insgesamt n Koordinaten auszuwählen, und wird daher durch den Binomialkoeffizienten gegeben :

Die Verteilung von N ist somit die Binomialverteilung mit den Parametern n und p, wobei p = 1/2. Der Mittelwert der Binomialverteilung beträgt n/2 und die Varianz beträgt n/4. Diese Verteilungsfunktion wird mit N(d) bezeichnet. Die Normalverteilung F mit Mittelwert n/2 und Standardabweichung ist eine gute Näherung: N(d) = Pr{d(x, y) ≤ d} ≅ F{(d − n / 2)/ }

Tendenz zur Orthogonalität

Eine herausragende Eigenschaft von N ist, dass das meiste davon ungefähr im mittleren (Indifferenz) Abstand n/2 von einem Punkt (und seinem Komplement) liegt. Mit anderen Worten, der größte Teil des Raums ist nahezu orthogonal zu jedem gegebenen Punkt, und je größer n ist, desto ausgeprägter ist dieser Effekt.

Als neuronales Netz

Der SDM kann entweder als eine inhaltsadressierbare Erweiterung eines klassischen Direktzugriffsspeichers (RAM) oder als ein spezieller Typ eines neuronalen Dreischicht- Feedforward-Netzes betrachtet werden . Die wichtigsten SDM-Änderungen am RAM sind:

  • Der SDM berechnet Hamming-Abstände zwischen der Referenzadresse und jeder Standortadresse. Für jede Entfernung, die kleiner oder gleich dem angegebenen Radius ist, wird der entsprechende Standort ausgewählt.
  • Der Speicher wird durch Zähler (wobei n die Anzahl der Stellen und m die Eingangsdatenlänge ist) anstelle von Einzelbit-Speicherelementen dargestellt.
  • In den Speicher zu schreiben, anstatt zu überschreiben, ist wie folgt:
    • wenn das i-Bit der Eingangsdaten 1 ist, werden die entsprechenden Zähler (Zähler in den ausgewählten Stellen (Zeilen) und in den i-ten Spalten) inkrementiert,
    • ist das i-Bit der Eingangsdaten 0, werden die entsprechenden Zähler dekrementiert.
  • Das Lesen (oder Abrufen) aus dem Speicher ist ähnlich:
    • Die Inhalte der ausgewählten Speicherorte werden spaltenweise summiert.
    • Für jede Summe wird ein Schwellenwert festgelegt. Ist die Summe größer oder gleich dem Schwellwert, wird das entsprechende Ausgangsbit auf 1 gesetzt, im umgekehrten Fall gelöscht. Beachten Sie, dass die Schwellenwerte null sein können, wenn die Trainingseingabevektoren zu orthogonalen Einsen geschlossen sind.

Neuronenmodell

Eine idealisierte Beschreibung eines Neurons ist wie folgt: Ein Neuron hat einen Zellkörper mit zwei Arten von Zweigen: Dendriten und einem Axon . Es empfängt über Dendriten Eingangssignale von anderen Neuronen, integriert (summiert) sie und erzeugt ein eigenes (elektrisches) Ausgangssignal, das über ein Axon an externe Neuronen gesendet wird. Die elektrischen Kontaktpunkte zwischen Neuronen werden Synapsen genannt .

Wenn erzeugt ein Neuron Signal wird Brennen und nach dem Brennen muss sie sich erholen , bevor es wieder feuert. Die relative Bedeutung einer Synapse für das Feuern von Neuronen wird als synaptisches Gewicht (oder Input-Koeffizient ) bezeichnet. Es gibt zwei Arten von Synapsen: erregenden dass Trigger Neuron zu Feuer und hemmende dass hinder Brennen. Das Neuron ist entweder erregend oder hemmend, je nachdem, welche Synapsen sein Axon bildet.

Ein Neuron feuert, wenn die Summe der Eingaben einen bestimmten Schwellenwert überschreitet . Je höher der Schwellenwert, desto wichtiger ist es, dass erregende Synapsen Input haben und hemmende nicht. Ob ein wiederhergestelltes Neuron tatsächlich feuert, hängt davon ab, ob es innerhalb eines bestimmten Zeitraums ausreichend erregende Eingaben (über den Schwellenwert hinaus) und nicht zu viele hemmende Eingaben erhalten hat.

Das formale Neuronenmodell macht weiter vereinfachende Annahmen. Ein n- Eingangsneuron wird durch eine lineare Schwellenfunktion wie folgt modelliert :

Denn wobei n die Anzahl der Eingaben ist, sei die Ausgabe zum Zeitpunkt t : , und sei die i- te Eingabe zum Zeitpunkt t : . Sei das Gewicht der i- ten Eingabe und sei der Schwellenwert.

Die gewichtete Summe der Eingaben zum Zeitpunkt t ist definiert durch

Die Neuronenausgabe zum Zeitpunkt t wird dann als boolesche Funktion definiert :

Wobei F t = 1 bedeutet, dass das Neuron zum Zeitpunkt t feuert und F t = 0, dass dies nicht der Fall ist, dh damit das Neuron feuert , muss die gewichtete Summe den Schwellenwert erreichen oder überschreiten. Erregende Eingänge erhöhen die Summe und hemmende Eingänge verringern sie.

Neuron als Adress-Decoder

Kanervas Schlüsselthese ist, dass die Eingabekoeffizienten und Schwellenwerte bestimmter Neuronen über die gesamte Lebensdauer eines Organismus festgelegt und als Adressdecoder verwendet werden können, wobei n- Tupel von Eingabekoeffizienten (das Muster, auf das Neuronen am leichtesten reagieren) den n- Bit-Speicher bestimmt Adresse, und der Schwellenwert steuert die Größe der Region ähnlicher Adressmuster, auf die das Neuron antwortet.

Dieser Mechanismus ist komplementär zu einstellbaren Synapsen oder einstellbaren Gewichten in einem neuronalen Netz ( Perceptron Convergence Learning), da dieser feste Zugriffsmechanismus ein permanenter Referenzrahmen wäre, der es ermöglicht , die Synapsen auszuwählen, in denen die Informationen gespeichert und von denen sie abgerufen werden unter gegebenen Umständen. Weiterhin würde eine Codierung des vorliegenden Umstandes als Adresse dienen.

Die Adresse a eines Neurons mit Eingangskoeffizienten w , wo als definiert ist n -Bit - Eingangsmuster, das die gewichtete Summe maximiert. Das Maximum tritt auf, wenn die hemmenden Eingaben Nullen und die erregenden Eingaben Einsen sind. Das i- te Adressbit ist:

(unter der Annahme, dass die Gewichtungen nicht Null sind)

Die maximal gewichtete Summe ist dann die Summe aller positiven Koeffizienten:

Und die minimale gewichtete Summe würde einem Punkt gegenüber der Neuronenadresse a` entsprechen:

Wenn der Schwellenwert c im Bereich liegt, ist der Ausgang des Neurons 0 für einige Adressen (Eingangsmuster) und 1 für andere. Liegt die Schwelle über S, ist die Ausgabe immer 0, liegt sie unter s, ist die Ausgabe immer 1. Bei richtiger Wahl der Schwelle antwortet ein Neuron also nur auf eine Adresse. Wenn der Schwellenwert S ist (das Maximum für die gewichtete Summe), antwortet das Neuron nur auf seine eigene Adresse und verhält sich wie ein Adressdecodierer eines herkömmlichen Direktzugriffsspeichers .

Speicherort

SDM wurde entwickelt, um mit Adressmustern umzugehen, die einen enormen Adressraum umfassen (Reihenfolge von ). SDM geht davon aus, dass die Adressmuster, die tatsächlich interessierende physikalische Situationen beschreiben, spärlich über den Eingaberaum verstreut sind. Es ist unmöglich, für jede mögliche Eingabe einen separaten physischen Standort zu reservieren; SDM implementiert nur eine begrenzte Anzahl von physischen oder festen Standorten. Der physische Standort wird als Speicher- (oder Hard- ) Standort bezeichnet.

Jedem harten Standort sind zwei Elemente zugeordnet:

  • eine feste feste Adresse, die die N-Bit-Adresse des Standorts ist
  • einen Inhaltsabschnitt, der M Bits breit ist und der mehrere M-Bit-Datenmuster akkumulieren kann, die in die Stelle geschrieben wurden. Der Inhaltsteil ist nicht festgelegt; es wird durch in den Speicher geschriebene Datenmuster modifiziert.

Bei SDM könnte ein Wort im Speicher gespeichert werden, indem es in einen freien Speicherplatz geschrieben wird und gleichzeitig der Speicherplatz mit dem entsprechenden Adressdecoder versehen wird. Ein Neuron als Adressdecodierer würde einen Standort basierend auf der Ähnlichkeit der Standortadresse mit dem Abrufhinweis auswählen. Im Gegensatz zu herkömmlichen Turing-Maschinen nutzt SDM die Vorteile der parallelen Berechnung durch die Adressdecoder . Der bloße Zugriff auf den Speicher wird als Rechenleistung betrachtet, deren Umfang mit der Speichergröße zunimmt.

Adressmuster

Ein N-Bit-Vektor, der beim Schreiben in und Lesen aus dem Speicher verwendet wird. Das Adressmuster ist eine codierte Beschreibung eines Umgebungszustands. (zB N = 256.)

Datenmuster

Ein M-Bit-Vektor, der das Objekt der Schreib- und Leseoperationen ist. Es ist wie das Adressmuster eine codierte Beschreibung eines Umgebungszustands. (zB M = 256.)

Schreiben

Schreiben ist der Vorgang des Speicherns eines Datenmusters in den Speicher unter Verwendung eines bestimmten Adressmusters. Während eines Schreibvorgangs besteht die Eingabe in den Speicher aus einem Adressmuster und einem Datenmuster. Das Adressmuster wird verwendet, um harte Speicherstellen auszuwählen, deren harte Adressen innerhalb eines bestimmten Grenzabstands vom Adressmuster liegen. Das Datenmuster wird an jedem der ausgewählten Orte gespeichert.

Lektüre

Lesen ist der Vorgang des Abrufens eines Datenmusters aus dem Speicher unter Verwendung eines bestimmten Adressmusters. Beim Lesen wird ein Adressmuster verwendet, um eine bestimmte Anzahl von Festplattenspeicherplätzen auszuwählen (genau wie beim Schreiben). Die Inhalte der ausgewählten Stellen werden bitweise summiert und einem Schwellenwert unterzogen, um ein M-Bit-Datenmuster abzuleiten. Dies dient als die aus dem Speicher gelesene Ausgabe.

Zeigerketten

Alle Elemente sind in einer einzigen Liste (oder Array) von Zeigern auf Speicherorte verknüpft und werden im RAM gespeichert. Jede Adresse in einem Array zeigt auf eine einzelne Zeile im Speicher. Diese Zeile wird dann zurückgegeben, wenn sie anderen Zeilen ähnlich ist. Neuronen werden als Adress-Decoder und -Encoder verwendet, ähnlich wie Neuronen im Gehirn arbeiten, und geben Elemente aus dem Array zurück, die übereinstimmen oder ähnlich sind.

Kritischer Abstand

Kanervas Gedächtnismodell hat einen kritischen Punkt : Vor diesem Punkt kann ein zuvor gespeicherter Gegenstand leicht wiederhergestellt werden; aber über diesen Punkt hinaus kann ein Element nicht abgerufen werden. Kanerva hat diesen Punkt methodisch für einen bestimmten Satz von (festen) Parametern berechnet. Der entsprechende kritische Abstand eines Sparse Distributed Memory kann näherungsweise bewertet werden, indem die folgende Gleichung mit der Einschränkung und minimiert wird . Der Beweis findet sich in

Woher:

  • : ist die Entfernung zum Ziel;
  • : ist die Anzahl der während Lese- und Schreiboperationen aktivierten Hard-Locations (dieser Wert hängt von den Zugriffsradiuswerten ab);
  • : ist die Anzahl der gesamten gespeicherten Bitstrings im Speicher;
  • : ist die Anzahl der Hard-Locations im Speicher;
  • : ist die Häufigkeit, mit der der Zielbitstring in den Speicher geschrieben wurde;
  • : ist die Summe der zufälligen Bitstrings in allen Hard-Locations, die durch eine Leseoperation aktiviert wurden;
  • : ist die mittlere Anzahl gemeinsam genutzter Hard-Locations, die durch zwei Bitstrings voneinander entfernt aktiviert werden . Einige Werte für ein 1000-dimensionales SDM findet man in Kanervas Buch, Tabelle 7.1, S. 63, oder die Gleichungen zur Berechnung eines SDM in Anhang B, S. 125 des gleichen Buches.

Wahrscheinlichkeitsinterpretation

Ein assoziatives Speichersystem , das dünn besetzte, verteilte Darstellungen verwendet, kann als Wichtigkeitsabtaster neu interpretiert werden , ein Monte-Carlo- Verfahren zur approximierenden Bayesschen Inferenz . Der SDM kann als Monte-Carlo-Approximation für ein mehrdimensionales bedingtes Wahrscheinlichkeitsintegral betrachtet werden . Der SDM erzeugt akzeptable Antworten aus einem Trainingssatz, wenn diese Näherung gültig ist, d. h. wenn der Trainingssatz genügend Daten enthält, um gute Schätzungen der zugrunde liegenden gemeinsamen Wahrscheinlichkeiten zu liefern und es genügend Monte-Carlo-Stichproben gibt, um eine genaue Schätzung des Integrals zu erhalten .

Biologische Plausibilität

Sparse Coding kann eine allgemeine Strategie neuronaler Systeme sein, um die Speicherkapazität zu erhöhen. Um sich an ihre Umgebung anzupassen, müssen Tiere lernen, welche Reize mit Belohnungen oder Bestrafungen verbunden sind und diese verstärkten Reize von ähnlichen, aber irrelevanten unterscheiden. Eine solche Aufgabe erfordert die Implementierung reizspezifischer assoziativer Erinnerungen, bei denen nur wenige Neuronen aus einer Population auf einen gegebenen Reiz reagieren und jedes Neuron auf nur wenige Reize von allen möglichen Reizen reagiert.

Theoretische Arbeiten zu SDM von Kanerva haben vorgeschlagen, dass spärliche Kodierung die Kapazität des assoziativen Gedächtnisses erhöht, indem Überlappungen zwischen Repräsentationen reduziert werden. Experimentell wurden spärliche Darstellungen sensorischer Informationen in vielen Systemen beobachtet, darunter Sehen, Hören, Tasten und Riechen. Trotz der sich häufenden Beweise für weit verbreitete Sparse-Codierung und theoretischer Argumente für ihre Bedeutung fehlte jedoch bis vor kurzem ein Nachweis, dass Sparse-Coding die Stimulus-Spezifität des assoziativen Gedächtnisses verbessert.

Einige Fortschritte wurden 2014 im Labor von Gero Miesenböck an der Universität Oxford bei der Analyse des Geruchssystems von Drosophila erzielt . Bei Drosophila wird angenommen, dass die spärliche Geruchscodierung durch die Kenyon-Zellen des Pilzkörpers eine große Anzahl von präzise adressierbaren Orten für die Speicherung geruchsspezifischer Erinnerungen erzeugt. Linet al. zeigten, dass Sparseness durch einen negativen Rückkopplungskreis zwischen Kenyon-Zellen und dem GABAergen anterior paired lateral (APL) Neuron gesteuert wird . Die systematische Aktivierung und Blockade jedes Beins dieses Rückkopplungskreises zeigt, dass Kenyon-Zellen APL aktivieren und APL Kenyon-Zellen hemmt. Das Unterbrechen der Kenyon-Zell-APL-Feedback-Schleife verringert die spärlichen Geruchsreaktionen der Kenyon-Zelle, erhöht die Korrelationen zwischen den Gerüchen und verhindert, dass Fliegen lernen, ähnliche, aber nicht unähnliche Gerüche zu unterscheiden. Diese Ergebnisse legen nahe, dass die Rückkopplungshemmung die Aktivität von Kenyon-Zellen unterdrückt, um eine spärliche, dekorrelierte Geruchscodierung und damit die Geruchsspezifität von Erinnerungen aufrechtzuerhalten. Eine Veröffentlichung aus dem Jahr 2017 in Science zeigte, dass der olfaktorische Schaltkreis der Fliegen eine verbesserte Version von binärem lokalitätssensitivem Hashing über spärliche, zufällige Projektionen implementiert .

Quantenmechanische Interpretation

Die Quantensuperposition besagt, dass jedes physikalische System gleichzeitig in all seinen möglichen Zuständen existiert , deren Anzahl exponentiell zu der Anzahl der Einheiten, aus denen das System besteht, ist. Die Stärke des Vorhandenseins jedes möglichen Zustands in der Überlagerung – dh die Wahrscheinlichkeit, mit der er bei einer Messung beobachtet würde – wird durch seinen Wahrscheinlichkeitsamplitudenkoeffizienten dargestellt . Die Annahme, dass diese Koeffizienten physikalisch disjunkt voneinander, dh lokal, dargestellt werden müssen, ist in der Quantentheorie / Quantencomputing- Literatur nahezu universell . Alternativ können diese Koeffizienten , wie kürzlich von Gerard Rinkus an der Brandeis University vorgeschlagen , mit Hilfe von spärlich verteilten Darstellungen (SDR) im Einklang mit Kanervas SDM-Design dargestellt werden, wobei jeder Koeffizient durch eine kleine Teilmenge einer Gesamtpopulation von Repräsentationseinheiten dargestellt wird und die Teilmengen können Überlappung.

Insbesondere wenn wir ein SDR-Modell betrachten, bei dem die Gesamtpopulation aus Q Clustern besteht, von denen jedes K binäre Einheiten hat, so dass jeder Koeffizient durch einen Satz von Q Einheiten repräsentiert wird, eine pro Cluster. Wir können uns dann vorstellen, dass der bestimmte Weltzustand X, dessen Koeffizientendarstellung, R(X), die Menge der Q Einheiten ist, die zum Zeitpunkt t aktiv sind, die maximale Wahrscheinlichkeit hat und die Wahrscheinlichkeiten aller anderen Zustände Y der Größe . entsprechen der Schnittmenge von R(Y) und R(X). Somit dient R(X) gleichzeitig sowohl als Darstellung des jeweiligen Zustands X als auch als Wahrscheinlichkeitsverteilung über alle Zustände. Wenn ein bestimmter Code, zB R(A), aktiv ist, sind auch alle anderen im Modell gespeicherten Codes proportional zu ihrer Schnittmenge mit R(A) physikalisch aktiv. Somit bietet SDR eine klassische Realisierung der Quantensuperposition, bei der Wahrscheinlichkeitsamplituden direkt und implizit durch Größen von Mengenschnitten dargestellt werden . Wenn es Algorithmen gibt, bei denen die Zeit zum Speichern (Erlernen) neuer Darstellungen und zum Finden der am besten passenden gespeicherten Darstellung ( probabilistische Inferenz ) konstant bleibt, während zusätzliche Darstellungen gespeichert werden, würde dies das Kriterium des Quantencomputings erfüllen . (Siehe auch Quantenkognition und Quantenassoziatives Gedächtnis )

Anwendungen

In Anwendungen des Gedächtnisses sind die Wörter Muster von Merkmalen. Einige Merkmale werden von einem sensorischen System erzeugt, andere steuern ein motorisches System. Es gibt ein aktuelles Muster (von zB 1000 Bit), die der aktuelle Inhalt des Systems ist Fokus . Die Sensoren speisen in den Fokus ein, die Motoren werden vom Fokus aus angetrieben und über den Fokus wird auf den Speicher zugegriffen.

Was in der Welt vor sich geht – die „subjektive“ Erfahrung des Systems – wird intern durch eine Abfolge von Mustern im Fokus repräsentiert. Der Speicher speichert diese Sequenz und kann sie später im Fokus neu erstellen, wenn er mit einem Muster adressiert wird, das einem in der Vergangenheit ähnelt. So lernt das Gedächtnis vorherzusagen, was passieren wird. Weite Anwendungen des Speichers wären in Systemen, die mit Informationen aus der realen Welt in Echtzeit umgehen.

Die Anwendungen umfassen Vision  – Erkennen und Identifizieren von Objekten in einer Szene und Antizipieren nachfolgender Szenen – Robotik , Signalerkennung und -verifizierung sowie adaptives Lernen und Steuern . Auf der theoretischen Seite kann uns die Funktion des Gedächtnisses helfen, das Gedächtnis und das Lernen bei Menschen und Tieren zu verstehen .

Die beste Übereinstimmungssuche

SDM kann auf das Problem angewendet werden, die beste Übereinstimmung mit einem Testwort in einem Datensatz gespeicherter Wörter zu finden. oder, mit anderen Worten, das Problem der Suche nach dem nächsten Nachbarn .

Betrachten Sie einen Speicher mit N Stellen, an denen . Jede Stelle soll die Kapazität für ein n- Bit-Wort haben (z. B. N = 2 100 100-Bit-Wörter), und die Adressdekodierung soll durch N Adressdekodiererneuronen erfolgen. Setzen Sie den Schwellenwert jedes Neurons x auf seine maximale gewichtete Summe und verwenden Sie einen gemeinsamen Parameter d , um alle Schwellenwerte beim Zugriff auf den Speicher anzupassen. Der effektive Schwellenwert des Neurons x wird dann sein, was bedeutet, dass die Stelle x jedes Mal zugänglich ist, wenn die Adresse x innerhalb von d Bits der dem Speicher präsentierten Adresse (dh der vom Adressregister gehaltenen Adresse) liegt. Mit haben wir einen herkömmlichen Direktzugriffsspeicher . Nehmen Sie weiter an, dass jeder Platz ein spezielles Platz-belegt- Bit hat, auf das auf die gleiche Weise wie auf die regulären Datumsbits zugegriffen werden kann. Das Schreiben eines Wortes in einen Platz setzt dieses Platz-belegt- Bit. Angenommen, nur belegte Plätze können gelesen werden.

Um die Daten im Speicher abzulegen, beginnen Sie mit der Einstellung und geben Sie einen Befehl aus, um das Bit für den belegten Speicherplatz zu löschen . Diese einzelne Operation markiert den gesamten Speicher unabhängig von den Werten des Adressregisters als nicht belegt. Dann setzen und schreiben Sie jedes Wort y des Datensatzes mit y selbst als Adresse. Beachten Sie, dass jede Schreiboperation nur eine Position betrifft: die Position y . Die Archivierungszeit ist somit proportional zur Anzahl der Wörter im Datensatz.

Das Finden der besten Übereinstimmung für ein Testwort z beinhaltet das Platzieren von z in dem Adressregister und das Finden des kleinsten Abstands d, für den es einen belegten Platz gibt. Wir können die Suche starten, indem wir d nacheinander setzen und inkrementieren, bis ein belegter Ort gefunden wird. Diese Methode liefert durchschnittliche Suchzeiten, die proportional zur Anzahl der Adressbits sind oder etwas kürzer sind, als weil erwartet werden kann, dass die nächste besetzte Stelle knapp unter Bits von z liegt (bei binärer Suche auf d wäre dies O(log(n)) .

Bei 100-Bit-Worten würden 2 100 Stellen benötigt, also ein enorm großer Speicher. Jedoch , wenn man die Speicher konstruieren , wie wir die Worte des Datensatzes gespeichert werden müssen wir nur an einer Stelle (und ein Adressendecodierer) für jedes Wort des Datensatzes. Keiner der unbelegten Plätze muss vorhanden sein. Dies repräsentiert den Aspekt der Sparseness in SDM.

Spracherkennung

SDM kann beim Transkribieren von Sprache angewendet werden , wobei das Training aus dem "Hören" eines großen Korpus gesprochener Sprache besteht . Zwei schwierige Probleme bei natürlicher Sprache sind die Erkennung von Wortgrenzen und die Anpassung an verschiedene Sprecher. Der Speicher sollte beides verarbeiten können. Erstens speichert es Sequenzen von Mustern als Zeigerketten. Im Training – beim Hören von Sprache – wird es eine probabilistische Struktur mit der höchsten Häufigkeit von Verzweigungen an Wortgrenzen aufbauen. Beim Transkribieren von Sprache werden diese Verzweigungspunkte erkannt und neigen dazu, den Strom in Segmente aufzuteilen, die Wörtern entsprechen. Zweitens ist die Ähnlichkeitsempfindlichkeit des Gedächtnisses sein Mechanismus zur Anpassung an verschiedene Sprecher – und an die Variationen in der Stimme desselben Sprechers.

"Das Vergessen erkennen"

Decay-Funktionen
Die exponentielle Zerfallsfunktion
Die negiert-translatierte Sigmoidfunktion

An der University of Memphis schufen Uma Ramamurthy, Sidney K. D'Mello und Stan Franklin eine modifizierte Version des spärlich verteilten Speichersystems, das das „Verwirklichen des Vergessens“ repräsentiert. Es verwendet eine Zerfallsgleichung, um Interferenzen in Daten besser darzustellen. Das spärlich verteilte Speichersystem verteilt jedes Muster auf ungefähr ein Hundertstel der Orte, so dass Interferenzen nachteilige Folgen haben können.

Zwei mögliche Beispiele für den Zerfall dieses modifizierten spärlich verteilten Speichers werden vorgestellt

Exponentieller Zerfallsmechanismus:

Negiert-translatierter Sigmoid-Zerfallsmechanismus:

In der exponentiellen Zerfallsfunktion nähert sie sich mit zunehmendem x schneller Null an, und a ist eine Konstante (normalerweise zwischen 3-9) und c ist ein Zähler. Für die negiert- translatierte Sigmoidfunktion ist der Zerfall ähnlich der exponentiellen Zerfallsfunktion, wenn a größer als 4 ist.

Wenn sich der Graph 0 nähert, stellt er dar, wie die Erinnerung mithilfe von Zerfallsmechanismen vergessen wird.

Genetisch dünn verteilter Speicher

Ashraf Anwar, Stan Franklin und Dipankar Dasgupta an der University of Memphis; schlug ein Modell für die SDM-Initialisierung unter Verwendung von Genetic Algorithms and Genetic Programming (1999) vor.

Das genetische Gedächtnis verwendet einen genetischen Algorithmus und einen spärlich verteilten Speicher als pseudo-künstliches neuronales Netzwerk. Es wurde für die Verwendung bei der Schaffung von künstlichem Leben in Betracht gezogen.

Statistische Vorhersage

SDM wurde auf die statistische Vorhersage angewendet , die Aufgabe, extrem große Wahrnehmungszustandsvektoren mit zukünftigen Ereignissen zu verknüpfen. Bei nahezu oder Überkapazität, wo das assoziative Gedächtnisverhalten des Modells zusammenbricht, kann die vom Modell durchgeführte Verarbeitung als die eines statistischen Prädiktors interpretiert werden und jeder Datenzähler in einem SDM kann als unabhängiger Schätzwert angesehen werden der bedingten Wahrscheinlichkeit, dass eine binäre Funktion f gleich dem Aktivierungssatz ist, der durch die Speicherstelle des Zählers definiert ist.

Künstliche allgemeine Intelligenz

  • LIDA verwendet spärlich verteilten Speicher, um die Kognition in biologischen Systemen zu modellieren . Der spärlich verteilte Speicherplätze Raum erinnert oder erkennt das Objekt, das er in Bezug auf andere Objekte hat. Es wurde von Stan Franklin entwickelt, dem Schöpfer des modifizierten, spärlich verteilten Speichersystems "Realizing Forgetting". Transiente episodische und deklarative Erinnerungen haben verteilte Repräsentationen in LIDA (basierend auf einer modifizierten Version von SDM), es gibt Hinweise darauf, dass dies auch im Nervensystem der Fall ist.
  • CMatie ist ein „bewusster“ Software-Agent, der entwickelt wurde, um Seminarankündigungen im Fachbereich Mathematik der Universität Memphis zu verwalten . Es basiert auf SDM, das durch die Verwendung genetischer Algorithmen als assoziatives Gedächtnis erweitert wird .
  • Ein hierarchischer Zeitspeicher verwendet SDM zum Speichern von spärlich verteilten Darstellungen der Daten.

(Siehe auch Kognitive Architektur & Künstliche allgemeine Intelligenz für eine Liste von SDM-bezogenen Projekten)

Verstärkungslernen

SDMs bieten ein lineares, lokales Funktions-Approximationsschema , das so konzipiert ist, dass es funktioniert, wenn ein sehr großer/hochdimensionaler Eingabe-(Adress-)Raum in einen viel kleineren physischen Speicher abgebildet werden muss . Im Allgemeinen können lokale Architekturen, einschließlich SDMs, dem Fluch der Dimensionalität unterliegen , da einige Zielfunktionen im schlimmsten Fall erfordern können, dass eine exponentielle Anzahl von lokalen Einheiten über den gesamten Eingaberaum genau angenähert wird. Es wird jedoch allgemein angenommen, dass die meisten Entscheidungssysteme eine hohe Genauigkeit nur um niedrigdimensionale Mannigfaltigkeiten des Zustandsraums oder wichtige Zustands-"Autobahnen" benötigen . Die Arbeit von Ratitch et al. kombinierte das SDM-Speichermodell mit den Ideen des gedächtnisbasierten Lernens , das einen Approximator bereitstellt, der seine Struktur und Auflösung dynamisch anpassen kann, um "interessantere" Bereiche des Zustandsraums zu lokalisieren und proportional mehr Speicherressourcen zuzuweisen, um sie zu modellieren genau.

Objektindexierung in der Computer Vision

Das Labor von Dana H. Ballard demonstrierte eine Allzweck-Objektindexierungstechnik für Computer Vision , die die Vorteile der Hauptkomponentenanalyse mit den günstigen Anpassungseigenschaften hochdimensionaler Räume kombiniert , um eine hochpräzise Erkennung zu erreichen. Der Indexierungsalgorithmus verwendet ein aktives Bildverarbeitungssystem in Verbindung mit einer modifizierten Form von SDM und bietet eine Plattform zum Erlernen der Zuordnung zwischen dem Aussehen eines Objekts und seiner Identität.

Erweiterungen

Viele Erweiterungen und Verbesserungen von SDM wurden vorgeschlagen, z. B.:

  • Ternärer Speicherplatz: Dies ermöglicht die Verwendung des Gedächtnisses als transientes episodisches Gedächtnis (TEM) in kognitiven Softwareagenten . TEM ist ein Speicher mit hoher Spezifität und geringer Retention, der für Ereignisse mit Merkmalen einer bestimmten Zeit und eines bestimmten Ortes verwendet wird.
  • Integer SDM, das modulare arithmetische Integer-Vektoren anstelle von binären Vektoren verwendet. Diese Erweiterung verbessert die Darstellungsfähigkeiten des Speichers und ist gegenüber der Normalisierung robuster. Es kann auch erweitert werden, um das Vergessen und eine zuverlässige Sequenzspeicherung zu unterstützen.
  • Verwendung von Wortvektoren größerer Größe als Adressvektoren: Diese Erweiterung bewahrt viele der wünschenswerten Eigenschaften des ursprünglichen SDM: Autoassoziierbarkeit, Inhaltsadressierbarkeit, verteilte Speicherung und Robustheit gegenüber verrauschten Eingaben. Darüber hinaus fügt es neue Funktionen hinzu, die eine effiziente autoassoziative Speicherung von Vektorsequenzen sowie anderen Datenstrukturen wie Bäumen ermöglichen.
  • Konstruieren von SDM aus Spiking Neurons : Trotz der biologischen Ähnlichkeit von SDM wurden die meisten Arbeiten, die bisher unternommen wurden, um seine Fähigkeiten zu demonstrieren, hoch künstliche Neuronenmodelle verwendet, die das tatsächliche Verhalten von Neuronen im Gehirn abstrahieren . Neue Arbeiten von Steve Furber ‚s Labor an der University of Manchester vorgeschlagenen Anpassungen an SDM, zB durch den Einbau von N-von-M - Rang - Codes, wie sie Populationen von Neuronen kodieren Informations die es ermöglicht, können eine SDM - Variante aus biologisch plausibel bauen Komponenten. Diese Arbeit wurde in SpiNNaker (Spiking Neural Network Architecture) integriert , das als Neuromorphic Computing Platform für das Human Brain Project verwendet wird .
  • Nicht-zufällige Verteilung von Orten: Obwohl die Speicherorte anfänglich zufällig im binären N-Adressraum verteilt sind, hängt die endgültige Verteilung von Orten von den präsentierten Eingabemustern ab und kann nicht zufällig sein, wodurch eine bessere Flexibilität und Verallgemeinerung ermöglicht wird . Das Datenmuster wird zuerst an Stellen gespeichert, die der Eingangsadresse am nächsten liegen. Das Signal (dh das Datenmuster) breitet sich dann im gesamten Speicher aus und ein kleiner Prozentsatz der Signalstärke (zB 5%) geht an jeder nachfolgenden angetroffenen Stelle verloren. Durch diese Verteilung des Signals entfällt die Notwendigkeit eines ausgewählten Lese-/Schreibradius, eines der problematischen Merkmale des ursprünglichen SDM. Alle in einer Schreiboperation ausgewählten Stellen erhalten nun keine Kopie des ursprünglichen Binärmusters mit gleicher Stärke. Stattdessen erhalten sie eine Kopie des Musters, die mit einem reellen Wert von 1,0->0,05 gewichtet ist, um sie in Zählern mit reellen Werten (anstelle von Binärzählern in Kanervas SDM) zu speichern. Dies belohnt die nächstgelegenen Standorte mit einer höheren Signalstärke und nutzt die natürliche Architektur des SDM, um die Signalstärke zu dämpfen. Ähnlich wird beim Lesen aus dem Speicher der Ausgabe von den nächstgelegenen Orten ein größeres Gewicht gegeben als von weiter entfernten Orten. Das neue Signalverfahren ermöglicht es, die von einem Standort empfangene Gesamtsignalstärke als Maß für die Eignung eines Standorts zu verwenden und ist flexibel gegenüber unterschiedlichen Eingaben (da der Verlustfaktor für Eingabemuster unterschiedlicher Länge nicht geändert werden muss).
  • SDMSCue (Sparse Distributed Memory for Small Cues): Ashraf Anwar & Stan Franklin von der University of Memphis stellten eine SDM-Variante vor, die kleine Cues verarbeiten kann; nämlich SDMSCue im Jahr 2002. Die Schlüsselidee besteht darin, mehrere Reads/Writes und Raumprojektionen zu verwenden, um einen sukzessiv längeren Cue zu erreichen.

Verwandte Patente

  • Verfahren und Vorrichtung für ein spärlich verteiltes Speichersystem US 5113507 A, Universities Space Research Association , 1992
  • Verfahren und Vorrichtung zum Speichern und Abrufen von Informationen, die ein Kanerva-Speichersystem implementieren US 5829009 A, Texas Instruments , 1998
  • Digitaler Speicher, Furber, Stephen. US 7512572 B2, 2009
  • Temporaler Speicher mit spärlich verteilter Darstellung US 20110225108 A1 Numenta , 2011

Implementierung

Ähnliche Modelle

Verweise