ID.nl logo
Huis

Hoe kunstmatige intelligentie Ms. Pac-Man leerde spelen

Met 999.990 punten heeft een kunstmatige intelligentie de absolute high-score gehaald op het inmiddels 36 jaar oude spel Ms. Pac-Man. De PCM-redactie moest met 13.160 punten genoegen nemen. Wij vroegen de leider van het team achter deze kunstmatige intelligentie hoe ze een computer Ms. Pac-Man hebben leren spelen en waarom.

Kunstmatige Intelligentie is een zeer breed studieveld binnen de informatica. Doel is computers te ontwikkelen die zich bewust zijn van hun omgeving, beslissingen kunnen nemen en aan de hand daarvan leren. Dat hoeft niet te leiden tot zelfdenkende machines die – in de Hollywood-stijl – de wereld overnemen. Realistischer zijn de intelligente computers die zelfrijdende auto’s bedienen. Die zijn zich bewust van de weg, andere auto’s, voetgangers en overige obstakels. Aan de hand daarvan nemen ze stuurbeslissingen en ze leren steeds beter te rijden.

Het in Canada opgerichte bedrijf Maluuba ontwikkelt kunstmatige intelligentie om taal te begrijpen. Het bedrijf is grofweg verdeeld in drie teams. Eén team zorgt dat computers teksten kunnen lezen en daar vervolgens vragen over kunnen beantwoorden. Deze divisie heeft een computer het boek Harry Potter en de Steen der Wijzen laten lezen. Daarna kon de computer inhoudelijke vragen over het boek beantwoorden.

Een tweede team binnen Maluuba richt zich op ‘dialog’. Dat zijn systemen die proberen het juiste antwoord te geven als er tegen ze gepraat wordt. Dat kan bijvoorbeeld gebruikt worden in de telefooncentrale van de eerste hulp. De beller geeft aan wat het probleem is, en de computer zorgt door vragen te stellen dat deze met de juiste hulppost wordt verbonden.

Reinforcement learning

Harm van Seijen (research manager bij Microsoft) werkt voor het derde team in Maluuba, dat zich richt op Reinforcement Learning. Een fundamenteel onderzoeksveld waar de andere twee teams hun voordeel mee doen. Kunstmatige Intelligentie is onderverdeeld in verschillende subvelden waaronder Machine Learning. Binnen dit subveld proberen onderzoekers machines te leren leren. Daar zijn weer onderliggende velden in, bijvoorbeeld Neurale Netwerken die leren op basis van voorbeelden. Daar leert een computer bijvoorbeeld katten op de foto te herkennen door foto’s met en zonder kat te bekijken.

Het veld Reinfocement Learning laat computers leren door beloningen aan beslissingen toe te kennen. De computer probeert door verschillende beslissingen te nemen de hoogst mogelijke score te halen. Dat kan ingezet worden in combinatie met het dialog-systeem van het andere team bij Maluuba, bijvoorbeeld om een systeem te bouwen dat telefonische verkopers argumenten geeft om een product te verkopen.

Volgt na een argument een aankoop, dan genereert dat een positieve beloningsscore. Wordt er niet gekocht, dan is de score nul. Gooit de klant de hoorn op de haak, dan volgt er een negatieve score. Op den duur leert de computer zo welke argumenten goed zijn voor de verkoop en welke minder.

In 2015 is bij de University of Toronto een Reinforcement Learning-onderzoek uitgevoerd met behulp van computerspellen van de (antieke) Atari 2600. Het onderzoeksteam gebruikte daar een zogenaamde Deep Reinforcement Learning techniek om de computer spellen te leren spelen. Met deze nieuwe aanpak wist de computer na training bij zes van de zeven geteste spellen een betere score neer te zetten dan welke andere computer ook. In drie gevallen was de computer zelfs beter dan de beste menselijke spelers.

Verschil met Pac-Man

Het in 1981 gelanceerde spel Ms. Pac-Man zat niet bij de titels die in dit onderzoek met succes gespeeld zijn. Harm: “De techniek bij dat onderzoek doet het heel goed bij zo’n 75 procent van de spellen. Maar bij andere titels, waaronder Ms. Pac-Man, werkte het heel slecht. Waarom was niet duidelijk. We hebben geprobeerd dat uit te leggen, maar konden het niet verklaren. Een doelstelling van ons onderzoek was daarom uitvinden waarom het zo moeilijk was en dat vervolgens op te lossen.”

Ms. Pac-Man is de opvolger van het in 1980 verschenen spel Pac-Man. Voor wie het niet kent (wat we ons nauwelijks kunnen voorstellen): in beide spellen moet de speler het titelkarakter door een doolhof sturen om zo pellets, die in de gangen liggen, op te eten. Is het doolhof leeg, dan begint het volgende level. Vier spoken proberen de speler op zijn beurt op te eten. Door één van de vier in het doolhof aanwezige power pellets op te eten, kan de speler tijdelijk de rollen omdraaien en extra punten scoren door spoken op te eten. Af en toe verschijnt er tijdelijk een stuk fruit in het doolhof. Weet de speler dit op te eten, dan levert dat bonuspunten op.

In werkelijkheid zitten er behoorlijke verschillen tussen Pac-Man en Ms. Pac-Man

-

Op het eerste gezicht lijkt Ms. Pac-Man niet meer aan Pac-Man toe te voegen dan een strik, een oog, lippenstift en een schoonheidsvlek. In werkelijkheid zitten er behoorlijke verschillen tussen de twee titels. Zo beweegt Ms. Pac-Man zich door vier verschillende doolhoven terwijl Pac-Man steeds in hetzelfde doolhof verschijnt. Het fruit beweegt in Ms. Pac-Man, terwijl het in de vorige titel stil lag. Zeker belangrijk voor lerende machines: de spoken in Pac-Man verplaatsen zich relatief aan hoe de speler loopt. Dat maakt het mogelijk om bewegingspatronen te ontdekken en daar de speelstijl op aan te passen. In Ms. Pac-Man bewegen de spoken zich met meer willekeur, waardoor een patroon niet te ontwaren is.

Hoogst mogelijke Pac-Man-score

Pac-Man en Ms. Pac-Man zijn over de afgelopen 37 jaar in een onwaarschijnlijke hoeveelheid varianten op de markt gebracht. De website highscore.com houdt wereldwijd de hoogste scores van computerspellen bij. Een snelle zoektocht op deze site geeft 568 varianten van het spel Ms. Pac-Man. Voor de Atari 2600-variant (die in dit onderzoek gebruikt is) kunnen we kiezen uit een high-score geboekt op een originele Atari 2600 spelcomputer (154.630) of op computer die de Atari emuleert (266.330). Kortom, de score van het team van Harm is 3,75 keer zo hoog als de hoogst genoteerde score in Ms. Pac-Man ooit. Harm: “Dit is de hoogst mogelijke score omdat deze daarna reset naar 0 punten.”

Om dit te bereiken is er een creatieve aanpak van de Reinforcement Learning techniek gebruikt. Het team van Maluuba noemt dit de Hybrid Reward Architecture. Harm: “In Reinforcement Learning heb je te maken met een beloningsfunctie. Normaal heb je één agent die probeert de beloning te maximaliseren. Wij hebben die functie opgesplitst in een hoeveelheid kleinere deelfuncties. We hoeven daarom niet met één agent een complex probleem op te lossen, maar hebben een grote verzameling agents die kleine problemen proberen op te lossen.”

Binnen Ms. Pac-Man maakte het team van allerlei losse onderdelen in het spel een agent. Onder meer de pellets in het doolhof, de spoken, de power-pellets en de ‘eetbare spoken’ (na het eten van een power-pellet) werden agents. In totaal gaven 163 verschillende agents aan of ze vonden dat Ms. Pac-Man omhoog, omlaag, linksaf of rechtsaf moest bewegen.

De beslissing van iedere agent kreeg ook een eigen gewicht. Harm: “Iedere agent spreekt een voorkeur voor actie uit en geeft aan hoe belangrijk hij is. Wat een spook wil is van meer belang dan wat een pellet wil.” Op basis van een zogenaamde ‘lineaire combinatie van Q-waarden’ gebruikt de computer die meningen om een afgewogen beslissing te nemen.

4000 uur later

Hoe beter die beslissing in de eindscore uitpakt, hoe eerder de computer die in een volgend spelletje opnieuw zal nemen. Op die manier leert de machine een steeds hogere score op Ms. Pac-Man te noteren. De computer heeft in totaal bijna 4.000 uur Ms. Pac-Man moeten spelen om de topscore te kunnen noteren. Uitgaande van de vuistregel dat iemand met een 40-urige werkweek gemiddeld per jaar 1.650 uur werkt, vertaalt zich dat naar bijna 2,5 jaar trainen voor een mens. Het spelletje waarbij de topscore behaald werd nam 1 uur en 16 minuten in beslag.

In werkelijkheid heeft het vanzelfsprekend geen 2,5 jaar geduurd voor deze score bereikt werd. Voor het experiment was het niet nodig om de computer op menselijke snelheid te laten spelen. Met behulp van een standaard PC met Intel Core i7-processor is de 4.000 uur training uitgevoerd in 30 uur. Daarvoor was eerst een 20 uur durende optimalisatie nodig in een parallel rekenend netwerk van computers. De totaal benodigde ‘werkelijke’ tijd om Ms. Pac-Man te verslaan werd zo teruggebracht naar 50 uur.

De computer heeft in totaal bijna 4.000 uur Ms. Pac-Man moeten spelen om de topscore te kunnen noteren.

-

Natuurlijk investeren Microsoft en Maluuba niet in Reinforcement Learning om de hoogste score op een computerspel te kunnen claimen. Het team van Harm voert voor de bedrijven fundamenteel onderzoek uit. Op basis van hun bevindingen kunnen de andere twee teams van Maluuba hun toepassingen verder optimaliseren.

Harm: “In het algemeen probeer je met Reinforcement Learning uit data goed gedrag te leren. Dat kun je potentieel voor veel dingen gebruiken. Binnen taal bijvoorbeeld om in dialogs de juiste respons te berekenen. Dat kan bij simpele taken gewoon met de hand gecodeerd worden. Maar als het om ingewikkeld gedrag gaat, kan dat niet meer. Dan wil je dat er zelf geleerd wordt aan de hand van data. Daar wordt Reinforced Learning voor gebruikt.”

Zelf aan de slag

Wil je zelf met kunstmatige intelligentie aan de slag, dan volgen hier enkele tips:

Stap 1: Bezoek de Arcade Learning Environment

De Arcade Learning Environment biedt een framework waarmee onderzoekers en hobbyisten AI agents voor Atari 2600 spellen kunnen bouwen. Om hiermee aan de slag te gaan is Linux of OS X nodig. Daarnaast dien je over kennis van Python en C++ te beschikken.

Stap 2: Bezoek OpenAI Gym

Op de website van OpenAI Gym kun je het gereedschap vinden om zelf een Reinforcement Learning algoritme te ontwikkelen. Om dit gereedschap te gebruiken is kennis van de programmeertaal Python praktisch. Naast de mogelijkheid om te ontwikkelen, biedt de OpenAI Gym ook opties om resultaten van je werk te vergelijken met die van anderen. De site bevat daarnaast documentatie en een forum om vragen te stellen.

Stap 3: Kies je project

OpenAI Gym biedt een keur aan omgevingen om je eigen kunstmatige intelligentie voor te ontwikkelen. Daar zitten beginnersprojecten bij en mogelijkheden om met de standaard bordspellen aan de gang te gaan. Je kunt zelfs je eigen 2D- en 3D-robotsimulaties maken. Eén van de mogelijke omgevingen waar je voor kunt kiezen zijn de klassieke Atari-computerspellen.

Stap 4: Breid je omgeving uit

Een handig aspect van OpenAI Gym is dat het kan overweg met algoritmes die in andere frameworks gemaakt zijn. Zo kun je de deeplearning Python libraries die Theano biedt inzetten. Ook de open-source Machine Intelligence-uitbreidingen van TensorFlow werken goed met OpenAI Gym samen.

▼ Volgende artikel
Waar voor je geld: 5 robotgrasmaaiers voor een mooi gazon
© Philips
Huis

Waar voor je geld: 5 robotgrasmaaiers voor een mooi gazon

Bij ID.nl zijn we gek op producten waar je niet de hoofdprijs voor betaalt. Een paar keer per week speuren we daarom binnen een bepaald thema naar zulke deals. In de zomer groeit gras altijd wat sneller, maar de kans is natuurlijk groot dat je voor langere periode op vakantie bent. Dan komt een robotgrasmaaier zeker van pas.

Robotmaaiers zijn slimme, automatische grasmaaiers die zelfstandig je gazon bijhouden. Je stelt een maaischema in (vaak via een app), en de robot doet de rest – hij maait regelmatig een klein stukje gras, zodat het gazon altijd netjes blijft. Je hoeft dus nooit meer zelf met de maaier aan de slag. Bijkomend voordeel: je gazon wordt vanzelf onderhouden, zelfs als je op vakantie bent.

Gardena smart SILENO city 400

Dit apparaat is ontworpen voor gazons tot 400 vierkante meter en werkt volledig automatisch. Je kunt hem bedienen via de Gardena Smart App, waarmee je maaischema's kunt instellen en de voortgang kunt volgen. De maaier gebruikt LONA-technologie, een vorm van kunstmatige intelligentie die je tuin in kaart brengt en zich aanpast aan de indeling. Zo weet hij precies waar en wanneer hij moet maaien. Hij kan hellingen tot 35 procent aan en navigeert moeiteloos door smalle doorgangen van minimaal 60 cm breed. Met een geluidsniveau van slechts 57 dB(A) is hij een van de stilste in zijn klasse. De maaier werkt in alle weersomstandigheden en keert automatisch terug naar het laadstation wanneer de accu bijna leeg is. Een volle lading duurt ongeveer 75 minuten en biedt een maaitijd van 65 minuten.

🌄 Grasoppervlakte: 400m²
🚜 Maaitijd: 65 minuten

Gardena smart SILENO city 250

Dit model is ontworpen voor kleinere tuinen tot ongeveer 250 vierkante meter en is eigenlijk het kleinere broertje van de hierboven besproken SILENO city 400. De specificaties zijn nagenoeg gelijk. Ook deze maaier werkt volledig automatisch en is eenvoudig te bedienen via de Gardena Smart App. Bij slecht weer, zoals regen of vorst, past de maaier zijn schema automatisch aan. Met een geluidsniveau van slechts 57 dB(A) is hij stil in gebruik. Na een maaironde van ongeveer 65 minuten keert hij automatisch terug naar het laadstation, waar hij in ongeveer 75 minuten volledig oplaadt. Schoonmaken is eenvoudig: je kunt hem gewoon afspoelen met de tuinslang.

🌄 Grasoppervlakte: 250m²
🚜 Maaitijd: 65 minuten

Robomow RT300

De Robomow RT300 is een compacte robotmaaier die ideaal is voor kleine tuinen tot 300 vierkante meter. Met zijn wendbaarheid en maaibreedte van 18 cm zorgt hij voor een gelijkmatig gemaaid gazon. De maaihoogte is instelbaar tussen 15 en 60 mm, waardoor je zelf kunt bepalen hoe kort het gras wordt. Dankzij de Li-ion accu maait hij tot 75 minuten en laadt hij in 180 minuten weer op. De RT300 kan hellingen tot 30 procent aan en is uitgerust met functies zoals een zwevend maaidek, randmaaimodus, diefstalbeveiliging en bluetooth-connectiviteit. Bij aankoop ontvang je 125 meter perimeterdraad en 150 draadpinnen voor de installatie.

🌄 Grasoppervlakte: 300m²
🚜 Maaitijd: 75 minuten

Philips 3000-serie RSL3000/10

De Philips RSL3000/10 is geschikt voor een flinke tuin van ongeveer 1.000 vierkante meter. Je kunt hem bedienen via een app op je telefoon, waar je onder andere kunt instellen wanneer hij moet maaien. Hij gebruikt GPS om systematisch over het gazon te rijden, zodat hij geen stukken overslaat of dubbel doet. De maaier heeft sensoren die merken wanneer het regent. Dan stopt hij automatisch met maaien en rijdt terug naar zijn laadstation. Ook kan hij over hellingen rijden tot zo'n 36 procent, wat handig is als je tuin niet helemaal vlak is. Als de accu leeg is, gaat hij zelf opladen. Hij werkt ongeveer 2 uur op een volle batterij en het opladen duurt zo'n 2,5 uur.

🌄 Grasoppervlakte: 1000m²
🚜 Maaitijd: 120 minuten


Bosch Indego S+ 500

De Bosch Indego S+ 500 is een robotmaaier die geschikt is voor gazons tot ongeveer 500 vierkante meter. Hij werkt volledig automatisch en kan via de Bosch Smart Gardening-app worden bediend. Via deze app kun je maaischema's instellen en je kunt er de voortgang mee volgen. Dankzij de LogiCut-technologie maait de robot in systematische banen, wat efficiënter is dan willekeurige patronen. De maaier heeft een maaibreedte van 19 cm en kan de maaihoogte instellen tussen 3 en 5 cm. Hij is geschikt voor hellingen tot 27 procent en heeft een accuduur van ongeveer 60 minuten, met een oplaadtijd van ongeveer een uur. De maaier is uitgerust met een 18V lithium-ion batterij en weegt ongeveer 7,7 kg.

🌄 Grasoppervlakte: 500m²
🚜 Maaitijd: 60 minuten

▼ Volgende artikel
Nieuw van Philips: tafelgrill met infuser voor échte barbecuesmaak
© Philips
Huis

Nieuw van Philips: tafelgrill met infuser voor échte barbecuesmaak

Met de Philips Tafelgrill geniet je deze zomer van een ontspannen barbecue, gewoon aan tafel. Geen gesleep met houtskool of iemand die steeds bij het vuur moet blijven. Dankzij het compacte ontwerp en de slimme aroma-infuser haal je de karakteristieke rooksmaak zó je woonkamer of tuin in. Zo kan iedereen gewoon blijven zitten én mee grillen.

Rooksmaak aan tafel

De geïntegreerde rook- en aroma-infuser maakt het verschil. Voeg wat houtsnippers of verse kruiden toe onder het glazen deksel en laat het apparaat de rest doen. Je ruikt het meteen: die kenmerkende geur van een echte barbecue. De tafelgrill warmt snel op en behoudt een constante temperatuur, zodat vlees, vis of groente perfect gegaard wordt. Het royale grilloppervlak van 1250 cm² biedt genoeg ruimte om met het hele gezin of een groep vrienden aan tafel te genieten.

Wat zijn goede houtsnippers voor je tafelgrill?

De infuser van de Philips Tafelgrill werkt perfect met houtsnippers. Deze zorgen niet alleen voor rook, maar ook voor extra smaak. Elke houtsoort geeft zijn eigen karakter:

  • Hickory: sterk en kruidig, populair bij vlees zoals ribs of pulled pork
  • Appel: zacht, fruitig aroma – lekker bij kip en vis
  • Kers: licht zoet, subtieler dan appel, geschikt voor varkensvlees
  • Eik: robuust en aards, combineert goed met rundvlees
  • Beuk: milder, rokerig zonder bitterheid – allround inzetbaar

Gebruik altijd snippers die speciaal bedoeld zijn voor koken en zorg dat ze droog zijn of licht vochtig gemaakt worden voor gebruik.

Twee grilloppervlakken voor meer variatie

De grillplaat is aan twee kanten te gebruiken: de geribbelde zijde is ideaal voor biefstuk, zalmfilet of hamburgers. De vlakke kant leent zich juist voor delicate ingrediënten zoals groente, spek of zelfs een eitje. Zo bereid je verschillende gerechten tegelijk en naar ieders smaak. Alles wordt egaal verwarmd en overtollig vet wordt netjes opgevangen, wat het schoonmaken vergemakkelijkt.

Kruidenideeën voor in de infuser

Naast houtsnippers kun je ook experimenteren met kruiden of een mix daarvan. Denk aan rozemarijn, tijm, laurier, citroenschil, komijnzaad, knoflookvlokken of gedroogde chili voor een pittig tintje. Even laten meedampen onder het glazen deksel en je hele tafel ruikt naar een zomerse barbecue.

©Philips

Prijs en beschikbaarheid

De Philips Tafelgrill HD6212/90 is per direct verkrijgbaar bij onder andere bol.com. De adviesprijs is 129,99 euro.