In 2016 versloeg AlphaGo voor het eerst Go-spelers van wereldklasse. Dit computerprogramma werd nog ‘opgevoed’ met door mensen gespeelde partijen. Nu is er AlphaGo Zero. Die leerde zichzelf in drie dagen Go spelen op bovenmenselijk niveau.
Go werd algemeen beschouwd als het bordspel dat voor computers het moeilijkst te behappen is, exponentieel moeilijker dan schaken of dammen. Het was dan ook een flinke verrassing toen het door Google gebouwde programma AlphaGo in 2016 de sterkste speler ter wereld, Lee Sedol, versloeg met 4-1. Veel experts hadden verwacht dat dit nog minstens tien jaar zou duren.
AlphaGo was een ingewikkeld bouwsel, bestaande uit diverse neurale netwerken, waarvan er één getraind werd met miljoenen Go-partijen van menselijke topspelers. Dit neurale netwerk deed dus aan supervised learning: het bekeek miljoenen partijen waarvan het zettenverloop dat tot de winst leidde gegeven was, en leerde zo wat sterke en wat zwakke zetten waren.
100-0
Maar nu is er de opvolger AlphaGo Zero, die onlangs AlphaGo in een match van honderd partijen met honderd tegen nul versloeg. Een mens heeft zich nog niet gewaagd aan het spelen tegen AlphaGo Zero, en het is de vraag of dat nog enige zin heeft. Toch is de architectuur van AlphaGo Zero een stuk simpeler dan die van zijn voorganger, en ook heeft het programma veel minder computerkracht nodig dan AlphaGo om zijn topprestaties te leveren.
AlphaGo Zero bestaat uit maar één neuraal netwerk, dat vanuit het niets potjes Go tegen zichzelf begon te spelen. De enige menselijke input bestaat uit de spelregels van Go (waaronder het doel van het spel: meer gebied op het bord veroveren dan de tegenstander). In het begin speelde AlphaGo Zero willekeurige zetten, omdat hij immers niets van Go wist.
Maar ook dan, bij toeval, wint óf wit, óf zwart. Stel, zwart won de eerste partij. Dan heeft zwart blijkbaar sterkere (reeksen van) zetten gedaan dan wit. Het neurale netwerk herprogrammeert zichzelf dan zodanig dat het een voorkeur heeft voor die zetten. Dit heet reinforcement learning. Door op deze manier miljoenen partijen te spelen, ontwikkelde AlphaGo Zero een superieur ‘inzicht’ in wat goede zetten en kansrijke stellingen zijn.
De onderzoekers bepaalden tijdens het trainingstraject regelmatig de speelsterkte van AlphaGo Zero, door het programma te laten spelen tegen diverse varianten van Alpha Go en andere Go-programma’s, zoals Pachi en Crazy Stone. Al na een uur of dertig trainingstijd (overeenkomend met ongeveer twee miljoen partijen tegen zichzelf spelen) steeg de speelsterkte van AlphaGo Zero boven die van AlphaGo toen dit programma Lee Sedol versloeg.
Ballast
Het is verrassend dat reinforcement learning op den duur veel beter werkt dan ‘opvoeden’ met goede zetten van sterke menselijke spelers. De onderzoekers toonden dit aan door het neurale netwerk van AlphaGo Zero opnieuw te laten beginnen met leren, maar dit keer supervised, op basis van menselijke Go-partijen (zie onderstaande grafiek).
Uiteraard is reinforcement learning in het begin enorm in het nadeel, omdat het alle Go-kennis ontbeert die in menselijke partijen ligt vastgelegd. Maar al snel verkeert het voordeel van supervised learning in een nadeel, en stijgt de Go-expertise met reinforcement learning tot bovenmenselijk niveau.
Blijkbaar komt AlphaGo Zero vrij snel op een punt dat de menselijke wijsheid over Go juist ballast wordt. Als je het programma vanaf nul laat beginnen, herontdekt het niet alleen door mensen gevonden zetcombinaties, maar ook nieuwe thema’s, waar mensen nog geen idee van hebben.
AlphaGo Zero is niet alleen sterker dan AlphaGo, maar ook veel efficiënter. Het draait op één grote computer, terwijl AlphaGo een heel netwerk met tientallen computers nodig heeft. Dat komt door de simpeler programma-architectuur, en doordat AlphaGo geen rekenkracht vretende Monte Carlo rollouts doet. Dit zijn lange, random zettenreeksen vanuit een gegeven stand op het bord. Een programma als AlphaGo genereert die in grote aantallen, om te kunnen voorspellen welke speler bij die stand op het bord in het voordeel is. AlphaGo Zero evalueert alleen de stand op het bord zoals die is, en dat blijkt al goed genoeg om te beslissen over een volgende, zeer sterke zet.
Leren vanaf nul
AlphaGo Zero is net als AlphaGo een product van Deep Mind, een researchafdeling van Google. Deep Mind wil doorbraken realiseren in de kunstmatige intelligentie. Op dit gebied is recent grote vooruitgang geboekt, zoals bij beeld- en spraakherkenning en automatische vertaling. Maar dat betreft uiteraard supervised learning; het equivalent van reinforcement learning op dit gebied zou een computer zijn die een eigen taal ontwikkelt, louter door met zichzelf te praten!
Deep Mind wil met AlphaGo Zero aantonen dat ‘leren vanaf nul’ wel degelijk systemen kan opleveren die, in een of andere betekenis, kunstmatig intelligent zijn en bovendien ‘niet langer beperkt door de grenzen van de menselijke kennis’. Tot heil van de mensheid, uiteraard: ‘Als soortgelijke technieken toepasbaar blijken op andere problemen, zoals de vouwing van eiwitmoleculen, het verminderen van energieverbruik of het zoeken naar revolutionaire nieuwe materialen, resulteert dat in doorbraken die potentieel een positieve impact hebben op de maatschappij’, zo schrijven ze op hun blog.