Sparsamt distribuerat minne

Sparse distributed memory ( SDM ) är en matematisk modell av mänskligt långtidsminne som introducerades av Pentti Kanerva 1988 när han var på NASA Ames Research Center .

Detta minne uppvisar beteenden, både i teorin och i experiment, som liknar de som maskiner tidigare inte nåddes – t.ex. snabb igenkänning av ansikten eller lukter, upptäckt av nya kopplingar mellan till synes orelaterade idéer, etc. Glest distribuerat minne används för att lagra och hämta stora mängder ( bitar ) information utan att fokusera på exaktheten utan på informationens likhet. Det finns några nya tillämpningar inom robotnavigering och erfarenhetsbaserad robotmanipulation.

Allmän princip

Det är ett generaliserat RAM -minne för långa (t.ex. 1 000 bitars) binära ord. Dessa ord fungerar som både adresser till och data för minnet. Minnets huvudsakliga attribut är känslighet för likhet. Detta innebär att ett ord kan läsas tillbaka inte bara genom att ange den ursprungliga skrivadressen utan också genom att ange ett som ligger nära den, mätt med antalet felaktiga bitar (dvs. Hamming- avståndet mellan minnesadresser ).

SDM implementerar transformation från logiskt utrymme till fysiskt utrymme med hjälp av distribuerad datarepresentation och lagring, på samma sätt som kodningsprocesser i mänskligt minne. Ett värde som motsvarar en logisk adress lagras i många fysiska adresser. Detta sätt att lagra är robust och inte deterministiskt. En minnescell adresseras inte direkt. Om indata (logiska adresser) överhuvudtaget är delvis skadade kan vi fortfarande få korrekta utdata.

Teorin om minnet är matematiskt komplett och har verifierats genom datorsimulering . Det uppstod från observationen att avstånden mellan punkter i ett högdimensionellt utrymme liknar närhetsrelationerna mellan begrepp i mänskligt minne. Teorin är också praktisk genom att minnen baserade på den kan implementeras med konventionella slumpmässiga minneselement .

Definition

Människominnet har en tendens att samla minnen baserat på likheter mellan dem (även om de kanske inte är släkt), som "brandbilar är röda och äpplen är röda". Glest distribuerat minne är en matematisk representation av mänskligt minne och använder högdimensionellt utrymme för att hjälpa till att modellera de stora mängderna minne som efterliknar det mänskliga neurala nätverket. En viktig egenskap hos sådana högdimensionella utrymmen är att två slumpmässigt valda vektorer är relativt långt borta från varandra, vilket betyder att de är okorrelerade. SDM kan betraktas som en realisering av lokalitetskänslig hashing .

Den underliggande idén bakom en SDM är kartläggningen av ett enormt binärt minne till en mindre uppsättning fysiska platser, så kallade hårda platser . Som en allmän riktlinje bör dessa hårda platser vara jämnt fördelade i det virtuella utrymmet , för att efterlikna förekomsten av det större virtuella utrymmet så exakt som möjligt. Varje datum lagras fördelat av en uppsättning hårda platser, och hämtas genom att medelvärdesberäkning av dessa platser. Därför kanske återkallelsen inte är perfekt, noggrannheten beror på minnets mättnad.

Kanervas förslag bygger på fyra grundläggande idéer:

  1. Det booleska utrymmet eller punkter i dimensioner, uppvisar egenskaper som liknar människors intuitiva föreställningar om samband mellan begreppen. Detta innebär att det är vettigt att lagra data som punkter i det nämnda utrymmet där varje minnesobjekt lagras som en n-bitars vektor.
  2. Neuroner med n ingångar kan användas som adressavkodare för ett slumpmässigt åtkomstminne
  3. Enande princip: data som lagras i minnet kan användas som adresser till samma minne. Avståndet mellan två punkter är ett mått på likheten mellan två minnesobjekt. Ju närmare punkterna desto mer lika är de lagrade vektorerna.
  4. Tiden kan spåras i minnet som en funktion av var data lagras, om datan är organiserad som sekvenser av händelser

Det binära utrymmet N

SDM arbetar med n-dimensionella vektorer med binära komponenter. Beroende på sammanhanget kallas vektorerna för punkter, mönster, adresser, ord, minnesobjekt, data eller händelser. Det här avsnittet handlar mest om egenskaperna för vektorrymden N = . Låt n vara antalet dimensioner av utrymmet. Antalet poäng, eller möjliga minnesobjekt, är då . Vi kommer att beteckna detta nummer med N och kommer att använda N och för att även stå för själva utrymmet.

Begrepp relaterade till mellanslag N:

  • Ursprung , 0: Punkten med alla koordinater 0 kallas origo, 0 = 000...00.
  • Komplement , 'x: Komplementet eller motsatsen till punkt x är n-tupeln som har ettor där x har nollor och vice versa.
  • Norm , |x|: Normen för punkt x är antalet ettor i dess binära representation.
  • Skillnad , x − y: Skillnaden mellan två punkter x och y är n-tupeln som har ettor där x och y skiljer sig åt och nollor på andra ställen. Det är den bitvisa ' exklusiva eller ': x − y = x ⊕ y. Skillnaden pendlar: x − y = y − x.
  • Avstånd , d(x, y) Avståndet mellan två punkter x och y är antalet dimensioner där x och y skiljer sig åt. Det kallas Hamming-avståndet (dess kvadratrot är det euklidiska avståndet ) och uttrycks i bitar. Avstånd är normen för skillnaden: d(x, y) = |x − y|
  • Betweenness , x:y:z: Punkt y är mellan punkterna x och z om och endast om avståndet från x till z är summan av avstånden från x till y och från y till z; det vill säga x:y:z ⇔ d(x, z) = d(x, y) + d(y, z). Det är lätt att se att varje bit av en punkt däremellan är en kopia av motsvarande bit av en slutpunkt.
  • Ortogonalitet , x ⊥ y: Punkt x är ortogonal mot punkt y, eller så är de två vinkelräta eller likgiltiga, om och endast om avståndet mellan de två är hälften av antalet dimensioner: x ⊥ y ⇔ d(x, y) = n /2. Avståndet n/2 kallas indifferensavstånd för rymden N. Om x är ortogonalt mot y är det också ortogonalt mot dess komplement 'y (x är halvvägs mellan y och 'y).
  • Circle , O(r,x) En cirkel med radie r och centrum x är den uppsättning punkter som är högst r bitar från x: O(r,x) = {y | d(x, y) ≤ r}.

Egenskaper för utrymmet N:

Utrymmet N kan representeras av hörn av enhetskuben i n-dimensionell euklidisk rymd . Topparna ligger på ytan av en n-dimensionell sfär med (euklidisk-metrisk) radie . Detta ger upphov till sfäranalogin . Vi kommer att kalla ett utrymme sfäriskt om

  1. vilken punkt x som helst har en unik motsats 'x,
  2. hela mellanrummet är mellan valfri punkt x och dess motsatta 'x, och
  3. alla punkter är "lika" (vilket betyder att det för två valfria punkter x och y finns ett avstånd som bevarar automorfismen i rummet som mappar x till y, så att från någon av dess punkter "ser" rummet likadant ut).

Ytan på en sfär (i det euklidiska 3d-rymden) är helt klart sfärisk. Enligt definitionen är N också sfärisk, eftersom y ⊕ x ⊕ (…) är en automorfism som mappar x till y. Eftersom N är sfärisk är det bra att tänka på det som ytan på en sfär med omkretsen 2n. Alla punkter i N är lika kvalificerade som ursprungspunkter, och en punkt och dess komplement är som två poler på avstånd n från varandra, med hela utrymmet däremellan. Punkterna halvvägs mellan polerna och vinkelräta mot dem är som ekvatorn.

Fördelning av utrymmet N

Antalet punkter som är exakt d bitar från en godtycklig punkt x (säg från punkten 0) är antalet sätt att välja d-koordinater från totalt n koordinater, och ges därför av binomialkoefficienten :

Fördelningen av N är alltså binomialfördelningen med parametrarna n och p, där p = 1/2. Medelvärdet för binomialfördelningen är n/2 och variansen är n/4. Denna fördelningsfunktion kommer att betecknas med N(d). Normalfördelningen F med medelvärde n/2 och standardavvikelse är en bra approximation till den: N(d) = Pr{d(x, y) ≤ d } ≅ F{(d − n / 2)/ }

Tendens till ortogonalitet

En enastående egenskap hos N är att det mesta ligger på ungefär medelavståndet (likgiltighet) n/2 från en punkt (och dess komplement). Med andra ord, det mesta av utrymmet är nästan ortogonalt mot en given punkt, och ju större n är, desto mer uttalad är denna effekt.

Som neuralt nätverk

SDM kan betraktas antingen som en innehållsadresserbar förlängning av ett klassiskt RAM -minne eller som en speciell typ av trelagers neurala nätverk för feedforward . De viktigaste SDM-ändringarna i RAM-minnet är:

  • SDM beräknar Hamming-avstånd mellan referensadressen och varje platsadress. För varje avstånd som är mindre eller lika med den givna radien väljs motsvarande plats.
  • Minnet representeras av räknare (där n är antalet platser och m är indatalängden) istället för enbitars lagringselement.
  • Att skriva till minnet, istället för att skriva över, är som följer:
    • om i-biten för indata är 1, ökas motsvarande räknare (räknare på de valda platserna (raderna) och i de i:te kolumnerna),
    • om i-biten för indata är 0, minskas motsvarande räknare.
  • Att läsa (eller återkalla) från minnet är liknande:
    • Innehållet i de valda platserna summeras kolumnvis.
    • Varje summa är tröskelvärd. Om summan är större än eller lika med tröskelvärdet sätts motsvarande utbit till 1, i motsatt fall rensas den. Observera att tröskelvärdena kan vara noll om träningsingångsvektorerna är stängda för ortogonala.

Neuronmodell

En idealiserad beskrivning av neuron är följande: en neuron har en cellkropp med två sorters grenar: dendriter och en axon . Den tar emot insignaler från andra neuroner via dendriter, integrerar (summerar) dem och genererar sin egen (elektriska) utsignal som skickas till externa neuroner via axon. Punkterna för elektrisk kontakt mellan neuroner kallas synapser .

När en neuron genererar en signal avfyrar den och efter avfyring måste den återhämta sig innan den skjuter igen. Den relativa betydelsen av en synaps för avfyring av neuron kallas synaptisk vikt (eller ingångskoefficient) . Det finns två typer av synapser: exciterande som utlöser neuron till brand och hämmande som hindrar avfyring. Neuronen är antingen excitatorisk eller hämmande beroende på vilken typ av synapser dess axon gör.

En neuron avfyras när summan av insignaler överstiger en specifik tröskel . Ju högre tröskeln är desto viktigare är det att excitatoriska synapser har input medan hämmande inte har det. Huruvida en återvunnen neuron faktiskt avfyrar beror på om den fick tillräckligt med excitatorisk inmatning (över tröskeln) och inte för mycket av hämmande input inom en viss period.

Den formella modellen av neuron gör ytterligare förenklade antaganden. En n -ingångsneuron modelleras av en linjär tröskelfunktion enligt följande:

För där n är antalet ingångar, låt vara utgången vid tidpunkten t : , och låt vara den i -te ingången vid tidpunkten t : . Låt vara vikten av den i -te ingången och låt vara tröskeln.

Den viktade summan av ingångarna vid tidpunkten t definieras av

Neuronutgången vid tidpunkten t definieras då som en funktion : {

Där F t =1 betyder att neuronen avfyrar vid tidpunkten t och F t =0 att den inte gör det, dvs för att neuronen ska kunna avfyra måste den viktade summan nå eller överstiga tröskeln . Excitatoriska ingångar ökar summan och hämmande ingångar minskar den.

Neuron som adressavkodare

Kanervas nyckeltes är att vissa neuroner skulle kunna ha sina ingångskoefficienter och trösklar fixerade över en organisms hela liv och användas som adressavkodare där n -tuppel av ingångskoefficienter (det mönster som neuroner reagerar lättast på) bestämmer n -bitars minnet adress, och tröskeln styr storleken på regionen med liknande adressmönster som neuronen svarar på.

Denna mekanism är komplementär till justerbara synapser eller justerbara vikter i ett neuralt nätverk ( perceptronkonvergensinlärning ), eftersom denna fasta åtkomstmekanism skulle vara en permanent referensram som gör det möjligt att välja de synapser i vilka informationen lagras och från vilken den hämtas under givna omständigheter. Dessutom skulle en kodning av den aktuella omständigheten fungera som en adress.

Adressen a för en neuron med ingångskoefficienter w där definieras som ett n -bitars inmatningsmönster som maximerar den viktade summan. Maximum inträffar när de inhiberande ingångarna är nollor och de excitatoriska ingångarna är ettor. Den i -te biten i adressen är:

(förutsatt att vikter inte är noll)

Den maximalt viktade summan är då summan av alla positiva koefficienter:

Och den minsta viktade summan skulle motsvara en punkt mitt emot neuronadressen a`:

När tröskeln c är inom intervallet är utsignalen från neuronen 0 för vissa adresser (indatamönster) och 1 för andra. Om tröskeln är över S är utgången alltid 0, om den är under s är utgången alltid 1. Så genom ett korrekt val av tröskeln svarar en neuron bara på en adress. När tröskeln är S (maximum för den viktade summan) svarar neuronen endast på sin egen adress och fungerar som en adressavkodare för ett konventionellt slumpmässigt åtkomstminne .

Minnesplats

SDM är utformad för att klara adressmönster som spänner över ett enormt adressutrymme (ordning på . SDM antar att adressmönstren som faktiskt beskriver fysiska situationer av intresse är sparsamt utspridda över inmatningsutrymmet. Det är omöjligt att reservera en separat fysisk plats som motsvarar varje möjlig ingång; SDM implementerar endast ett begränsat antal fysiska eller hårda platser. Den fysiska platsen kallas en minnesplats (eller hård ).

Varje hård plats har associerat med två objekt:

  • en fast hård adress, som är platsens N-bitars adress
  • en innehållsdel som är M-bitar bred och som kan ackumulera flera M-bitars datamönster inskrivna på platsen. Innehållets del är inte fixerad; den modifieras av datamönster som skrivs in i minnet.

I SDM skulle ett ord kunna lagras i minnet genom att skriva det på en ledig lagringsplats och samtidigt förse platsen med lämplig adressavkodare. En neuron som adressavkodare skulle välja en plats baserat på likheten mellan platsens adress och hämtningssignalen. Till skillnad från konventionella Turing-maskiner drar SDM fördel av parallell beräkning av adressavkodarna . Enbart åtkomst till minnet betraktas som datoranvändning, vars mängd ökar med minnesstorleken.

Adressmönster

En N-bitars vektor som används för att skriva till och läsa från minnet. Adressmönstret är en kodad beskrivning av ett miljötillstånd. (t.ex. N = 256.)

Datamönster

En M-bit vektor som är föremålet för skriv- och läsoperationerna. Liksom adressmönstret är det en kodad beskrivning av ett miljötillstånd. (t.ex. M = 256.)

Skrift

Skrivning är operationen att lagra ett datamönster i minnet med användning av ett speciellt adressmönster. Under en skrivning består ingången till minnet av ett adressmönster och ett datamönster. Adressmönstret används för att välja hårdminnesplatser vars hårda adresser ligger inom ett visst gränsavstånd från adressmönstret. Datamönstret lagras på var och en av de valda platserna.

Läsning

Läsning är operationen att hämta ett datamönster från minnet med användning av ett speciellt adressmönster. Under en läsning används ett adressmönster för att välja ett visst antal hårdminnesplatser (precis som under en skrivning). Innehållet i de valda platserna summeras bitvis och tröskelvärdes för att härleda ett M-bitars datamönster. Detta fungerar som utdata som läses från minnet.

Pekarkedjor

Alla objekt är länkade i en enda lista (eller array) av pekare till minnesplatser och lagras i RAM. Varje adress i en array pekar på en individuell rad i minnet. Den raden returneras sedan om den liknar andra linjer. Neuroner används som adressavkodare och kodare, på samma sätt som neuroner fungerar i hjärnan, och returnerar föremål från arrayen som matchar eller är liknande.

Kritiskt avstånd

Kanervas minnesmodell har ett koncept av en kritisk punkt : före denna punkt kan ett tidigare lagrat objekt enkelt hämtas; men bortom denna punkt kan ett föremål inte hämtas. Kanerva har metodiskt beräknat denna punkt för en viss uppsättning (fasta) parametrar. Motsvarande kritiska avstånd för ett sparsamt distribuerat minne kan ungefär utvärderas genom att minimera följande ekvation med begränsningen och . Beviset finns i,

Var:

  • : är avståndet till målet;
  • : är antalet dimensioner;
  • : är den normaliserade normalfördelningen med medelvärde noll och varians ett;
  • : är antalet gånger målbitsträngen skrevs i minnet;
  • : är summan av slumpmässiga bitsträngar i alla hårda platser aktiverade av en läsoperation; dvs storleken på en cellenhet;
  • : är medelantalet delade hårda platser aktiverade av två bitsträngar bitar från varandra. Man kan hitta några värden för en 1000-dimensionell SDM i Kanervas bok, Tabell 7.1, sid. 63, eller ekvationerna att beräkna till valfri SDM i Appendix B, sid. 125 av samma bok.

Probabilistisk tolkning

Ett associativt minnessystem som använder glesa, distribuerade representationer kan omtolkas som en viktighetssamplare , en Monte Carlo- metod för att approximera Bayesiansk slutledning . SDM kan betraktas som en Monte Carlo-approximation till en flerdimensionell betingad sannolikhetsintegral . SDM kommer att producera acceptabla svar från en träningsuppsättning när denna approximation är giltig, det vill säga när träningsuppsättningen innehåller tillräckligt med data för att ge bra uppskattningar av de underliggande gemensamma sannolikheterna och det finns tillräckligt många Monte Carlo-prover för att få en korrekt uppskattning av integralen .

Biologisk rimlighet

Gles kodning kan vara en allmän strategi för neurala system för att öka minneskapaciteten. För att anpassa sig till sina miljöer måste djur lära sig vilka stimuli som är förknippade med belöningar eller straff och skilja dessa förstärkta stimuli från liknande men irrelevanta. En sådan uppgift kräver implementering av stimulusspecifika associativa minnen där endast ett fåtal neuroner ur en population svarar på varje given stimulus och varje neuron svarar på endast ett fåtal stimuli av alla möjliga stimuli.

Teoretiskt arbete på SDM av Kanerva har föreslagit att sparsam kodning ökar kapaciteten hos associativt minne genom att minska överlappning mellan representationer. Experimentellt har glesa representationer av sensorisk information observerats i många system, inklusive syn, audition, beröring och lukt. Men trots de ackumulerande bevisen för utbredd sparsam kodning och teoretiska argument för dess betydelse, har en demonstration av att sparsam kodning förbättrar stimulusspecificiteten hos associativt minne saknats tills nyligen.

Vissa framsteg har gjorts under 2014 genom att Gero Miesenböcks labb vid University of Oxford analyserade Drosophila Olfactory system . I Drosophila tros gles luktkodning av svampkroppens kenyonceller generera ett stort antal exakt adresserbara platser för lagring av luktspecifika minnen . Lin et al. visade att gleshet kontrolleras av en negativ återkopplingskrets mellan Kenyon-celler och den GABAergiska främre parade laterala (APL) neuronen. Systematisk aktivering och blockering av varje ben i denna återkopplingskrets visar att Kenyonceller aktiverar APL och APL hämmar Kenyonceller. Att störa Kenyon-cell-APL-återkopplingsslingan minskar glesheten i Kenyon-cellluktsvaren, ökar korrelationerna mellan lukter och förhindrar flugor från att lära sig att urskilja liknande, men inte olika, lukter. Dessa resultat tyder på att återkopplingsinhibering undertrycker Kenyon-cellaktivitet för att upprätthålla sparsam, dekorrelaterad luktkodning och därmed luktspecificiteten hos minnen. En 2017-publikation i Science visade att flugluktkretsen implementerar en förbättrad version av binär lokalitetskänslig hashing via glesa, slumpmässiga projektioner.

Ansökningar

I tillämpningar av minnet är orden mönster av funktioner. Vissa funktioner produceras av ett sensoriskt system, andra styr ett motoriskt system. Det finns ett aktuellt mönster (på t.ex. 1000 bitar), vilket är det aktuella innehållet i systemets fokus . Sensorerna matas in i fokus, motorerna drivs från fokus och minnet nås genom fokus.

Det som händer i världen – systemets "subjektiva" upplevelse – representeras internt av en sekvens av mönster i fokus. Minnet lagrar denna sekvens och kan återskapa den senare i fokus om den adresseras med ett mönster som liknar ett tidigare. Därmed lär sig minnet att förutsäga vad som är på väg att hända. Stora tillämpningar av minnet skulle vara i system som hanterar verklig information i realtid.

Tillämpningarna inkluderar vision – upptäcka och identifiera objekt i en scen och förutse efterföljande scener – robotik , signaldetektering och verifiering och adaptiv inlärning och kontroll . På den teoretiska sidan kan minnets funktion hjälpa oss att förstå minne och lärande hos människor och djur.

Bästa matchningssökningen

SDM kan appliceras på problemet med att hitta den bästa matchningen till ett testord i en datauppsättning av lagrade ord. eller, med andra ord, problemet med att söka efter närmaste granne .

Betrakta ett minne med N platser där . Låt varje plats ha kapacitet för ett n -bitars ord (t.ex. N= 2 100 100-bitars ord), och låt adressavkodningen göras av N adressavkodarneuroner. Ställ in tröskeln för varje neuron x till dess maximala viktade summa och använd en gemensam parameter d för att justera alla trösklar när du kommer åt minnet. Den effektiva tröskeln för neuron x blir då vilket innebär att platsen x är tillgänglig varje gång adressen x är inom d bitar från adressen som presenteras i minnet (dvs adressen som adressregistret innehar). Med har vi ett konventionellt slumpmässigt åtkomstminne . Antag vidare att varje plats har en speciell platsupptagen bit som kan nås på samma sätt som de vanliga datumbitarna. Att skriva ett ord till en plats ställer in denna platsupptagna bit. Antag att endast upptagen plats kan avläsas.

För att spara data i minnet, börja med att ställa in och utfärda ett kommando för att rensa den platsupptagna biten. Denna enda operation markerar allt minne som ledigt oavsett adressregistrets värden. Ställ sedan in och skriv varje ord y i datamängden med y själv som adress. Observera att varje skrivoperation endast påverkar en plats: platsen y . Arkiveringstiden är alltså proportionell mot antalet ord i datamängden.

Att hitta den bästa matchningen för ett testord z innebär att placera z i adressregistret och hitta det minsta avståndet d för vilket det finns en upptagen plats. Vi kan starta sökningen genom att ställa in och öka d successivt tills en upptagen plats hittas. Denna metod ger genomsnittliga söktider som är proportionella mot antalet adressbitar eller något mindre än eftersom den närmaste upptagna platsen kan förväntas vara strax under bitar från z (med binär sökning d skulle detta vara O(log(n)).

Med 100-bitars ord skulle 2 100 platser behövas, dvs ett enormt stort minne. Men om vi konstruerar minnet när vi lagrar orden i datamängden behöver vi bara en plats (och en adressavkodare) för varje ord i datamängden. Ingen av de obebodda platserna behöver vara närvarande. Detta representerar aspekten av gleshet i SDM.

Taligenkänning

SDM kan användas för att transkribera tal , där träningen består av att "lyssna" på en stor korpus av talat språk . Två svåra problem med naturligt tal är hur man upptäcker ordgränser och hur man anpassar sig till olika talare. Minnet ska kunna hantera båda. För det första lagrar den sekvenser av mönster som pekarkedjor. I träning – i att lyssna på tal – kommer den att bygga en probabilistisk struktur med den högsta förekomsten av förgrening vid ordgränser. Vid transkribering av tal detekteras dessa förgreningspunkter och tenderar att bryta strömmen i segment som motsvarar ord. För det andra är minnets känslighet för likhet dess mekanism för att anpassa sig till olika högtalare – och till variationerna i rösten hos samma talare.

"Inse att glömma"

Decay-funktioner
Den exponentiella decay-funktionen
Den negerade-översatta sigmoidfunktionen

Vid University of Memphis skapade Uma Ramamurthy, Sidney K. D'Mello och Stan Franklin en modifierad version av det sparsamma distribuerade minnessystemet som representerar "att förverkliga att glömma." Den använder en decay-ekvation för att bättre visa störningar i data. Det sparsamma distribuerade minnessystemet distribuerar varje mönster till ungefär en hundradel av platserna, [ förtydligande behövs ] så störningar kan få skadliga resultat.

Två möjliga exempel på förfall från detta modifierade glesa distribuerade minne presenteras

Exponentiell avklingningsmekanism:

Negerad-översatt sigmoid sönderfallsmekanism:

I den exponentiella avklingningsfunktionen närmar den sig noll snabbare när x ökar, och a är en konstant (vanligtvis mellan 3-9) och c är en räknare. För den negerade- översatta sigmoidfunktionen liknar avklingningen den exponentiella avklingningsfunktionen när a är större än 4.

När grafen närmar sig 0, representerar den hur minnet glöms bort med hjälp av sönderfallsmekanismer.

Genetiskt sparsamt distribuerat minne

Ashraf Anwar, Stan Franklin och Dipankar Dasgupta vid University of Memphis; föreslog en modell för SDM-initiering med hjälp av genetiska algoritmer och genetisk programmering (1999).

Genetiskt minne använder genetisk algoritm och sparsamt distribuerat minne som ett pseudo artificiellt neuralt nätverk. Det har ansetts användas för att skapa konstgjort liv.

Statistisk förutsägelse

SDM har tillämpats på statistisk förutsägelse , uppgiften att associera extremt stora perceptuella tillståndsvektorer med framtida händelser. Under förhållanden med nära eller överkapacitet, där modellens associativa minnesbeteende går sönder, kan bearbetningen som utförs av modellen tolkas som den för en statistisk prediktor och varje dataräknare i en SDM kan ses som en oberoende uppskattning av den villkorade sannolikheten för att en binär funktion f är lika med aktiveringsuppsättningen definierad av räknarens minnesplats.

Artificiell allmän intelligens

  • LIDA använder sparsamt distribuerat minne för att hjälpa till att modellera kognition i biologiska system. De glesa distribuerade minnesplatserna återkallar eller känner igen objektet som det har i förhållande till andra objekt. Det utvecklades av Stan Franklin, skaparen av det modifierade glesa distribuerade minnessystemet "förverkligande att glömma". Övergående episodiska och deklarativa minnen har distribuerat representationer i LIDA (baserat på modifierad version av SDM), det finns bevis för att så är fallet även i nervsystemet.
  • CMatie är en "medveten" programvaruagent som utvecklats för att hantera seminariemeddelanden vid Mathematical Sciences Department vid University of Memphis . Det är baserat på SDM utökat med användning av genetiska algoritmer som ett associativt minne .
  • Hierarkiskt temporalt minne använder SDM för att lagra glesa distribuerade representationer av data.

Förstärkningsinlärning

SDM:er tillhandahåller ett linjärt, lokalt funktionsapproximationsschema , utformat för att fungera när ett mycket stort/högdimensionellt indatautrymme (adress) måste mappas till ett mycket mindre fysiskt minne . I allmänhet kan lokala arkitekturer, inklusive SDM, vara föremål för dimensionalitetens förbannelse, eftersom vissa målfunktioner kan kräva, i värsta fall, ett exponentiellt antal lokala enheter som ska approximeras exakt över hela inmatningsutrymmet. Det är dock en allmän uppfattning att de flesta beslutsfattande system behöver hög noggrannhet endast kring lågdimensionella grenrör i tillståndsutrymmet , eller viktiga tillstånds "motorvägar". Arbetet i Ratitch et al. kombinerade SDM-minnesmodellen med idéerna från minnesbaserad inlärning , som ger en approximator som dynamiskt kan anpassa sin struktur och upplösning för att lokalisera regioner i tillståndsutrymmet som är "mer intressanta" och tilldela proportionellt mer minnesresurser för att modellera dem exakt.

Objektindexering i datorseende

Dana H. Ballards labb demonstrerade en allmän objektindexeringsteknik för datorseende som kombinerar fördelarna med huvudkomponentanalys med de gynnsamma matchningsegenskaperna hos högdimensionella utrymmen för att uppnå hög precisionigenkänning. Indexeringsalgoritmen använder ett aktivt visionsystem i kombination med en modifierad form av SDM och tillhandahåller en plattform för att lära sig sambandet mellan ett objekts utseende och dess identitet.

Tillägg

Många tillägg och förbättringar av SDM har föreslagits, t.ex.

  • Ternärt minnesutrymme: Detta gör att minnet kan användas som ett transient episodiskt minne (TEM) i kognitiva programvaruagenter . TEM är ett minne med hög specificitet och låg retention, som används för händelser som har egenskaper från en viss tid och plats.
  • Heltals-SDM som använder modulära aritmetiska heltalsvektorer snarare än binära vektorer. Detta tillägg förbättrar minnets representationsförmåga och är mer robust över normalisering. Den kan också utökas för att stödja glömska och pålitlig sekvenslagring.
  • Användning av ordvektorer av större storlek än adressvektorer: Denna förlängning bevarar många av de önskvärda egenskaperna hos den ursprungliga SDM:en: autoassocierbarhet, innehållsadresserbarhet, distribuerad lagring och robusthet över brusiga ingångar. Dessutom lägger den till ny funktionalitet, vilket möjliggör en effektiv autoassociativ lagring av sekvenser av vektorer, såväl som av andra datastrukturer såsom träd.
  • Konstruera SDM från spikneuroner : Trots den biologiska likheten hos SDM har det mesta av det arbete som gjorts för att demonstrera dess förmåga hittills använt mycket artificiella neuronmodeller som abstraherar bort det faktiska beteendet hos neuroner i hjärnan . Nyligen utfört arbete av Steve Furbers labb vid University of Manchester föreslog anpassningar till SDM, t.ex. genom att införliva N-of-M rangkoder i hur populationer av neuroner kan koda information – vilket kan göra det möjligt att bygga en SDM-variant från biologiskt rimliga komponenter. Detta arbete har införlivats i SpiNNaker (Spiking Neural Network Architecture) som används som Neuromorphic Computing Platform for the Human Brain Project .
  • Icke-slumpmässig fördelning av platser: Även om lagringsplatserna initialt distribueras slumpmässigt i det binära N-adressutrymmet, beror den slutliga fördelningen av platser på de presenterade inmatningsmönstren och kan vara icke-slumpmässiga, vilket möjliggör bättre flexibilitet och generalisering . Datamönstret lagras först på platser som ligger närmast ingångsadressen. Signalen (dvs datamönstret) sprids sedan genom minnet, och en liten procentandel av signalstyrkan (t.ex. 5%) går förlorad vid varje efterföljande plats som påträffas. Att distribuera signalen på detta sätt tar bort behovet av en vald läs/skrivradie, en av de problematiska egenskaperna hos den ursprungliga SDM:n. Alla platser som väljs i en skrivoperation får nu inte en kopia av det ursprungliga binära mönstret med samma styrka. Istället får de en kopia av mönstret viktat med ett verkligt värde från 1,0->0,05 för att lagra i verkligt värderade räknare (snarare än binära räknare i Kanervas SDM). Detta belönar de närmaste platserna med en högre signalstyrka och använder SDM:ns naturliga arkitektur för att dämpa signalstyrkan. På liknande sätt vid läsning från minnet ges utdata från de närmaste platserna en större vikt än från mer avlägsna platser. Den nya signalmetoden gör att den totala signalstyrkan som tas emot av en plats kan användas som ett mått på lämpligheten för en plats och är flexibel för varierande inmatning (eftersom förlustfaktorn inte behöver ändras för ingångsmönster av olika längd).
  • SDMSCue (Sparse Distributed Memory for Small Cues): Ashraf Anwar & Stan Franklin vid University of Memphis, introducerade en variant av SDM som kan hantera små signaler; nämligen SDMSCue 2002. Nyckelidén är att använda flera Reads/Writes och rymdprojektioner för att nå en successivt längre cue.

Relaterade patent

  • Metod och apparat för ett sparsamt distribuerat minnessystem US 5113507 A, Universities Space Research Association, 1992
  • Metod och anordning för att lagra och återkalla information som implementerar ett kanerva-minnessystem US 5829009 A, Texas Instruments , 1998
  • Digitalt minne, Furber, Stephen. US 7512572 B2, 2009

Genomförande

Se även