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
Prettig werken in Word: verberg overbodige teksten
© © Simon Lehmann - PhotoGranary
Huis

Prettig werken in Word: verberg overbodige teksten

Stel: je hebt een tekstdocument en je wilt zowel een lange versie als een korte versie afdrukken of als pdf uitvoeren. Je kunt dan met verschillende documentversies weerken, maar soms is het juist minder omslachtig om in hetzelfde document bepaalde stukken tekst te verbergen.

Wat gaan we doen?

In dit artikel lees je hoe je in Word tijdelijk tekst kunt verbergen met een speciale toetscombinatie, hoe je deze desgewenst weer helemaal zichtbaar maakt en hoe je via de menu's van Word kunt instellen dat verborgen tekst altijd zichtbaar of afdrukbaar blijft.

Om de tekst te verbergen, selecteer je eerst de inhoud die je tijdelijk aan het oog wilt onttrekken. Daarna open je het lettertype-dialoogvenster. Dat kan door met de rechtermuisknop op de tekstselectie te klikken en de opdracht Lettertype te kiezen. Of je gebruikt simpelweg de toetscombinatie Ctrl+D. In dit dialoogvenster zet je onder Effecten een vinkje bij de eigenschap Verborgen tekst. Of nog sneller: selecteer de tekst die je wilt verbergen en gebruik de combinatie Ctrl+Shift+H (met de H van hide). Hierdoor verdwijnt de tekst uit beeld. Er zal ook geen extra witruimte te zien zijn.

Verborgen tekst is een optie bij Lettertype.

Alles weergeven

Wil je de tekst tonen, dan kun je die inschakelen via de optie Alles weergeven (Ctrl+*). Dat is de knop met het alineapictogram in het tabblad Start in de groep Alinea, en wordt ook weleens ‘Toon onzichtbare tekens’ genoemd. Hierdoor wordt de verborgen tekst tijdelijk weer zichtbaar, maar hij is wel met kleine grijze puntjes onderstreept. Dat is om aan te geven dat deze tekst nog steeds het kenmerk verborgen heeft en dus niet wordt afgedrukt. Om de tekst wel weer definitief zichtbaar te maken, haal je hem eerst via de functie Alles weergeven tevoorschijn. Daarna selecteer je de met puntjes onderstreepte tekst en vervolgens verwijder je het vinkje Verborgen tekst in het dialoogvenster Lettertype. Vraag je het aantal woorden in het document op met Controleren / Aantal woorden, dan zal de verborgen tekst altijd blijven meetellen. Wanneer je het document afdrukt of exporteert als pdf, zal de verborgen tekst echter niet te zien zijn.

Met de knop Alles weergeven haal je de verborgen tekst tijdelijk terug naar boven.

Verborgen tekst altijd weergeven

Ten slotte zit er een optie in Word om verborgen tekst altijd te tonen. Ga daarvoor naar Bestand, kies Opties en selecteer in de linkerkolom Weergave. Je kunt nu met een vinkje aangeven dat je verborgen tekst altijd op het scherm wilt zien. Daaronder bij de Afdrukopties is het mogelijk om in te stellen dat je verborgen tekst altijd wilt afdrukken. Die twee opties zijn niet de standaardinstelling.

In de opties kun je verborgen tekst altijd in beeld brengen en ook altijd afdrukken.

▼ Volgende artikel
Waar voor je geld: 5 wasmachines met app-bediening en A-label voor  minder dan 500 euro
© Id.nl
Huis

Waar voor je geld: 5 wasmachines met app-bediening en A-label voor minder dan 500 euro

Bij ID.nl zijn we gek op producten voor een mooie prijs of die iets extra's of bijzonders te bieden hebben. Daarom gaan we een paar keer per week voor jullie op zoek naar leuke deals. Tegenwoordig is overal een app voor, zelfs wasmachines kun je voor een groot deel op afstand bedienen met je smartphone. Wij bekijken vijf van zulke exemplaren voor minder dan 500 euro.

Het bedienen van je wasmachine door middel van een app is handig. Zo kun je bijvoorbeeld zelf aangeven wanneer je je programma start, kun je deze tussendoor pauzeren als je wil dat de was op een bepaald tijdstip klaar is, zodat je je wasgoed kunt ophangen en krijg je een signaal wanneer de machine klaar is. Wij bekijken vijf via een app te bedienen wasmachines die minder kosten dan 500 euro.

Hoover H‑WASH 500 HWE 49AMBS/1‑S

Met de Hoover H‑WASH 500 HWE 49AMBS/1‑S kun jij wassen via wifi en een smartphone‑app. De machine heeft een capaciteit van 9 kg en een toerental van 1 400 rpm. Dankzij de Eco‑Power‑invertermotor werkt hij energiezuinig en valt hij in energieklasse A. Via de app stel je de startuitstel tot 24 uur in en kun je het wasprogramma of de resterende tijd bekijken.

Het Mix Power System + mengt water en wasmiddel voor een efficiënte reiniging. Daarnaast zijn er programma’s voor wol, katoen, snelle was of stoom. Een trommelreinigingsfunctie helpt om geurtjes te voorkomen en een resttijd‑indicator laat zien hoelang het programma nog duurt.

Energy Label A
Specificaties

Centrifugeren: 1400rpm
Geluidsniveau: 77dB
Capaciteit: 9kg

Hoover H‑WASH 500 HW 49XMBB/1‑S

De Hoover H‑WASH 500 HW 49XMBB/1‑S is een voorlader met 9 kg trommelinhoud. Het toerental bedraagt 1400 rpm en het energie‑etiket is A. Dit model is uitgerust met Wi‑Fi; via de Hoover‑app op je smartphone kun je programma’s kiezen, extra cycli downloaden en een startuitstel instellen. De invertermotor zorgt voor een stille werking en een lange levensduur.

Er zijn speciale programma’s voor bijvoorbeeld wol, een snelle cyclus of een antiallergie-programma. Een resttijd‑indicator en trommelverlichting maken het gebruik eenvoudiger, en een automatische waterniveau‑sensor past het waterverbruik aan de lading aan. Door het toerental van 1400 rpm blijft het restvocht laag en hangt de was minder lang te drogen.

Energy Label A
Specificaties

Centrifugeren: 1400rpm
Geluidsniveau: 77dB
Capaciteit: 9kg

Beko B5WT5941082W

De Beko B5WT5941082W heeft een trommel van 9 kg en een maximaal toerental van 1400 rpm. Dit apparaat is voorzien van een Bluetooth‑module voor bediening via de HomeWhiz‑app. Via deze app kun jij programma’s selecteren, het resterende verloop volgen en extra programma’s (zoals mix, gordijnen of lingerie) downloaden. De wasmachine valt in energieklasse A (‑10 %) en gebruikt een stille inductiemotor.

Dankzij de Aquatech‑technologie wordt water en wasmiddel effectief over het wasgoed gesproeid. Er zijn 15 standaardprogramma’s, waaronder handwas, wol, dark en Outdoor/Sport. Je kunt kiezen voor opties zoals stoom, extra spoelen of trommelreiniging. Het digitale display toont de resterende wastijd, er is startuitstel tot 24 uur en een aquasafe‑functie sluit de watertoevoer af bij lekkage.

Energy Label A
Specificaties

Centrifugeren: 1400rpm
Geluidsniveau: 75dB
Capaciteit: 9kg

Hisense WF5I8043BWF

De Hisense WF5I8043BWF is een slanke voorlader (ongeveer 47 cm diep) met een laadvermogen van 8 kg en een toerental van 1 400 rpm. De machine valt onder energieklasse A(‑30 %) en is uitgerust met wifi om hem via de ConnectLife‑app te bedienen. In een review wordt als voordeel genoemd dat je de wasmachine met een app op afstand kunt bedienen om het soort was en de centrifugeerstand te kiezen, en dat je een melding krijgt wanneer de was klaar is.

Het product heeft een stoomfunctie om kreuken te verminderen en een trommelverlichting zodat je geen sokken vergeet. Dankzij de compacte diepte is het model geschikt voor kleinere ruimtes. De app maakt het mogelijk extra programma’s te downloaden en het energieverbruik te volgen. Met 8 kg capaciteit is de machine geschikt voor een middelgroot huishouden; de maximale
centrifugesnelheid zorgt ervoor dat het restvocht beperkt blijft.

Energy Label A
Specificaties

Centrifugeren: 1400rpm
Geluidsniveau: 72dB
Capaciteit: 9kg

Samsung EcoBubble WW80CGC04AAH

De Samsung EcoBubble™ WW80CGC04AAH is een voorlader met een trommelcapaciteit van 8 kg en een centrifugesnelheid van 1400 rpm. Het apparaat gebruikt EcoBubble‑technologie om wasmiddel op te lossen en belletjes te creëren voor een grondige reiniging bij lage temperaturen. Het energieverbruik bedraagt volgens de specificaties 47 kWh per 100 cycli. Op de officiële Samsung‑pagina staat dat je via de SmartThings‑app de AI Energy Mode kunt inschakelen; daarmee monitor je het energieverbruik en kun je de temperatuur verlagen, de programmaduur
verleng‑ en en tot 70 % energie besparen.

In de app zie je jouw dagelijkse, wekelijkse en maandelijkse stroomverbruik per apparaat. Behalve de app‑bediening biedt de wasmachine een programma voor hygiënestoom, 10 % extra energiebesparing ten opzichte van oudere modellen en een digitale inverter‑motor voor een lager geluidsniveau. Met een geluidsniveau van circa 72 dB tijdens het centrifugeren en een A‑label behoort de machine tot de stille en zuinige klasse.

Energy Label A
Specificaties

Centrifugeren: 1400rpm
Geluidsniveau: 72dB
Capaciteit: 8kg