Computer leert zelf te redeneren

Deep learning

Een nieuw type kunstmatige intelligentie heeft een geheugen. Zo kan het niet alleen patronen herkennen, maar ook stambomen begrijpen en zelfs de kortste route tussen twee metrostations vinden.

Foto Ostagram

In maart dit jaar versloeg Google’s kunstmatige intelligentie-programma AlphaGo de go-speler Lee Sedol, de sterkste menselijke speler van het Aziatische bordspel. Sindsdien is Deep Learning ook buiten de gemeenschap van kunstmatige intelligentie-onderzoekers een begrip.

„We zitten bovenaan de hype cycle”, zegt beeldherkenningsonderzoeker Cees Snoek van de Universiteit van Amsterdam, „ik zit nu op een internationale conferentie over beeldherkenning, en daar is het een en al deep learning.”

Deep learning-netwerken zijn neurale netwerken, geïnspireerd op de werking van de menselijke hersenen, en blinken uit in patroonherkenning: gezichten, beelden, spraak, geschreven tekst, en dus go-stellingen, ze lijken de essentie vaak te doorgronden.

Maar van andere cognitieve taken, die mensen prima afgaan, bakken ze weinig: symbolisch redeneren, het werken met abstracte logische structuren zoals kaarten of familiestambomen, en plannen maken en die later pas uitvoeren.

In Nature van vorige week publiceren onderzoekers van Googles Deepmind-onderzoeksgroep een nieuw type neuraal netwerk dat deze talenten wel zou hebben. De Differentiable Neural Computer (DNC) kan redeneren, logische vragen beantwoorden en een route plannen in de Londense metro.

Weliswaar nog op een intellectueel niveau dat kunstmatige intelligentie-software al in de jaren zeventig gemakkelijk aankon, maar die was doelgericht geprogrammeerd.

Neurale netwerken worden niet geprogrammeerd, maar getraind. Ze bestaan uit netwerken van ‘neuronen’, met ieder een aantal ingangskanalen en een uitgangskanaal, dat weer op andere neuronen is aangesloten. Ieder neuron telt de inkomende signalen bij elkaar op, elk met een eigen weegfactor. De som wordt door een niet-lineair filter gehaald, een soort afrondingsberekening, en het resultaat wordt vervolgens doorgestuurd naar andere neuronen die het als input gebruiken.

Gestapelde lagen

Er bestaan veel verschillende netwerkarchitecturen, maar meestal zijn de neuronen georganiseerd in gestapelde lagen. Het idee is dat opeenvolgende lagen de binnenkomende informatie in stapjes analyseren. Het binnenkomende signaal, bijvoorbeeld de ruwe pixels van een beeldbestand, gaat de eerste laag neuronen in, die kenmerken destilleren zoals kleurovergangen, randen, lijnen.

Deze kattenkunst is gemaakt door Ostagram, een Russische versie van een DeepDream-netwerk. Dit netwerk kan ingevoerde foto’s vertalen naar de stijl van een andere afbeelding:

De volgende laag onderscheidt dan eenvoudige vormen als cirkels, driehoeken, de volgende ingewikkelder vormen, en zo wordt het beeld per laag geanalyseerd tot steeds algemenere kenmerken, ongeacht de precieze details: de bovenste laag neuronen herkent een foto van Bob Dylan, of het nou de jonge of de oude Dylan is, ook als hij sjaal of een mondharmonica voor zijn gezicht heeft.

Maar om het netwerk zover te krijgen, moet het eerst getraind worden. Het krijgt duizenden voorbeelden te zien, wat aanvankelijk leidt tot foute of onzinnige antwoorden. Aan de hand van de antwoorden worden de weegfactoren in het netwerk steeds bijgesteld: de gewichten die tot (deels) goede antwoorden leiden, worden versterkt, andere juist verzwakt.

„Neurale netwerken dateren al van de jaren veertig, en hebben verschillende bloeiperioden doorgemaakt”, zegt Snoek. „Deep learning is de laatste golf, begonnen in 2006, en is eigenlijk oude wijn in nieuwe zakken. Het verschil zit hem vooral in de schaal. Het aantal lagen in eerdere netwerken was eerder beperkt tot twee, meer kostte te veel rekenwerk.”

De doorbraak van 2006 was een methode om tientallen, soms honderden lagen met duizenden neuronen toch efficiënt te laten doorrekenen, met hulp van krachtige grafische kaarten (GPU’s), eigenlijk bedoeld voor computergames en 3D-simulaties.

Inmiddels kunnen Deep Learning-netwerken goed bepalen wat er op afzonderlijke beelden te zien is: dit is een kat, dat is een hond, de hond staat voor een boom, de kat zit in de boom. Maar met tijd kunnen ze minder goed uit de voeten. Daarvoor is een vorm van geheugen nodig.

Snoek: „Ik werk zelf aan videoherkenning. Dat zijn ook beelden, maar je kunt niet bij ieder beeld opnieuw beginnen. Het gaat om het verhaal in de tijd, met een volgorde. Pietje gaat naar de keuken, pietje pakt de melk, Grietje pakt het brood, en dan vragen beantwoorden als: wie heeft nu de melk?”

Toestanden onthouden

Inmiddels zijn er wel neurale netwerken met geheugen, zoals het nu populaire Long-Short Term Memory (LSTM)-netwerk, waarin bepaalde neuronen toestanden kunnen onthouden. Zulke netwerken kunnen inderdaad beter omgaan met rijtjes of sequenties.

Een aansprekend voorbeeld is de chatbot DeepDrumpf, op Twitter. Getraind met hulp van het Twitter-oeuvre van de Amerikaanse presidentskandidaat Donald Trump, produceert het stoere campagne-kreten als ‘Together we can save America and use her weapons to defeat accountability and take back the world’s money.’

Maar de nu gepresenteerde DNCs gaan nóg een stap verder: die hebben een extern geheugen, zoals een gewone computer met processor een RAM-geheugen heeft. In dat geheugen kan het neurale netwerk activatiepatronen wegschrijven, en later weer terugvinden. Ook houdt het geheugen bij in welke volgorde patronen weggeschreven zijn: het kan doorverwijzen naar het volgende, of het vorige opgeslagen patroon.

Dat geeft het DNC een inherent talent voor rijtjes, enigszins vergelijkbaar met het menselijk geheugen: mensen kunnen zich het alfabet, een gedicht of een melodie het best in de oorspronkelijke volgorde herinneren, niet achteruit of in stukjes.

Ook kan het DNC-geheugen, net als mensen, vergeten. Patronen die nauwelijks opgevraagd worden, worden op den duur overschreven met nieuwe patronen.

Met deze combinatie gingen de Deepmind-onderzoekers aan het trainen, eerst met een grote reeks simpele logische verhaaltjes. ‘Schapen zijn bang voor wolven. Gertrude is een schaap. Muizen zijn bang voor katten. Waar is Gertrude bang voor?’

Toen dat goed ging, leerden ze hun DNC om simpele verwantschapsvragen te beantwoorden aan de hand van een schematische familiestamboom, zoals ‘Fergus is de oudoom aan moederskant van Freya.’

De volgende stap was het plannen van routes in metronetwerken, iets wat LSTM-netwerken niet aan het verstand te brengen is. Eerst kreeg het DNC eenvoudige metroplattegronden gevoerd, later complexere. Eenmaal getraind kreeg het de metrokaart van Londen onder ogen, om vervolgens vragen te beantwoorden in het genre ‘wat is de kortste route tussen Moorgate en Picadilly Circus?’.

Dat dit ook goed werkte – 3,8 procent fouten in plaats van 37 procent voor het beste LSTM-netwerk – is een teken dat het DNC abstracte informatie kan toepassen: het weet blijkbaar de essentie van een metroplattegrond te begrijpen, zonder zich vast te leggen op de details van de metrokaarten waarop het getraind heeft. „Dit is heel interessant, zeker iets waar wij ook naar gaan kijken”, zegt Snoek.

Bij een volgende test, een kunstmatige intelligentie-klassieker waarbij het DNC vragen moet beantwoorden over het manipuleren van hopen blokjes, menen de onderzoekers zelfs gedrag te zien dat tot nu toe alleen wordt toegeschreven aan mensen (en sommige dieren).

Op bepaalde momenten schrijft het DNC patronen weg naar het geheugen, zonder duidelijk direct doel, om daar pas later in de berekening iets mee te doen. De interpretatie van de onderzoekers: ‘Het DNC maakt een plan, om dat dan pas later uit te voeren.’