AlphaGo Zero uitgelegd op basis van het kinderspel “warmer/kouder”

 

De laatste week verschijnen er een hoop artikelen over AlphaGo Zero. Teksten die hierbij gebruikt worden zijn:

  • “bovenmenselijke resultaten zonder menselijke input” (Van Teeseling, 2017);
  • “Google software kan behandeling ongeneeslijke ziekte vinden” (Lemereis, 2017).

Vergelijkbare teksten werden eerder geschreven over IBM Watson en daar verschenen de afgelopen maanden de volgende teksten over:

  • “IBM pitched its Watson supercomputer as a revolution in cancer care. It’s nowhere close.” (Ross, 2017);
  • “Is IBM Watson a ‘Joke’?” (Bloomberg, 2017).

Is AlphaGo Zero zoveel beter dan IBM Watson? En gaat AlphaGo Zero er daadwerkelijk voor zorgen dat er nu medicijnen en behandelingen worden gevonden voor alle ongeneeslijke ziekten? Allereerst dient gezegd te worden dat AlphaGo Zero een zeer mooi stuk techniek (software in combinatie met hardware) is en een fantastische oplossing is voor een set van zeer specifieke problemen. Maar valt het vinden van een behandeling voor ongeneeslijke ziekten onder deze problemen? Om een antwoord op deze vraag te geven moet je eerst goed begrijpen wat AlphaGo Zero is en welke probleem AlphaGo Zero oplost.

In dit artikel geven we op beide vragen in begrijpbare taal een antwoord. Voor de mensen die zeggen, “laat lekker zitten die begrijpbare taal“ verwijzen we naar het volgende artikel in Nature: “Mastering the game of Go without human knowledge” (Silver et. al, 2017).

 

Wat is AlphaGo Zero?

AlphaGo Zero is een algoritme dat is gebouwd door Google Deepmind om het bordspel Go te winnen. Het is daarmee de opvolger van het Google Deepmind Algoritme, genaamd AlphaGo. AlphaGo versloeg in 2016 de Go grootmeester Lee Sedol en dit jaar de huidige wereldkampioen Ke Jie. Als AlphaGo Zero ‘gewoon’ een update van het eerdere algoritme is, waarom is iedereen dan zo enthousiast? De reden hiervoor is dat ondanks dat beide algoritmes gebaseerd zijn op dezelfde basistechniek (Reinforcement Learning), beide algoritmes deze techniek anders toepassen.

 

Wat is Reinforcement Learning?

Zowel AlphaGo Zero als AlphaGo zijn gestoeld op een techniek die Reinforcement Learning heet. Hoe werkt Reinforcement Learning? Om dit te illustreren maken we gebruik van een al heel oud kinderspelletje: Warmer / Kouder. U kan zich dit spel vast wel herinneren. Één persoon verstopt iets, bijvoorbeeld een autosleutel op een bepaalde plek in huis. Een tweede persoon gaat op zoek naar de autosleutel en krijgt één keer in de zoveel tijd een hint van de andere partij doormiddel van het roepen van warmer en kouder. De beloning is het vinden van de autosleutel.

Een Reinforcement Learning algoritme werkt eigenlijk exact zoals hierboven beschreven. Je hebt een omgeving (de huiskamer) met daarin een beloning (de autosleutel), het algoritme neemt een actie: bijvoorbeeld een stap naar links en observeert wat het resultaat daarvan is: hij wordt kouder of hij wordt warmer. Op het moment dat hij kouder wordt neemt het algoritme twee stappen naar rechts en observeert opnieuw het resultaat hiervan. Op deze manier leert het algoritme zichzelf aan de juiste stappen te nemen om de sleutel te vinden. Wanneer hij de sleutel heeft gevonden, heeft hij zijn beloning en daarmee het doel bereikt. Het beschrijven van het doel wordt gedaan in een zogenaamde loss function. In dit geval is de (versimpelde) loss function: vind in minimale stappen de autosleutel. Elke keer als het algortime het spel speelt past hij zijn combinaties van stappen aan om zo snel mogelijk in deze specifieke huiskamer de locatie van beloning (autosleutels) te bepalen.

Om het geheel duidelijk te maken een tweede voorbeeld. Dit is een bekend voorbeeld in de  Reinforcement Learning wereld: het uitspelen van Super Mario. De omgeving is in dit geval de spelwereld van Super Mario, de optimale beloning is het spel uit te spelen zonder éénmaal dood te gaan en maximale punten te behalen. Een suboptimale beloning is het spel uit te spelen met maximale punten en zo min mogelijk dood te gaan. Het algoritme begint nu Super Mario te spelen en elke keer als het algoritme doodgaat, past hij zijn acties aan, net zolang totdat hij het spel uitspeelt zonder dood te gaan. Op het moment dat hij dit gerealiseerd heeft is zijn algoritme gevonden.

AlphaGo werkt op dezelfde manier. In dit geval is de wereld het Go speelbord en de beloning het winnen van het spel. Het algoritme gaat nu spelletjes spelen en elke keer als het verliest past hij automatisch het algoritme aan, net zolang tot hij niet meer verliest. Zo is het algoritme gecreëerd om Lee Sedol en Ke Jie te verslaan.

Nu is alleen de vraag bij elk van de hierboven beschreven situaties: hoe train je het algoritme? Hiervoor zijn twee opties:

  • een data-gedreven oplossing en
  • een regel-gedreven oplossing.

Het originele AlphaGo algoritme heeft zichzelf het spel Go aangeleerd op basis van de data-gedreven oplossing. Net zoals jaren geleden ook Deep Blue, de computer die de wereldkampioen schaak Garri Kasparov versloeg, een data-gedreven oplossing had. Wat betekent dit? Het algoritme krijgt ontzettend veel eerder gespeelde spellen ingevoerd om daarvan te leren. Op deze manier hoeft hij niet bij nul te beginnen. Vergelijk dit met een mens die een boek koopt om de standaard zetten en strategieën bij Go, Schaak of Warmer/Kouder te leren voordat hij begint met het spelen van het spel. Door het leren van deze strategieën heb je een voorsprong als je daadwerkelijk je eerste spel speelt.

Als je dan daadwerkelijk begint met het spelen van het spel, leer je alsnog van elk potje nieuwe spelmogelijkheden. Deze kennis samen zorgt ervoor dat je uiteindelijk gaat winnen. Data-gedreven oplossingen zijn op dit moment één van de populairste manieren om algoritmes te bouwen.

Het nieuwe AlphaGo Zero algoritme werkt via de regel-gedreven oplossing. Het algoritme krijgt alleen de regels van het spel ingevoerd. Vergelijk dit met iemand die voor het eerst Go, Schaak of Warmer/Kouder speelt zonder enige voorkennis en het spel begint te spelen na alleen het spelregels boekje te hebben gelezen. Bij een kind dat warmer/kouder speelt kan het even duren voordat de regels worden begrepen. Bijvoorbeeld wanneer het kind een stap naar achter zet en het resultaat is kouder, kan het kind nog een stap naar achter zetten waardoor het weer kouder wordt. Wanneer het kind traag leert zet het nog een stap naar achter voordat hij begrijpt dat hij een stap naar voren moet zetten. Bij schaak kun je dit vergelijken met een speler die voor de eerste keer speelt en na vier zetten schaakmat staat omdat de andere partij een zogenaamde herdersmat (een herdersmat is een bepaalde combinatie van zetten in het schaakspel) uitvoert.

Nu is het leren op basis van puur regels niet nieuw bij Reinforcement Learning algortimes zoals AlphaGo. Wat AlphaGo Zero bijzonder maakt is de manier waarop hij leert. In wat technischer taal:

  • ze gebruiken één enkel neuraal netwerk voor de regels en bijbehorende waarde, en
  • daarnaast hebben ze een nieuw (tree-search) algoritme gemaakt dat zoekt naar de goede zetten op het goede moment.

Dit betekent ook dat er relatief weinig computer(reken)kracht nodig is om het algoritme te trainen. Waar eerder meerdere grote computers (servers) nodig waren, kan het algoritme nu redelijk snel op één snelle computer worden gecreëerd.

Nadat AlphaGo Zero getraind was versloeg het AlphaGo 100 van de 100 keer in het spelen van een spelletje GO. De basistraining van het AlphaGO Zero algoritme duurde 3 dagen. Nadat het algoritme 40 dagen had getraind heeft het zelf combinaties gevonden om het spel te winnen die door nog geen enkel mens zijn gevonden. Dit laatste is waarschijnlijk de trigger geweest voor de uitspraken waar we dit artikel mee zijn begonnen. Maar tot hoever kun je deze uitspraak doorvoeren naar andere problemen?

 

Welke problemen lost AlphaGo Zero op?

Warmer/Kouder, Schaak, Super Mario en Go hebben allemaal één groot voordeel: de wereld waarin het algoritme beweegt is beperkt. Een schaakbord is beperkt en het gehele veld is zichtbaar, ditzelfde geldt ook voor Super Mario en Go. Wanneer je Warmer/Kouder in een enkele kamer speelt geldt dit ook. Maar wanneer geldt dit nog steeds als we Warmer/Kouder gaan spelen over de gehele wereld? Stel ik verstop de autosleutel in Beijing en we beginnen met zoeken in Amsterdam. Daarbij kent het algoritme niets van de wereld: geen auto’s, geen stoplichten, geen vliegtuigen en geen schepen. De betekenis en het gebruik van de regels en voertuigen moet we invoeren of het algoritme moet deze leren. Laten we het zo zeggen: dat gaat wel even duren als het op dit moment al mogelijk is.

En daarmee zijn we terug bij de originele vraag in dit artikel: gaat (de onderliggende techniek) van AlphaGo Zero behandelingen voor ongeneeslijke ziekten vinden? Daarvoor dienen we eerst een paar andere vragen te beantwoorden. De eerste vraag: “Kunnen we exact aangeven wanneer het algoritme gewonnen heeft?” Is dit wanneer een specifieke ziekte genezen is zonder dat er andere bijwerkingen zijn? Of wanneer de ziekte genezen is met andere bijwerkingen, welke bijwerkingen zijn dan acceptabel? De tweede vraag: Kunnen we de exacte regels van het lichaam (het spelbord) aan het algoritme uitleggen zodat het kan beginnen? Zover wij weten wordt ook dit lastig. Vooral omdat de medische wetenschap dit zelf al niet kan bij de meeste ongeneeslijke ziektes.

En daarmee terug naar de vraag: gaat (de onderliggende techniek) van AlphaGo Zero behandelingen voor ongeneeslijke ziekten vinden? Nee, nu nog niet, want de eisen waaraan een probleem moet voldoen om de onderliggende techniek van AlphaGo Zero in te zetten matched niet met deze problematiek.

Voordat iedereen nu rustig gaat zitten en denkt: oh voorlopig voor mij ook niets aan de hand. Er zijn in deze wereld VEEL MEER taken die aan deze eisen voldoen dan de meeste mensen denken. Daarnaast werken de 17 personen die aan dit algoritme hebben gewerkt ook verder. En als laatste zijn er ook combinaties van zowel data-gedreven als regel-gedreven technieken mogelijk en dan wordt de toepasbaarheid in één keer een stuk groter. Een bekend voorbeeld van een combinatie van beide technieken zijn de zelfrijdende auto’s van Tesla.

Maar in één zin samengevat, AlphaGo Zero heeft een innovatie gebracht aan de regel-gedreven kant en daarmee gaan we verder te toekomst in.

 

co-author: Koen Smit

Bronnen

Van Teeseling, I. (2017), Go-software AlphaGo Zero verplettert alles en iedereen zonder menselijke hulp, https://www.nporadio1.nl/wetenschap-techniek/6278-alphago-zero-verbetert-zichzelf

Lemereis, D. (2017), Google software kan behandeling ongeneeslijke ziekte vinden, https://www.bright.nl/nieuws/google-software-kan-behandeling-ongeneeslijke-ziektes-vinden

Ross, C. (2017), IBM pitched its Watson supercomputer as a revolution in cancer care. It’s nowhere close,  https://www.statnews.com/2017/09/05/watson-ibm-cancer/

Bloomberg, J. (2017), Is IBM Watson a ‘Joke’?, https://www.forbes.com/sites/jasonbloomberg/2017/07/02/is-ibm-watson-a-joke/#ba85572da20b

Silver, D., Schrittwieser, J., Simonyan, K., Antonoglou, I., Huang, A., Guez, A., Hubert, T., Baker, L., Lai, M., Bolton, A., Chen, Y., Lillicrap, T., Hui, F.,  Sifre, L., van den Driessche, G., Graepel, T., Hassabis, D. (2017), Nature, https://www.nature.com/nature/journal/v550/n7676/full/nature24270.html

Figuur

Foto van het GO spel is gefotografeerd door Jaro Laros en gepubliceerd onder creative commons license: attribution 2.0 generic.

Verder Bericht

Vorige Bericht

Copyright Martijn Zoet (2017), except for the background photo, which is photographed by Oliver Dodd and released under Creative Commons License: Attribution 2.0 Generic

Thema door Anders Norén