Elektrische hersenen III

NEURALE NETWERKEN hebben twee grote voordelen boven alledaagse computers en programma's: ze kunnen leren, en ze kunnen iets aanvangen met begrippen als 'ongeveer'. In principe kunnen ze daarmee ook al op kleine schaal heel nuttig zijn.

Na vijf jaar trouwe dienst meldt de elektronische domoor op uw bureau nog steeds 'file not found' als u voor de duizendste keer in plaats van een punt een komma getypt heeft. Een neuraal netwerkje dat bestanden voor u beheert zou uw favoriete typefout allang hebben leren kennen.

Hoe een neuraal netwerk leert, is goed te zien aan MENACE, een zo'n 35 jaar geleden door Donald Mitchie bedachte leermachine waaraan geen computer te pas komt. MENACE (Matchbox Educable Noughts And Crosses Engine) bestaat uit 288 luciferdoosjes en een flinke berg kraaltjes in negen verschillende kleuren, en leert op den duur onverslaanbaar boter, kaas en eieren spelen.

Het werkt als volgt. Op elk doosje staat één van de mogelijke bordstanden afgebeeld van een spelletje boter, kaas en eieren, en in elk doosje zit aanvankelijk een ruime maar willekeurige sortering kraaltjes. Elk vakje van het bord heeft zijn eigen kleur, vandaar negen kleuren kraaltjes. Nu gaat u tegen de 288 doosjes spelen. Telkens als de doosjes een kruisje moeten zetten pakt u blind een kraal uit het doosje dat de stand van dat moment weergeeft. U legt het kraaltje op het doosje, en zet een kruisje in het vakje met de getrokken kleur. Verliezen de doosjes, dan haalt u de kraaltjes op de doosjes weg. Wint de machine, dan stopt u de kraaltjes terug in de doosjes, plus telkens één extra van dezelfde kleur. Bij remise gaan de kraaltjes domweg terug in hun de doosjes. Langzamerhand wordt op die manier bij alle standen de kans groter dat er een kleur getrokken wordt die tot winst voor de machine leidt, tot MENACE uiteindelijk een hopeloze tegenstander is geworden. Elk luciferdoosje is nog steeds een dom doosje, maar gezamenlijk hebben ze door schade en schande iets geleerd.

Neurale netwerken leren op ongeveer dezelfde manier: de bordstand op een luciferdoosje is de aanvoer van signalen, de verhoudingen tussen de kralen staan voor de wegingsfactor van het neuron, die bepaalt boven welke gezamenlijke waarde van alle binnenkomende signalen het neuron zelf een signaal zal afgeven. Na voldoende voorbeelden zal het geheel bij vergelijkbare invoer steeds hetzelfde, juiste antwoord geven. Dat is fundamenteel anders dan bij gewone computerprogramma's. Die kennen geen 'vergelijkbare' gegevens, maar alleen 'identiek' en 'anders'. Een punt en een komma zijn voor gewone programma's altijd 'anders', maar kunnen voor een daarop getraind neuraal netwerk 'vergelijkbaar' zijn, ongeveer hetzelfde. Neurale netwerken kunnen, als ze niet overtraind worden, flexibel zijn.

Maar met die flexibiliteit marcheert ook een probleem binnen: onbetrouwbaarheid. Neurale netwerken leveren 'waarschijnlijk juiste' resultaten, letterlijk de uitkomst van afwegingen. 'Waarschijnlijk juist' kan evenwel soms grondig mis zijn. Erg genoeg wordt de kans daarop groter naarmate het probleem onoverzichtelijker wordt, en dus ook voor gewone programma's ongeschikter. Neurale netwerken worden niet expliciet geprogrammeerd, maar getraind: we leggen een slim samengestelde serie voorbeelden voor, en tunen het netwerk net zo lang tot het bevredigende antwoorden geeft, zonder te veel aan flexibiliteit in te boeten. Maar zo ruilen we het programmeerprobleem in voor een trainingsprobleem: hoe weet je of je set voorbeelden deugt? Er zijn lastig te programmeren problemen die zich in principe goed voor training lenen. Herkenning van handgeschreven tekst is zo'n probleem: er zijn weliswaar heel veel verschillende invoervormen, maar het zijn allemaal inktkronkels. Ook de uitvoer is heel overzichtelijk, zesentwintig letters en een handvol leestekens. Bij zo'n probleem weet je op een goed moment vrij zeker dat het netwerk goed en voorspelbaar reageert. Maar wat als de invoer uit ongelooflijk veel verschillende patronen van verschillende aard bestaat? Omdat je niet weet hoe het netwerk aan zijn antwoorden komt, kun je dan lelijk te pas komen.

De NAVO ondervond dat in de jaren tachtig, toen ze een neuraal netwerk liet ontwikkelen om verkenningsfoto's mee te interpreteren. Het netwerk zou foto's met gecamoufleerde tanks leren onderscheiden van ongerepte natuur. Er werd een uitgebreide testset gemaakt van foto's met en zonder wapentuig in het struweel, en het trainen begon. Al gauw kreeg het netwerk de smaak behoorlijk te pakken. Feilloos wees het de juiste foto's aan. Helaas was de vreugde van korte duur. Toen nieuwe sets werden aangeboden, bakte het netwerk er ineens helemaal niets meer van. Uiteindelijk bleek dat de oorzaak in de oorspronkelijke testset zat. Men dacht wel dat het netwerk tanks herkende, maar dat was helemaal niet zo. De binaire James Bond bleek alleen maar blauwe lucht of bewolking te zien: de foto's met tanks waren op een zonnige dag gemaakt, die zonder niet. Een stomme fout, die gemakkelijk voorkomen had kunnen worden. Maar zo zijn er in een landschap nog duizenden andere, minder opvallende irrelevante factoren die het onmogelijk maken om zeker te weten dat een netwerk ook echt let op het bedoelde onderscheid. Hoe lang het ook goed gaat, er blijft altijd een kans dat het netwerk plotseling onzinnige resultaten geeft.

Het experiment bewees in ieder geval dat neurale netwerken één bijna menselijke eigenschap bezitten: vatbaarheid voor misverstanden. Maar het laat ook zien dat de gedachte dat een netwerk zelfstandig slecht te definiëren en dus niet programmeerbare problemen zou kunnen leren oplossen, eveneens op een misverstand berust. Als de trainer niet exact weet waarop het netwerk getraind wordt of het leerproces onvoldoende kan sturen, zijn ook de resultaten onvoorspelbaar, en dus waardeloos. Dat is met andere lerende wezens trouwens niet anders. Volgende week, tot slot, de vraag in hoeverre neurale netwerken nu op echte hersens lijken.

    • Rik Smits