In de praktijk wordt voor sequentieherkenning meestal backpropagation gebruikt met terugkoppeling (Elman- of Jordan-netwerk). Zo'n netwerk kan getraind worden op willekeurige sequenties, en men heeft al veel ervaring heeft met het backpropagation-proces. Het heeft echter weinig biologische relevantie. Het leerproces geeft geen inzicht in hoe de hersenen niet alleen 'fuzzy' versies van eerder geziene data kunnen herkennen, maar ook zinvol met variaties in de structuur van ervaringen kunnen omgaan. De meest bekende zijn wel het kunnen omgaan met logica en taal.
Het aantal neuronen in de hersenen is natuurlijk veel groter dan die van de gebruikte backpropagation-netwerken, maar dit is echter niet voldoende om het verschil in mogelijkheden volledig te verklaren. Supervised learning heeft namelijk een beperking op het aantal neuronen dat zinvol wordt ingezet. Omdat alleen fouten in de uitvoer gebruikt worden om de coordinatie te sturen, kunnen diepgelegen interne lagen, wiens invloed niet langer duidelijk aan de uitvoer te zien is, niet zinvol gecoördineerd worden. Supervised learning wordt hierdoor inherent onschaalbaar. Een schaalbaar neuraal netwerk zou binnen zichzelf, onafhankelijk van feedback een criterium moeten hebben voor wat zinvol of relevant is. Het meest voor de hand ligt Hebbian learning, ook wel correlation learning genoemd, een leerproces dat 'structuur' en 'chaos' onderscheidt, zuiver aan de hand van herhaling.
Met het neurale geheugenmodel wat hier wordt geïntroduceerd, wordt een poging gedaan om wat meer inzicht te krijgen in de mogelijkheden van unsupervised Hebbian learning voor het temporele aspect van patroonherkenning en -associatie.
De regel van Hebb is een van de meest bekende en minst betwiste observaties over het leergedrag van neuronen. De neuroloog D.O.Hebb had aan de hand van zijn observaties de volgende regel opgesteld:
When an axon of cell A is near enough to excite a cell B and repeatedly or
persistently takes part in firing it, some metabolic change takes place in
one or both cells such that A's efficiency, as one of the cells firing B, is
increased.
Voor kunstmatige neurale netwerken wordt de 'metabolic change' meestal
geïnterpreteerd als synapsgroei bij het ontvangende neuron.
Als zowel de synaps als het neuron op hetzelfde moment activeren, dan groeit
de synaps. Het signaal van de synaps wordt dus gecorreleerd met het signaal
van het neuron. Dit alles kan ook gegeneraliseerd worden tot negatieve
synapsgewichten en signalen. Let wel: een negatief signaal samen met een
negatieve neuronactiviteit levert positieve synapsgroei op.
We gaan voor Hebbian learning echter alleen uit van positieve gewichten.
De meest gebruikte formulevorm is de volgende[1]:

Omdat op deze manier de gewichten alleen maar groeien, worden de gewichten vaak genormaliseerd, d.w.z. elk gewicht wordt gedeeld door eenzelfde constante: een norm-functie, die het totaal aan gewichten voorstelt.
Als een grote verzameling patronen wordt aangeboden aan het neuron, en getraind wordt met een lage leerconstante, dan zullen de synapsgewichten het patroon gaan representeren, dat het gemiddelde is van de meest geziene invoerpatronen. Het neuron wordt het actiefst, wanneer het patroon aangeboden wordt, dat het vaakst gezien is. Het neuron representeert op deze manier een eigenschap of feature van de invoer. Dit proces heet feature extraction.
Als één van de synapsen veel groter is dan alle andere, dan zal deze de neuronactiviteit grotendeels bepalen. In het begin zullen alle andere synapsen niet met elkaar, maar alleen met het signaal van die ene synaps correleren. Zo'n synaps heet een modulator. Na de training zal een specifiek aantal synapsen zodanig gegroeid zijn, dat deze zonder hulp van de modulator het neuron kunnen activeren. Dit betekent in feite, dat een signaal van de modulator verwacht werd; het modulator-signaal kan zo dus voorspeld worden. Dit principe heet modulator learning. Meestal zijn modulators voorgeprogrammeerde of met een andere methode geleerde synapsen.
Sequenties van patronen kunnen correleerd worden door variabele vertragingen in synapsen in te voeren. Signalen die na elkaar voorkomen worden zodanig vertraagd dat ze tegelijk aankomen. Een tijdspatroon wordt zo omgezet in een ruimtepatroon, en kan met de gewone Hebb-regel gecorreleerd worden. De 'scope' van de vertragingen is natuurlijk altijd beperkt. Men kan niet willekeurig ver terugkijken met alleen deze methode.
Twee bekende neurale basisprincipes die gebruikt worden in Hebbiaanse systemen zijn:
Het uitgangspunt van het model was het principe gevonden in Little Linguistic Creatures (L.L.C.)[6]. Wat deze creatures nu zo linguistic maakt is het auditieve systeem, die de volgende structuur heeft:

Het auditieve systeem krijgt als invoer een temporele sequentie van patronen, die opeenvolgende symbolen van een taal voorstellen. De interne laag leert dan met behulp van een Hebbiaanse regel om deze taal te herkennen, namelijk als volgt: Symbolen worden aangeboden, tezamen met context-informatie, die doorgegeven wordt via voorgeprogrammeerde modulator-synapsen. Deze informatie bepaalt de context waarin de symbolen gezien moeten worden, en wel juist de state, die correspondeert met de gelezen invoer tot op dat moment, van een finite state automaton, die de taal accepteert. Het context-patroon bestaat steeds uit één modulator-signaal aan, en de rest uit. Het gevolg is, dat steeds één neuron geactiveerd wordt. Op deze manier kan de interne laag op een eenvoudige wijze afgebeeld worden op een finite state automaton: Elk interne neuron stelt een state voor, zijn invoersynapsen bepalen het symbool behorende bij deze state, en de laterale synapsen, die een vertraging hebben van één tijdstap, de mogelijke overgangen vanuit vorige states. Met behulp van de modulator kunnen de synapsgewichten op deze manier getraind worden. Zo zal na een tijd training het auditieve systeem zonder de visuele context de taal kunnen begrijpen.
Dit systeem kan dus wél sequenties van willekeurige lengte aan, zelfs de hele klasse van reguliere talen, maar het wordt hierbij geholpen door de context. Een dergelijke state-benadering heeft ook wel zekere biologische relevantie, omdat dergelijke dynamiek 'in het echt' ook te vinden is. Een goed onderzocht voorbeeld is de patroongenerator in het brein van de mollusk tritonia diomedea[2]. Dit dier is gekozen, omdat deze zulke grote neuronen heeft, dat die in detail te meten zijn. De patroongenerator is een asynchrone, gedistribueerde klok, die zwempatronen genereert. Het bestaat uit vier groepen neuronen, die in vaste volgorde activeren. Dit is gemodelleerd met een variatie op het Hopfield-model. De architectuur van dit model is als volgt:

Elk van de vier groepen neuronen hebben onderling positieve symmetrische verbindingen, zodat de neuronen van één groep met elkaar associeren. Dit is analoog aan de vier corresponderende opgeslagen patronen in een Hopfield-geheugen. Het model is uitgebreid met trage verbindingen: deze zijn asymmetrisch, en hebben een vaste vertraging. De positieve trage verbindingen lopen van de neuronen in één groep naar die van de volgende groep in de reeks. Andere verbindingen tussen neuronen zijn negatief. Het effect hiervan zou men kunnen beschouwen als een 'veld van inhibitie': als er meerdere groepen tegelijk actief worden, gaan ze competeren, tot er één overblijft. Dit model bleek inderdaad asynchroon te werken, en nog leuker, het bleek precies overeen te komen met de -achteraf- experimenteel bepaalde synapsgewichten en -vertragingen.
Dit soort dynamische structuren zijn ook in het autonome zenuwstelsel van andere diersoorten te vinden. De snelheid kan van buitenaf worden geregeld, en eventueel zijn zelfs keuzes mogelijk tussen meerdere paden. Je zou je kunnen voorstellen dat temporeel geheugen ook op een dergelijke manier werkt, maar dan niet voorgeprogrammeerd. Bij het L.L.C., bijvoorbeeld, zou elk van de neuronen in werkelijkheid een groep neuronen kunnen voorstellen met onderlinge verbindingen. Het zou zo ook asynchroon moeten kunnen werken. Wat men zich echter af kan vragen, is of het L.L.C. niet zonder de context-modulators kan. Dan vormt het zich dus zuiver en alleen aan de hand van een zekere regelmaat in de invoer, en is dus 'zelf-organiserend' op dezelfde manier als een Kohonen Feature Map. Dit is wat hier geprobeerd is. In plaats van de context-modulators wordt nu een ander principe toegepast: er worden random neuronen aan states toegewezen. Dit wordt bewerkstelligd door een random-factor in het invoersignaal van elk neuron, gecombineerd met een winner takes all systeem.
Het systeem werkt online, dus het krijgt een continu doorlopende stroom invoerpatronen. Net zoals bij het L.L.C, stelt de invoer woorden voor van een reguliere taal. Er is echter iets afgeweken van de precieze definitie van een reguliere taal. Omdat het systeem nu niet langer hulp krijgt van context, is er de eis dat alle woorden vaak genoeg aan de beurt komen. Verder, omdat het systeem online werkt, is er geen sprake van een accept toestand, dus in feite wordt er slechts één zin van de taal ingevoerd.
Wat nu de doelstelling is van het neurale netwerk, is dat het steeds terugkomende sequenties in de gegevensstroom zou kunnen herkennen en opslaan. Eventueel zou het niet alleen deterministische sequenties, maar ook kansen op sequenties kunnen herkennen. Daarmee kan het dus alle 'reguliere structuren' aan. Het nut van zo'n systeem is duidelijk: het is mogelijk om stappen vooruit te kijken, en dus symbolen te voorspellen.
Als invoer is een vrij eenvoudig voorbeeld genomen, zodat alles nog met
de hand te analyseren valt.
Er zijn zes verschillende invoerpatronen, die elk een 'symbool' voostellen.
De patronen en symbolen zijn de volgende. Zwart betekent een '1'
signaal, wit een '0' signaal.

Achtereenvolgende symbolen vormen een reguliere taal, wat in feite
neerkomt op drie woorden met overlappende letters, die in random volgorde
afgewisseld worden:
( sabc | scde | sdea )*Deze taal bevat overlappende letters, en ook delen van woorden overlappen elkaar. Als invoer krijgt het systeem dan een willekeurig oneindige zin van de taal, bijvoorbeeld:
sdeasbcdsabcsabcscdesdeasdeascdesabc...De kans dat elk van de woorden aan de beurt komt is even groot gekozen. Het systeem moet daaruit de drie verschillende woorden zien te herkennen, en de kansen na een eindsymbool van één woord op een beginsymbool van elk ander woord.

Net zoals in het L.L.C, hebben de neuronen synapsen met de invoer, en met elkaar. De laterale verbindingen hebben een tijdsvertraging van één stap. Het systeem gebruikt een 'winner takes all', wat expliciet in het neuron kan worden aangegeven met laterale inhibitoire synapsen. Het neuron bepaalt aan de hand van deze signalen, of zijn eigen som van excitatie groter is dan dat van elk van de andere neuronen, en geeft dan alleen een 'actief' signaal door via de axon. Verder is er sprake van een random-factor: Er wordt gewoon een random getal bij de activatie opgeteld, voordat deze getest wordt met de andere neuronen. De synaps-gewichtsaanpassing gaat met de standaard Hebb-regel, en normalisatie.
De dynamiek is synchroon, als bij het L.L.C. Als geheel krijgt men dan de volgende procedure:
Hoe dit systeem nu zou moeten werken is als volgt:

Uit de simulaties bleek het volgende: De tijdsafhankelijkheid van meer dan 1 stap wordt pas gezien als de gain groot genoeg is. Het gevolg van een te kleine gain is, dat er geen disjuncte 'paden' worden gevormd voor woorden met overlappende symbolen. De paden die gevormd worden zijn in feite steeds zo vaag, dat ze later niet meer teruggevolgd, en verder uitgeslepen kunnen worden. Het effect is dan, dat het systeem alleen eerste-orde kansen kan voorspellen, en dus net zo werkt als het 1-stap terugkijken.
Maar om de synapswaarden precies te laten convergeren, moet de gain
juist weer klein genoeg zijn. Het gevolg is anders, dat
synapsgewichten niet fijn genoeg aagepast worden, om ook vaste kansen te
kunnen reflecteren. Na een s bijvoorbeeld, kan een
a, een c of een d komen.
Een voor de hand liggende oplossing is om eerst een hoge gain en
random-getal te nemen, en deze tijdens het trainen af te lagen,
maar dat geeft slechts weinig verbetering.
Het ziet er in feite net zo uit als wanneer men alleen een hoge
gain neemt.
Uit het bekijken van runtime-gegevens bleek er het volgende aan de hand:
Na een s bijvoorbeeld, is het onduidelijk welk symbool volgt.
Op het moment dat het symbool aankomt, een a bijvoorbeeld,
wordt een willekeurig neuron die a representeert, geactiveerd.
Dit neuron kan net zo goed in het pad DEAS als het pad
ABCS liggen. De recall kan dus een foute
(hier DEAS) zijn. Het neuron past dus eventueel zijn synapsen
fout aan, met dezelfde kans dat het een goede aanpassing zou maken.
Dit komt, omdat het systeem niet kan vooruitkijken of dit het juiste
pad wel is.
Hier zijn wat resultaten van eindconfiguraties, om het een en ander duidelijk te maken.

De gebruikte gains waren ongeveer optimaal. 'ongebruikt' betekent niet, dat de synapsen niet gegroeid zijn, maar dat geen andere neuronen gevoelig zijn geworden voor deze neuronen. Dit gaat bijna altijd samen met slechts gedeeltelijk gegroeide synapsen.
Je ziet hier hoe voor elk van de woorden een apart pad gevormd is.
De s wordt soms aan het begin, soms aan het eind, en soms
aan beide kanten gezet. Het woord sdea is in beide gevallen
slechts gedeeltelijk gerepresenteerd.
Het effect van een groter aantal neuronen is, dat woorden dubbelop
gerepresenteerd worden. Bij zeer grote aantallen neuronen zou bijvoorbeeld
het aantal keer dat een woord voorkomt evenredig kunnen zijn met de kans
op dat woord, of met hoe 'makkelijk' dat woord is.
Verder zijn er een aantal half gegroeide synapsen. Vaak kloppen deze inderdaad met de kansen op woordovergangen, maar laten vaak ook het proberen te corrigeren van een 'ineffectieve configuratie' (bijvoorbeeld een niet goed gevormd woord) zien. Als deze synapsen uitgroeien, ontstaat vaak weer een andere ineffectiviteit.
Het model werkt niet ideaal, en is waarschijnlijk niet beter dan het 1-stap-terugkijken voor grotere voorbeelden, omdat men dan genoodzaakt zal zijn een lage learning rate te gebruiken. Dit komt waarschijnlijk vanwege het eerder genoemde probleem: als een symbool volgt dat niet in de verwachte toestandsovergang past, dan wordt eventueel het verkeerde neuron actief, wat dan wél zijn gewichten aanpast. Echter, in theoretisch opzicht is het toch zeer interessant dat het principe van een L.L.C, door gewoon de context te vervangen door random (wat dit dus eigenlijk is), tot op zekere hoogte werkt als op het origineel.
Het tweede probleem is, wat het L.L.C. ook heeft, is dat er nooit meer states dan neuronen kunnen zijn.
Om beide problemen op te lossen stel ik een nieuw model voor. Uit praktische overwegingen valt verder onderzoek hiervan buiten het bestek van deze opdracht. Het nieuwe model werkt met meerdere winning neuronen, en met langzame en snelle laterale synapsen. Een vast (optimaal) percentage van neuronen wordt actief. Deze worden geassocieerd met elkaar, via snelle synapsen. Met langzame en invoer-synapsen wordt elk neuron geassocieerd met de vorige toestand en de invoer, net als in het hier behandelde model. Het resulterende model komt nu bija overeen met dat van de patroongenerator van de eerder behandelde mollusk, behalve dat groepen elkaar kunnen overlappen, en dat het zelflerend is. Met behulp van de wederzijdse, snelle verbindingen, gecombineerd met het patroon van de vorige toestand en de invoer, kan nu een opgeslagen groep weer teruggevonden worden.
Het tweede probleem is nu opgelost: een neuron kan nu meedoen in meerdere groepen, en het aantal mogelijke toestanden is groter dan het aantal neuronen. Een wiskundig bewijs hiervan bleek niet nodig te zijn, want dit idee bestaat namelijk al; daar kwam ik -helaas- te laat achter. Verder bleek het dat een zeer klein percentage optimaal was. Het bedoelde model is de convergence zone[7]. Het is een model voor het episodisch korte-termijn geheugen in de hippocampus, gebaseerd op nieuwe experimentele gegevens gevonden in het brein van proefdieren. Het centrale deel is de interne laag, of binding layer. De neuronen in deze laag hebben alleen invoersynapsen, die patronen, gegenereerd door feature-maps, doorgeven. Het kan deze patronen in één keer opslaan, door een kleine groep random neuronen, de binding constellation, te activeren, en door onmiddelijke, grote synapsgroei te 'hechten' aan het invoerpatroon. Deze kan dan teruggehaald met behulp van slechts een deel van het opgeslagen patroon: de retrieval cue. Wat echter niet behandeld werd, is hoe het korte-termijn geheugen sequenties op kan slaan, en hoe het online zou kunnen werken.
Het model zou ook het eerste probleem op kunnen lossen. Als geheel zou het dan als volgt werken (het percentage actieve neuronen is voor het gemak onrealistisch groot genomen):

Wat hier overeenkomt met een binding constellation, hecht dus niet alleen het invoerpatroon, maak ook de binding constellation van het vorige tijdstip. Een storage verbindt zo dus het huidige symbool met de vorige toestand. Op het moment dat op een onverwacht moment een eerder gezien symbool aangeboden wordt, zal het systeem als binding constellation een variatie op een combinatie van eerder geziene patronen maken. In feite zit in deze constellation dus elk van de mogelijke situaties waarbij dit symbool betrokken was, besloten. Als nu de sequentie verder duidelijk wordt, kan deze constellation gebruikt worden als gedeeltelijk retrieval cue voor de juiste sequentie. De constellations beginnen zo steeds duidelijker terug te vallen in eerder opgeslagen constellations.
[1] R.Linsker: From Basic Network Principles to Neural Architecture, Proceedings of the National Academy of Sciences, USA, 1986
[2] D.Kleinfield & H.Sompelinsky: Associative Network Models for Central Pattern Generators, Methods in Neuronal Modeling: from Synapses to Networks, MIT Press, Cambridge, 1989
[3] J.Hertz, A Krogh & R.G. Palmer: Introduction to the Theory of Neural Computation, Lecture Notes Volume I, Santa Fe Institute, 1991
[4] A. Hoekstra: Sequence Recognition using the Kohonen Feature Map, M.Sc. Thesis, Faculteit Informatica, Universiteit Twente, juni 1993
[5] H. van Harmelen: Time Dependent Self-Organizing Feature Map for Speech Recognition, M.Sc. Thesis, Faculteit Electrotechniek, Universiteit Twente, november 1993
[6] M.F.J.Drossaers & D.Dokter: Simple Speech Recognition with Little Linguistic Creatures, TWLT 8, Universiteit Twente, Enschede, november 1994
[7] M.Moll & Risto Miikkulainen: Convergence-Zone Episodic Memory: Analysis and Simulations, Technical Report AI95-227, 1995