Complexe software van Google heeft de wereldkampioen in Go verslagen, met 4-1. Maar in tegenstelling tot vroegere schaakoverwinningen betekent deze triomf veel meer: voor zelfrijdende auto’s, lerende software en kunstmatige intelligentie (artificial intelligence – AI).
Kunstmatige intelligentie (artificial intelligence, AI) is een doel dat al heel lang wordt nagestreefd. Nieuwe inzichten en technieken zoals deep learning (of machine learning) door zogeheten neurale netwerken brengen AI stapjes dichterbij. Het AlpaGo-programma van het door Google overgenomen DeepMind is een concreet voorbeeld. Die software heeft deze maand de wereldkampioen in het oude, complexe bordspel Go weten te verslaan.
Niet sneller maar slimmer
Niet één keer, niet twee keer, maar vier keer. Net niet op rij, want de legendarische Lee Sedol heeft de vierde partij weten te winnen. De 33-jarige Zuid-Koreaanse Go-meester is internationaal gevierd kampioen in dat oude Chinese spel. ‘Ik ben nog nooit zoveel gefeliciteerd voor het winnen van slechts één partij’, schrijft techblog The Verge op uit zijn mond.
De menselijke kampioen was door zijn eerste verlies tegen AlphaGo zeer verrast. “Ik had niet verwacht dat ik zou verliezen. Ik dacht niet dat AlphaGo het spel op zo’n perfecte manier zou spelen.” De overweldiging door Google’s software is niet zozeer te danken aan bruut vermogen of aan hoge rekensnelheid die het menselijk brein te boven gaan. Het is vooral te danken aan het feit dat AlphaGo helemaal niet is gemaakt om Go te spelen.
Al doende leren
De beroemde IBM-supercomputer Deep Blue, die in 1997 schaakgrootmeester Garry Kasparov versloeg, is toen wel bewust geprogrammeerd om dat spel te spelen. Dit in tegenstelling tot AlphaGo, dat van origine het spel en de regels niet eens kende. De winnende Go-software was slechts voorzien van een algemeen algoritme waarmee het de patronen van het spel kon zien en interpreteren. Om vervolgens al spelende het spel te leren én uiteindelijk te winnen.
Een ander DeepMind-programma heeft zo eerder al geleerd om klassieke arcade-games te spelen. Het was slechts voorzien van het overkoepelende doel: scoor zoveel mogelijk punten. Hóe dat te doen, moest de software maar zelf ontdekken. De afgelopen paar jaar zijn zo 39 verschillende oude Atari-games ‘veroverd’. In het geval van de klassieker Breakout (ook wel bekend in de vorm van Arkanoid) heeft de software op eigen houtje uitgevogeld dat er snel veel punten zijn te behalen door het balletje in de game áchter het weg te kaatsen muurtje te krijgen waar het dan telkens steentjes wegstuitert.
Van Atari naar Go en verder
Deze aanpak geeft de softwaremakers en AI-onderzoekers bij DeepMind een diepgaand inzicht in neurale netwerken. Het Atari-voorwerk heeft de basis gelegd voor de opzienbarende Go-overwinningen in de vijf partijen Go van vorige week woensdag tot en met afgelopen dinsdag. Dat tournament is gehouden nadat AlphaGo vorig jaar al de Europese kampioen Fan Hui had verslagen: met 5-0. Deze Go-triomfen leggen weer de basis voor verder werk.
De wetenschappers achter AlphaGo hebben hun werk en inzichten al verwerkt in papers, die onder meer in vakblad Nature zijn gepubliceerd en belicht. Het verslaan van een menselijke tegenstander, in een volwaardige Go-wedstrijd, werd voorheen nog gezien als toekomstmuziek: een prestatie die nog minstens tien jaar in het verschiet lag. De onderzoekers bij Google’s DeepMind-divisie gaan hun ontwikkelwerk nu voortzetten.
Nauwe versus brede AI
Daarbij kan dit werk vrucht afwerpen voor diverse toepassingen. DeepMind-oprichter Demis Hassabis maakt namelijk onderscheid tussen ‘nauwe’ AI, zoals IBM’s Deep Blue-systeem, en bredere of ‘algemene’ AI. AlphaGo is een voorbeeld van laatstgenoemde en zou daarmee flexibeler zijn en beter in staat om zich aan te passen.
De mogelijke toepassingsgebieden lopen uiteen van zelfrijdende auto’s (waar Google al uitgebreid mee experimenteert), via robots (waar Google ook al overnames voor heeft gepleegd) tot ‘gewoon’ smartphones en zelfs gezondheidszorg. DeepMind heeft voor laatstgenoemde eind vorige maand al een samenwerkingsverband gesloten met de nationale Britse gezondheidsdienst. Dit mede via de overname van de medische app Hark, die mede is ontwikkeld door chirurg en voormalig gezondheidsminister Lord Darzi.
Starcraft en Minecraft
Ondertussen laat het spelelement de onderzoekers niet los. Na Go heeft DeepMind mogelijk een game als Starcraft op het oog. Mensen zijn veel beter in dat soort strategische spellen, legt Hassabis uit in een interview. Starcraft heeft als belangrijk onderscheid ten opzichte van Go en schaken dat niet alles op het ‘bord’ zichtbaar is. De beschikbare informatie is niet perfect, waardoor de op te pakken kwestie slechts ‘gedeeltelijk geobserveerd’ is.
Het verslaan van een game als Starcraft is natuurlijk niet het doel. De DeepMind-oprichter zegt dat het wel leuk en spannend is om dat te doen, maar dat de games dienst doen als testbed voor het AI-onderzoek. Ondertussen hebben onderzoekers bij Microsoft eenzelfde aanpak, maar dan voor de open-wereld-game Minecraft.
Virtuele heuvels beklimmen
Een zelfontwikkelde mod voor de Java-uitvoering van dat populaire spel wordt gecombineerd met software die verschillende AI-agents in-game problemen laat oplossen. Zoals het beklimmen van een heuvel in de blokkerige wereld van Minecraft. Daarbij kunnen de AI-agents ook van elkaar en van menselijke spelers leren, laat national technology officer Hans Bos van Microsoft Nederland weten aan Computable.
Microsofts in Minecraft draaiende AI-platform draagt de naam AIX (maar heeft geen relatie met IBM’s gelijknamige Unix-variant) en wordt komende zomer uitgebracht onder een open source-licentie. Het doel is hetzelfde als dat van DeepMind: software zelf complexe problemen laten uitzoeken en oplossen. Eerst in games en virtuele werelden, om daarvan weer te leren voor probleemoplossing in de echte wereld.
Dag Jasper,
Ik ben helemaal into alles wat met AI te maken heeft. Het is pittige materie, heel breed en vergt nogal wat studie om hiervoor dingen te maken.
Ik ken de basis regels van GO, maar heb het zelf niet gespeeld, maar wel nagedacht wat hier nu is gebeurd (en daarover gelezen). Nu staan er wat dingen in je artikel die volgens mij niet kloppen, en daar kwam ik vooral achter omdat ik zelf nagedacht heb over GO en hoe je hiervoor een slim programma kan schrijven.
Zo schrijf je : “Het is vooral te danken aan het feit dat AlphaGo helemaal niet is gemaakt om Go te spelen.”
Dat klopt volgens mij niet, zie : https://en.wikipedia.org/wiki/AlphaGo
Het is dus wel degelijk geschreven met één doel, namelijk het spelen van GO. De onderliggende principes die gemaakt zijn om AlphaGO te maken, die zijn wat generieker (neuraal, machine learning). Maar toen ik nadacht hoe ze het gemaakt hebben kan ik geen enkele ander conclusie trekken dat de schrijvers van de software en algortimes van AlphaGo *heel* **heel** slim zijn en wel degelijk de regels van GO goed kennen, mogelijk zelfs zelf goede GO spelers zijn.
Voordat ik vertel waarom dus meteen “Nauwe versus brede AI” kopje benadrukken dat AlphaGo een *nauwe* AI is. Hooguit de onderliggende techniek is iets minder nauw (maar nog steeds alleen gemaakt om nauwe AI mogelijk te maken).
Ik zal proberen dit te onderbouwen.
Met schaak kun je brute rekenkracht gebruiken om iedere stap door te rekenen naar een resultaat. Het aantal mogelijkheden is namelijk groot, maar beperkt. Met GO kun je dit niet doen, er zijn teveel mogelijkheden (in de basis althans). Dus om een GO AI te maken zul je patronen moeten herkennen, deze zullen leiden tot resultaten en door steeds meer input te geven van deze patronen kom je sneller tot een win or lose berekening.
Deze patronen, hoewel mogelijk dynamisch opgebouwd (op basis van gegevens, niet van instellingen door een ontwikkelaar) zijn echter niet voldoende om alles te kunnen winnen. Je hebt namelijk geen “voorbeeld exemplaren” die gewonnen hebben van de beste speler. Die zijn er pas laatste weken gekomen 🙂 Maar door intelligente ogen ernaar te laten kijken is hier wel degelijk sturing aan gegeven door hele knappe koppen die de aard van GO wel redelijk doorgrond hebben.
Waar het gewoon mis gaat en waarom de computer “vals” speelt is de rekenkracht die gebruikt is. Een menselijke speler moet naast inzicht en ervaring heel goed beoordelen wat een slimme zet of strategie is, maar kan de gevolgen ervan niet even doorrekenen waarbij een computer dat wel kan. Het is een soort reken examen waarmee de mens alleen zichzelf heeft en de computer ongelimiteerd rekenkracht en methodes kan inzetten. Dit geeft in feite nog meer de kracht aan van de mens en hoe goed sommige mensen zijn in het gebruiken van hun hersenen.
Maar Jasper, dit is echte NAUWE AI. Brede AI suggereert dat het systeem bijvoorbeeld weet dat hij nu een spelletje GO speelt, maar ook weet wanneer hij een spelletje schaak speelt, en dat allemaal met dezelfde code base en memory. Zo ver zijn we nog lang niet en daarmee is AlphaGo vooral een boost voor de credentials en de buhne (en niettemin een enorme prestatie van het team) en wellicht dat er tijdens de ontwikkeling inzichten zijn opgedaan. Maar het blijft nauwe AI, net als de zelfrijdende auto van Google.
Kleine aanvulling. Om een idee te geven. Een potje GO winnen van de beste spelers ter wereld met AI lijkt moeilijker dan een potje Ms. Pac man winnen met AI van de beste spelers ter wereld.
Echter is ms. pac man moeilijker te AI-en….
Een kombinatie van methoden, technieken en snelheid ( zie bijvoorbeeld https://www.accountant.nl/nieuws/2016/3/kpmg-gaat-ibms-watson-inzetten-voor-data-analyse ) is op dit moment zeer succesvol. De onzichtbaarheid van de toepassing van AI maakt het echter ook gevaarlijk.