Zenuwachtige netwerken

De computer die stapje voor stapje zijn instructies afwerkt is zo langzamerhand aan de grens van zijn kunnen gekomen. Als we betere en snellere apparaten willen bouwen zit er maar een ding op: onze hersenen nabouwen.

Computerbouwers likken hun vingers af als ze kijken naar de hersenen: hier hebben we een klein, slordig geconstrueerd apparaat, dat alle supercomputers ter wereld in betrouwbaarheid, snelheid en slimheid overtreft. Bovendien hoeft het niet geprogrammeerd te worden; het leert zelf de weg door onze gecompliceerde wereld. Onderzoekers slagen er de laatste tijd steeds beter in de principes die aan de werking van de hersenen ten grondslag liggen in computers in te bouwen. Er zijn al systemen die de uitspraak van een vreemde taal in een nacht aanleren, typemachines die opschrijven wat je zegt, sonarapparaten die mijnen van andere voorwerpen op de zeebodem kunnen onderscheiden en de 'neuro-revolutie' in de informatica gaat nog steeds verder.

Onze hersenen werken heel anders dan moderne digitale computers. De meeste computers hebben een centrale processor, die stapje voor stapje reeksen instructies afwerkt. Onze hersenen daarentegen bevatten tussen de tien en honderd miljard zenuwcellen, die allemaal gelijktijdig werken. Hierdoor hebben de hersenen andere sterke en zwakke kanten dan computers. Omdat er zoveel cellen parallel aan elkaar werken, zijn de hersenen doorgaans veel sneller dan computers. De snelste computers die met de slimste programma's zijn geprogrammeerd doen er al snel een paar uur over om een koe en een boerderij op een foto van elkaar te onderscheiden en te herkennen - mensen maken het onderscheid in een oogopslag. Het grootste deel van wat we doen, doen we trouwens binnen fracties van seconden - of het nu om het nemen van beslissingen gaat, het herkennen van visuele patronen in de omgeving, of het in evenwicht houden van ons lichaam. En dat terwijl de cellen in onze hersenen duizenden malen langzamer werken dan elektronische cellen. Dat betekent dat de hersenen een heel ander soort 'programma's' afdraaien dan computers. Dat blijkt ook uit het feit dat wij met meer gegevens vaak sneller beslissingen nemen, patronen herkennen en oplossingen zien, dan wanneer wij het met enkele summiere aanwijzingen moeten doen. Computers werken altijd trager als ze meer gegevens moeten verwerken.

Het naast elkaar werken van zoveel zenuwcellen in de hersenen heeft nog meer prettige gevolgen. Het maakt de hersenen tamelijk ongevoelig voor beschadigingen. Iedere dag gaan er honderden cellen in de hersenen dood, zonder dat dit merkbare gevolgen heeft. In een computer hoeft maar een draadje los te raken, of hij doet het niet meer.

De parallelle werking heeft ook nadelen. Omdat de afzonderlijke verbindingen er niet zo veel toe doen en steeds slechts de stem van de meerderheid geldt, is enige onnauwkeurigheid het onvermijdelijke gevolg. Mensen zijn goed in staat om ogenblikkelijk te reageren op massa's vage informatie, maar de precisie van een zakrekenmachine ligt doorgaans buiten hun bereik, een enkele idiot savant daargelaten.

Graag combineren

Computerbouwers zouden de aantrekkelijke kanten van beide werelden natuurlijk graag willen combineren. Het einde van de ontwikkeling van de tegenwoordige seriele (stapje voor stapje werkende) computer is zo ongeveer in zicht. De elektronische componenten kunnen nauwelijks sneller gemaakt worden en de ontwikkeling van de programmatuur die de computer een zekere mate van intelligent gedrag zou moeten geven, verloopt veel moeizamer dan iedereen vroeger had gehoopt. Geconfronteerd met deze moeilijkheden, kijken computerontwerpers en software-ingenieurs al sinds de jaren veertig met een schuin oog naar de hersenen. Technologisch gezien lijkt het geen al te zware opgave om stukjes zenuwweefsel in elektronica na te bouwen. De ontwikkeling van intelligente software die op dergelijke wetware (of netware) zou moeten draaien, levert nog minder problemen op. Hersenen hoeven immers niet moeizaam geprogrammeerd te worden met starre programma's die in iedere mogelijk voorkomende situatie voorzien. Ze maken hun eigen programma's. Ze leren uit zichzelf en passen zich flexibel aan veranderende omstandigheden aan.

De enige moeilijkheid bij het bouwen van een neurocomputer is de vraag: volgens welke principes functioneren de hersenen eigenlijk? Men zou denken dat disciplines als de neurofysiologie en neuroanatomie hier uitkomst zouden bieden, maar dat valt tegen. Deze wetenschappen proberen wel het bedradingsschema van de hersenen te ontraadselen, maar wagen zich niet aan hypotheses over de formele, wiskundige principes die in de neurale netwerken van ons brein aan het werk zijn. En die laatste heb je nodig als je de hersenen in software of hardware wilt nabouwen.

Het eerste wiskundige model van een neuraal netwerk was dat van McCulloch en Pitts, uit 1943. Het was erg eenvoudig. Het bestond uit een groot aantal 'logische zenuwcellen', die via vele verbindingen met elkaar in contact stonden. De cellen konden elkaar via de verbindingen aanvuren en afremmen. Iedere cel had een bepaalde drempelwaarde, en kon alleen maar aan of uit zijn. Als de som van de prikkeling, verminderd met de totale remming, de drempelwaarde overschreed werd de cel actief en ging zelf vuren, anders bleef ze inactief. McCulloch en Pitts bewezen dat een netwerk van hun type precies even krachtig is als een digitale computer. Alles wat je met een computer kunt berekenen, kun je ook met een dergelijk netwerk berekenen en vice versa.

Een belangrijke tekortkoming van het model van McCulloch en Pitts was dat het niet uit zichzelf kon leren. De waarden van de verbindingen en drempelwaarden lagen voor eens en altijd vast, en daarmee ook het totale gedrag van het netwerk. In de jaren vijftig verzon Frank Rosenblatt een 'waarnemingsapparaat', het perceptron, dat wel uit zichzelf kon leren. Het bestond uit dezelfde elementen als het McCulloch-Pitts model, maar nu was er een regel ingebouwd waarmee de sterkte van de verbindingen automatisch veranderden.

Uitroepteken

Hoe werkt zo'n regel? Laten we als voorbeeld een perceptron nemen dat uit zichzelf de vertaling van letters in Morsecodes leert. Stel dat we een uitroepteken aan de invoer-cellen (het 'netvlies') van het perceptron aanbieden. De cellen waar het licht op valt worden dan actief, de andere blijven inactief. De actieve cellen zullen de cellen verderop in het netwerk gaan prikkelen of afremmen (afhankelijk van de verbinding), en deze doen dat op hun beurt weer met de verderop gelegen cellen, en zo onstaat er een cascade van activiteit die uiteindelijk een laag outputcellen bereikt. Morsecodes bestaan hooguit uit zes elementen. Laten we dus aannemen dat er zes uitvoercellen zijn. Activiteit in een uitvoercel staat voor een streep, inactiviteit voor een punt. De correcte output van het netwerk zou in het geval van een uitroepteken '--..--' zijn, maar als het netwerk nog niet goed getraind is, zal er een ander patroon verschijnen, laten we zeggen '.-..--'. De eerste outputcel zit er dus naast. Hoe kunnen we de output nu beter maken? De leerregel van het perceptron levert het recept hiervoor. De regel luidt: als een cel inactief is maar actief zou moeten zijn (zoals in ons voorbeeld), maak de verbindingen die haar beinvloeden dan stimulerender (geef ze een hogere waarde) en verlaag de drempelwaarde. Als de cel ten onrechte actief is, doe dan het tegenovergestelde. Verbindingen die niet actief zijn kunnen met rust worden gelaten, want deze kunnen onmogelijk bijdragen aan de fout.

Werkt altijd

Rosenblatt bewees dat deze leerregel, die de cellen van het perceptron zelf kunnen hanteren en die dus geen supervisie van een externe programmeur vereist, altijd werkt: hij zal altijd voor een vermindering van de fout zorgen. Als we het leerproces maar vaak genoeg herhalen, zal de output op het laatst helemaal goed zijn, en in ons voorbeeld dus '--..--' zijn. Het fraaie is, dat we alle andere letter-morsecode combinaties door hetzelfde netwerk kunnen laten aanleren. We kunnen het leerproces herhalen met 'a' als input en '.-' als gewenste output, en zo voor alle letters. Op het laatst zullen we dan een perceptron hebben dat alle letters automatisch correct vertaalt.

Ook letters die ongeveer dezelfde vorm hebben als een 'a' zullen de output '.-' opleveren, zodat het perceptron automatisch kan generaliseren en patronen kan voltooien. Omdat alle verbindingen in principe kunnen bijdragen aan de output, zal uitval van een verbinding er niet zoveel toe doen en daardoor is het perceptron tamelijk ongevoelig voor beschadigingen. Aan de andere kant zal een bepaalde output altijd te danken zijn aan meerdere verbindingen, zodat er geen sprake is van een strikte lokalisatie van functie. De kennis is over de verbindingen verspreid. Doordat de verbindingen naast elkaar actief zijn, zal het perceptron tenslotte bliksemsnel zijn: er hoeven maar een paar stappen doorlopen te worden van input naar output. Al deze eigenschappen vinden we ook bij de hersenen. Het perceptron ziet er dan ook al uit als een bijzonder aardig model van het zenuwstelsel.

Frank Rosenblatts ontdekking baarde veel opzien in de jaren vijftig. Rosenblatt reisde tal van congressen af met een uit vacuumbuizen gebouwd perceptron - dat later voor de helft defect bleek te zijn, hoewel het altijd goed had gefunctioneerd! Toch raakte het netwerk-onderzoek in de jaren zestig op zijn retour. Dit kwam doordat men er niet in slaagde de perceptron-leerregel uit te breiden tot meerlagige perceptrons. In het perceptron van Rosenblatt was de invoerlaag direct met de uitvoerlaag verbonden; er waren geen tussenliggende cellen. Daardoor had het perceptron grote beperkingen. Lang niet iedere input-output transformatie kan in een tweelagig netwerk worden ingebouwd. Niemand wist echter hoe de schuld voor een fout in de output over de verbindingen verdeeld zou moeten worden als er meerdere lagen in het spel zijn.

Pas in het begin van de jaren tachtig ontdekte men een 'backpropagation' leerregel, waarmee dit wel mogelijk is. Deze regel zegt hoe fouten in de output kunnen worden terugverplaatst' in een netwerk. Met deze regel kan het netwerk uitrekenen hoe groot de fout is in de outputlaag, hoe groot in de laag voor de outputlaag, en zo verder tot we uiteindelijk bij de inputlaag belanden. Tachtig procent van de tegenwoordige modellen van neurale netwerken zijn met de 'backpropagation' leerregel getraind. Er zijn spectaculaire toepassingen gedemonstreerd.

De beroemdste is 'NetTalk' van Sejnowski en Rosenberg, een computersimulatie van een neuraal netwerk dat de uitspraak van iedere taal in een nacht kan aanleren. Het model krijgt geschreven tekst aangeboden en stoot als gevolg daarvan klanken uit (of althans fonetische transcripties daarvan). Het vergelijkt deze klanken steeds met de correcte klanken, de klanken die het zou hebben moeten uitspreken. Deze voorbeeldklanken worden aangeboden in de vorm van een fonetische transcriptie van de uitspraak van de aangeboden tekst door een Engels kind. De uitvoer wordt via de backpropagation-leerregel telkens bijgesteld, en begint zo steeds meer te lijken op de correcte uitspraak. Al na een nacht is de uitspraak heel goed verstaanbaar, zelfs als we het netwerk kwellen met het Engels, een taal met een van de ongelukkigste spellingen ter wereld. ('Ghoti' zou bijvoorbeeld kunnen staan voor 'fish': de 'gh' uit 'tough', de 'o' uit 'women', en de 'ti' uit 'nation'.)

Mysterieus

Wat er binnenin NetTalk gebeurt is enigszins mysterieus. Hoe heeft het netwerk zijn kennis in zijn verbindingen opgeslagen? Wat heeft het eigenlijk precies geleerd? Het enige dat we kunnen zeggen is dat NetTalk in ieder geval geen expliciete kennis van de uitspraakregels van het Engels heeft aangeleerd. Het gedraagt zich slechts alsof het die regels kent. In het model vinden we geen uitspraakregels, alleen maar verbindingen van bepaalde sterkten. Wat de functie van de afzonderlijke verbindingen is, is onduidelijk. Men moest technieken uit de neurofysiologie te hulp roepen om te ontdekken dat klinkers in een andere diffuse regio van het netwerk worden verwerkt dan medeklinkers. Maar voor de rest viel er weinig te lokaliseren - evenmin als dat in de taalgebieden van onze eigen hersenschors het geval is!

Er zijn meer succesvolle toepassingen van backpropagation te melden. De marine van de VS heeft jarenlang geprobeerd om langs conventionele weg een expert-systeem te bouwen dat de sonar-echo's van mijnen op de zeebodem zou kunnen onderscheiden van de echo's van andere voorwerpen. Het resultaat was bedroevend. Op een dag las een technicus een beschrijving van NetTalk, en binnen een paar weken had hij een werkend computermodel. Na verbeteringen overtrof dit zelfs de prestaties van mensen.

In de olie-industrie wordt de backpropagation-regel gebruikt om olieputten te classificeren naar verwachte produktie. Het is mogelijk 98% procent van de putten met deze methode correct te classificeren, terwijl de statistische methode die tot nu toe werd gebruikt slechts in 79% van de gevallen tot een juiste uitkomst leidde. Zo zijn er nog veel meer toepassingen gemaakt, van een 'fonetische typemachine', die alles wat je haar dicteert opschrijft, tot programma's voor het herkennen van vingerafdrukken en handtekeningen, het maken van beursvoorspellingen en het besturen van een onbemande auto met een snelheid van 5 km/u. Dat lijkt niet snel, maar het is bijna het dubbele van wat er tot nu toe met conventionele middelen mogelijk was.

Natuurkunde

Een verrassend groot aantal nieuwe netwerk-theorieen is afkomstig uit de natuurkunde. Sommige gedeelten van de gastheorie en de fysica van elementaire deeltjes blijken rechtstreeks te kunnen worden vertaald in termen van 'neuronen'. De deeltjes corresponderen dan met cellen, en de interacties tussen de deeltjes met de verbindingen tussen cellen. Allerlei begrippen uit de natuurkunde kunnen nu onmiddellijk worden toegepast. Natuurkundige systemen zoeken bijvoorbeeld altijd toestanden van een lagere energie of lagere temperatuur op. In netwerk-termen betekent dit dat een netwerk altijd tendeert naar toestanden die een minder grote discrepantie hebben met de input dan de toestand van waaruit ze vertrokken zijn. Netwerken zoeken naar harmonie met hun omgeving; ze maken zich een zo goed mogelijk intern beeld van de buitenwereld. Zoals kristallen de stabiele eindprodukten zijn van energie-verminderende mechanismen in zoutoplossingen, zo kristalleert er zich in onze hoofden langzaam een beeld van de buitenwereld uit.

Nog niet zo heel ver

Hoever is men nu gevorderd met het bouwen van een neurocomputer, waarin bovenstaande principes zijn verwerkt? Nog niet zo heel ver. Een echte neurale computer is er nog steeds niet. Er bestaan al wel diverse 'neurochips' die werken als patroonherkenners of associatieve geheugens, maar daarmee hebben we nog lang geen replica van de hersenen. De moeilijkheden zijn niet alleen technologisch - hoe brengen we het vereiste hoge aantal verbindingen aan op een chip - maar ook theoretisch: hoe moet je kleine netwerkjes op een produktieve manier samenkoppelen tot grote gehelen. Het verst gevorderd op de weg naar neurochips is chip-goeroe Carver Mead. De componenten van chips werken doorgaans op een alles-of-niets manier: ze zijn aan of uit, en daarmee houdt het op. Mead laat ze werken in het tussengebied tussen aan en uit, en kan op die manier met de bestaande technologie analoge chips maken. Hij is erin geslaagd om chips te maken die de werking van het netvlies en het slakkenhuis (in het gehoororgaan) nabootsen, en men denkt er al over om deze als 'hersenprotheses' te gaan gebruiken bij blinden en doven. Een opvallende eigenschap van Meads neurochips is hun tolerantie voor fouten. Een gewone chip moet men al weggooien als maar een onderdeeltje defect is. Daardoor verdwijnt meer dan 90% in de prullenbak. In de stukjes kunstmatig zenuwweefsel van Mead doen kleine defecten er net zo weinig toe als in ons eigen zenuwweefsel.

In vele gevallen verdient een conventionele computer overigens de voorkeur. Als je een neuraal netwerk leert optellen, zal hij zeggen dat 15 + 15 'ongeveer 30' is. Als je een olieraffinaderij automatiseert wil je liever de precieze uitkomst weten.

Intelligente robot

Alle tegenwoordig bestaande modellen van neurale netwerken schieten nog sterk tekort als het om biologische plausibiliteit gaat. De hersenen werken zeker op andere manieren. Dit is bijvoorbeeld duidelijk bij de backpropagation-leerregel: hier vindt een terugrekenen van fouten via verbindingen plaats dat in het zenuwstelsel zeker niet optreedt. Een andere afwijking van de werkelijkheid is dat de vezels in het zenuwstelsel of stimulerend of remmend zijn (de wet van Dale); in de kunstmatige netwerken mag iedere verbinding alle mogelijke positieve of negatieve waarden aannemen.

Ook is het de vraag in hoeverre het zenuwstelsel digitaal of analoog is. Als het in zekere mate analoog is, snijden de opvattingen van Roger Penrose misschien hout, die meent dat berekeningen die de krachten van de Turing-machine te boven gaan mogelijk een doorslaggevende rol spelen bij het optreden van verschijnselen als creativiteit en bewustzijn (zie W en O van 20 feb). Het beeld dat de tegenwoordige theorieen van de hersenen geven is een grove oversimplificatie. Daarom moeten we het 'connectionisme', een nieuwe stroming in de psychologie waarin men neurale netwerken uit de mouw schudt voor bijna al onze psychische vermogens, met een flinke korrel zout nemen. Het is nog te vroeg voor dergelijke speculaties, al is het wel bemoedigend dat psychologen zich voor het eerst sinds de vorige eeuw weer iets gelegen laten liggen aan de hersenen.'Er is maar een manier om de hersenen te begrijpen: we moeten proberen er zelf een stel te bouwen.' Of dit ooit zal lukken is de vraag. Pas als het zover is kunnen we zeggen dat we de hersenen doorgronden. Het bouwen van de eerste intelligente robot is dan alleen nog maar een kwestie van technologie. De consequenties daarvan zullen overigens weinig spectaculair zijn; in de science-fiction literatuur zijn ze al in extenso beschreven. Vandaag belegt de Electrotechnische Vereeniging van de Technische Universiteit Delft een symposium over neurale netwerken. Literatuur: J. A. Anderson en E. Rosenfeld, eds., Neurocomputing, Cambridge, Mass., MIT Press, 1988. T. Khanna, Foundations of neural networks, Reading, Mass., Addison-Wesley, 1990. C. Mead, Analog VLSI and neural systems. Reading, Mass., Addison-Wesley, 1989. D. E. Rumelhart, J. L. McClelland et al., Parallel distributed processing: explorations in the microstructure of cognition, 2 delen, Cambridge, Mass., MIT Press, 1986. Het perceptron Een echt neuraal netwerk: de hersenschors Kunstmatig neuraal netwerk