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
Zo houd je je caravan of camper schoon – vóór, tijdens en na de vakantie
© Maya - stock.adobe.com
Huis

Zo houd je je caravan of camper schoon – vóór, tijdens en na de vakantie

Op vakantie met de camper of caravan? Dan wil je vooral genieten van de vrijheid en zo min mogelijk tijd kwijt zijn aan huishoudklusjes. Hoeft ook niet: met een beetje voorbereiding, wat slimme hulpmiddelen en een paar kleine dagelijkse routines blijft alles fris. En dat betekent ook: geen monsterschoonmaakklus bij thuiskomst dus. Als dat geen ontspannen vooruitzicht is!

🚐 Dit artikel in het kort

Schoonmaken tijdens de vakantie: niet de favoriete hobby van de meeste mensen. Tegelijkertijd is het wel lekker wanneer het in je caravan of camper een beetje fris blijft. In dit artikel lees je: 🚐 Hoe je zorgt dat je met een schone en opgeruimde caravan op pad kunt. 🚐 Wat je onderweg kunt doen om de boel een beetje bij te houden. 🚐 Hoe je de grote schoonmaak na je vakantie zo efficiënt mogelijk kunt aanpakken.

Lees ook: Brug te laag? Bocht te krap? Met campernavigatie verloopt je reis wél probleemloos

🧳Dit doe je voor vertrek

Een goede start begint met een schone basis én de juiste spullen aan boord. Door je camper of caravan voor vertrek al goed schoon te maken, bespaar je jezelf tijdens je reis een hoop werk. Maak het aanrecht, de koelkast en het kookgedeelte schoon, stofzuig de vloer en neem kastjes en oppervlakken af met een vochtige doek. Ook ramen en spiegels kun je beter alvast schoonmaken: onderweg kan stof er zich dan minder makkelijk aan hechten.

Check daarnaast het toiletgedeelte. Spoel het chemisch toilet door, vul het reservoir met toiletvloeistof en neem een extra navulling mee. Reinig toiletpot en deksel grondig. Nu blijft het onderweg alleen nog maar een kwestie van bijhouden.

Pak vervolgens de juiste schoonmaakspullen in voor onderweg:

☐ Compacte handstofzuiger of kruimeldief (liefst op accu)
☐ Microvezeldoeken en een droge trekker
☐ Setje (liefst biologisch afbreekbare) schoonmaakmiddelen (voor keuken, sanitair en vloeren)
☐ Mobiele lagedrukreiniger met watertank
☐ Vuilniszakken
☐ Bezem of stoffer en blik

Houd het opgeruimd

Alle schoonmaakspullen in een opbergbox
Huh? Een lágedrukreiniger?

Van hogedrukreinigers hebben de meeste mensen wel gehoord, maar wat is een lagedrukreiniger? Kort gezegd: een draagbaar reinigingsapparaat dat water onder lage druk uitspuit. In tegenstelling tot een hogedrukreiniger gebruikt hij minder kracht, waardoor hij geschikt is voor kwetsbare oppervlakken zoals ramen, fietsen, textiel of je camper of caravan. De meeste modellen hebben een ingebouwde watertank, zodat je geen kraan of tuinslang nodig hebt. Daardoor kun je hem ook onderweg gebruiken – bijvoorbeeld op een parkeerplaats, camping of bij het strand. Denk aan het afspoelen van modder, zand, vogelpoep of insecten. Omdat de druk laag is, loop je minder risico op beschadigingen of weggespoten lak of kitranden.

🏖️ Dit doe je onderweg

Ook op vakantie is het prettig als je je huis op wielen fris houdt. Regelmatig even schoonmaken voorkomt dat vuil zich ophoopt en maakt de eindschoonmaak makkelijker.

Vloeren en oppervlakken

Gebruik een handstofzuiger om zand en kruimels dagelijks weg te halen. Houd een doekje en wat allesreiniger bij de hand voor gemorste drankjes of vlekken. Leg een matje bij de ingang en neem vieze schoenen buiten al af, zodat je geen modder of zand naar binnen loopt.

Keuken en badkamer

Werkbladen maak je schoon na elk gebruik. De gootsteen en kraan kun je afnemen met een vochtige doek. In de badkamer is het belangrijk om na elke douchebeurt overtollig water weg te trekken en oppervlakken droog te maken met een microvezeldoek. Zo voorkom je kalkaanslag en schimmel.

Ventileren en luchten

Zorg dagelijks voor frisse lucht in het voertuig, vooral in de natte ruimte. Laat ramen of dakluiken even open staan om condens en vocht af te voeren.

Toilet bijhouden

Leeg de toiletcassette op tijd en maak hem ook af en toe schoon vanbinnen met water en een beetje azijn of toiletvloeistof. Zo blijft het fris én voorkom je verstoppingen.

©Kärcher

🏡 Dit doe je als je weer thuis bent

Ben je weer thuis, maak dan zo snel mogelijk schoon – zodat je caravan of camper meteen weer 'vertrekklaar' is. Haal eerst alle losse spullen uit het voertuig. Zo kun je meteen uitzoeken wat weg kan. Gooi afval weg en haal de koelkast leeg en maak hem schoon. Laat de deur van de koelkast openstaan om geurvorming te voorkomen.

Bekleding en textiel

Banken en stoelen zijn vaak intensief gebruikt. Met een vlekverwijderaar kun je – de naam zegt het al – vlekken verwijderen; is dat niet nodig, gebruik dan een textielverfrisser in sprayvorm om alles weer lekker fris te laten ruiken. Laat alles goed drogen, het liefst buiten bij warm weer, om schimmel te voorkomen.

Kasten, keuken, douche en wastafel

Kasten, plankjes en tafelbladen neem je af met een vochtige doek en mild schoonmaakmiddel. De keuken, inclusief fornuis en randen, maak je eenvoudig vetvrij met een stoomreiniger. Die werkt ook goed op kalkaanslag in de douche en op kranen.

Toilet reinigen na de reis

Spoel het toilet grondig door en maak het volledig leeg. Reinig ook het afsluitrubber en laat de cassette goed drogen voordat je die weer opbergt.

Vloeren en hoekjes

Gebruik een stofzuiger met kierenmondstuk om kruimels, zand en stof uit de vloer en hoekjes te halen. Controleer ook de ruimte onder banken en bedden.

Buitenkant van camper of caravan

Gebruik een hogedrukreiniger om vuil van de buitenkant te verwijderen. Werk eventueel met een zachte wasborstel op een telescoopsteel om makkelijk bij het dak te kunnen. Insectenresten, straatvuil en vogelpoep verwijder je het best zo snel mogelijk om vlekken te voorkomen.

©maho


▼ Volgende artikel
Dit moet je doen als je je Chromebook niet meer aan krijgt
Huis

Dit moet je doen als je je Chromebook niet meer aan krijgt

Heb je een Chromebook die niet meer opstart? Geen paniek. Er zijn verschillende stappen die je kunt nemen om het apparaat weer tot leven te wekken. In veel gevallen is het probleem namelijk eenvoudiger op te lossen dan je denkt.

Als je Chromebook opeens niet meer aangaat, valt dit te proberen:

  • Verwijder eventuele accessoires en dongels
  • Maak de oplaadpoort schoon
  • Staat het scherm wel aan?
  • Probeer een andere kabel
  • Controleer de batterij
  • Maak gebruik van de Powerwash

Ook interessant: Chromebook en Chromebook Plus: dit zijn de verschillen

Chromebooks staan bekend om hun gebruiksgemak en scherpe prijs, en inmiddels kunnen ze ook prima offline functioneren. Maar daar heb je weinig aan als het apparaat niet opstart. Reageert je Chromebook nergens meer op? Met deze tips vergroot je de kans dat hij toch weer meewerkt.

Koppel accessoires en dongels los

Begin bij het begin: haal alle randapparatuur uit de poorten. Denk aan usb-sticks, externe muizen of dongels. Soms zorgt een aangesloten apparaat voor een stroomprobleem of een storing, waardoor de Chromebook niet goed opstart. Doet hij het na het loskoppelen weer? Sluit de accessoires dan stuk voor stuk opnieuw aan om te ontdekken welk onderdeel de boosdoener is.

Maak van je Chromebook een alleskunner met een handige dongel.

Breid eenvoudig je aansluitmogelijkheden uit!

Reinig de oplaadpoort

Een verstopte usb-poort kan ook roet in het eten gooien. Stof of vuil belemmert soms het contact tussen kabel en apparaat. Een spuitbus met perslucht is ideaal om de poort schoon te blazen. Heb je die niet bij de hand, dan kun je ook voorzichtig een plastic tandenstoker of een wattenstaafje met een beetje isopropylalcohol gebruiken. Vermijd houten stokjes, die kunnen splinters achterlaten.

Controleer of het scherm werkt

Lijkt het alsof de Chromebook niets doet? Check dan eerst of het scherm überhaupt aanstaat. Het kan gebeuren dat iemand voor de grap de helderheid op het minimum heeft gezet. Druk een paar keer op de helderheidstoets om te zien of het beeld terugkomt. Nog steeds niets? Sluit het apparaat dan eens aan op een extern scherm om te testen of de Chromebook wel signalen afgeeft.

©Google

Gebruik een andere kabel

Geen resultaat? Probeer dan een andere usb-c-kabel. Misschien ligt het simpelweg aan een defecte oplader. Als het ledlampje aangaat bij het aansluiten van een andere kabel, weet je dat het apparaat stroom krijgt. Voor de zekerheid kun je ook een ander stopcontact proberen, al is dat zelden de oorzaak.

Check de accu

Brandt het lampje, maar weigert de Chromebook alsnog dienst, dan zou de accu weleens defect kunnen zijn. In sommige gevallen kun je die zelf vervangen, maar let op: je garantie vervalt dan meestal. Het is verstandiger om contact op te nemen met de verkoper of fabrikant. Als dat niets oplevert, kun je overwegen om een reparatiespecialist in te schakelen.

©Tada Images - stock.adobe.com

Voer een Powerwash uit

Als je Chromebook nog wel opstart maar niet goed functioneert, kan een zogenoemde Powerwash uitkomst bieden. Dit is een fabrieksreset die alle gegevens wist en het systeem schoon herstart. Zorg dus dat je belangrijke bestanden vooraf veiligstelt, bijvoorbeeld in de cloud. Zo geef je je Chromebook mogelijk een tweede leven, zonder nieuwe aan te hoeven schaffen.

Zo werkt een Powerwash:
  • Zet de Chromebook aan
  • Druk tegelijk op Ctrl+Alt+Shift+R
  • Klik op 'Opnieuw opstarten'
  • Kies in het volgende scherm voor Powerwash en klik op Doorgaan
  • Volg de instructies en bevestig de reset
  • Na afloop start je de Chromebook opnieuw op en log je in met je Google-account

Alles geprobeerd?

Hopelijk helpt dit en kun je na het uitvoeren van één van deze stappen weer gebruikmaken van je Chromebook. Zo niet en ben je van plan een nieuwe Chromebook te kopen, dan is het handig om te weten wat bijvoorbeeld de verschillen zijn tussen een normale en Plus-variant. Daarnaast gaven we eerder al wat tips over het kopen van zo'n laptopvervanger en kun je hier lezen wat vijf goede opties voor een redelijk betaalbare prijs zijn.