OpenAI start machinelearningcompetitie met klassieke Sonic-games

OpenAI, dat zich bezighoudt met de ontwikkeling van kunstmatige intelligentie, heeft een zogenaamde Retro Contest aangekondigd. Deelnemers moeten een ai-agent insturen die vervolgens onbekende custom Sonic-levels gaat spelen.

Volgens OpenAI is de competitie bedoeld om een algoritme voor reinforcement learning, een vorm van machine learning, te evalueren. Dit gebeurt door te kijken hoe het op basis van eerdere 'ervaringen' kan generaliseren. In plaats van een bekende omgeving te gebruiken zowel voor het trainen als voor de competitie zelf, krijgen deelnemers beschikking over een trainingset aan levels uit verschillende Sonic-retrogames. Hun agent moet tijdens de competitie voor de ontwikkelaars onbekende levels zien te doorstaan binnen een tijdsbestek van achttien uur per level. OpenAI heeft de te gebruiken benchmark eveneens gepubliceerd.

De competitie duurt twee maanden en loopt tot 5 juni. De winnaar is degene met de hoogste score op de ranglijst. Deelnemers kunnen hun agent insturen in de vorm van een Docker-container. OpenAI heeft zelf een aantal basisalgoritmes vrijgegeven, die deelnemers kunnen gebruiken als beginpunt. Daarnaast heeft de organisatie de Gym Retro Beta-omgeving beschikbaar gemaakt, die te vergelijken is met een soort emulator voor de Atari 2600 en Sega Genesis die gebruikt kan worden om games als trainingsomgevingen in te zetten. OpenAI gebruikte al eerder dit soort Gyms voor training met games.

In de aankondiging vermeldt OpenAI nog dat agents soms exploits vinden in games, afhankelijk van hoe de beloningsfunctie is ingesteld. Zo ontdekte een van zijn agents dat het mogelijk was om door een muur heen te glitchen en zo een hogere score te behalen.

OpenAI Sonic

Door Sander van Voorst

Nieuwsredacteur

06-04-2018 • 10:19

22 Linkedin Whatsapp

Reacties (22)

22
22
13
3
0
4
Wijzig sortering
Zeer interessant initiatief! Gaaf dat ze daarvoor Sonic games inzetten. Is ook ergens wel te begrijpen als je ziet wat voor physics Sonic games hebben en het level design is niet 'plat' zoals bij Super Mario 1 op de NES.

Over de physics van Sonic staat een leuke discussie op Neogaf en lees dan vooral de comments van Krejlooc.

https://www.neogaf.com/th...on-the-snes.979313/page-2
https://en.m.wikipedia.or...per_NES_enhancement_chips

Vergeet deze troef van de SNES niet, de Mega Drive is idd sneller maar de SNES heeft een flink rijtje enchancement_chips.

Standaard zou de SNES de originele Sonic niet kunnen draaien op dezelfde manier als de Mega Drive dat doet maar met de SA1-chip geef ik het een goede kans.
Volgens mij zijn die enhancement chips vooral bedoeld voor 3D-berekeningen en dus niet geschikt voor de wiskundige berekeningen voor de physics in de Sonic games.

Zie ook deze post waarom de DSP-1 bijvoorbeeld niet geschikt is.

https://www.neogaf.com/th...nes.979313/post-149132900

Edit: de SA1-chip zou misschien een optie zijn, maar vergeet niet dat de 68000 chip in de Mega Drive juist uitermate geschikt is voor wiskundige berekeningen, meer nog dan SNES chips.

[Reactie gewijzigd door Sonicfreak op 6 april 2018 12:00]

Daarom vond ik de Sonic games ook gaver vroeger dan de Mario games! :)
Ik denk dat ik Sonic 1-3 echt blauw gespeeld heb!

Daarbij was Sonic Adventures op de Dreamcast ook zijn tijd ver vooruit!
Sonic was al blauw, dat kwam echt niet door jouw binge!
Dit heeft overigens 0,0 met AI te maken. Dit is pure machine learning gewoon vele duizenden keren proberen en van meeste succesvolle pogingen worden nieuwe varianten geprobeerd. Die af en toe stapje verder komen.

Stream van Mario loopt al bijna 22 dagen
https://www.youtube.com/watch?v=oWU48a2nNLA

Dat proces kun je natuurlijk versneller door 100-tal (of meer) docker containers te starten in bijvoorbeeld AWS en heb je hetzelfde resultaat in een half uur.

[Reactie gewijzigd door kr4t0s op 6 april 2018 12:15]

"Dit heeft overigens 0,0 met AI te maken. Dit is pure machine learning"
Ik weet niet of je het goed beseft maar machine learning is 1 van de grootste en meest onderzochte takken BINNEN AI. Zeggen dat machine learning geen AI is als zeggen dat een boom geen plant is.
Ik bedoel puur deze exercitie is puur machine learning komt geen intelligentie aan te pas. En dat vaak dingen AI genoemd worden die helemaal geen AI zijn maar gewoon aan elkaar gescript. Dit is puur trail en error, brute forcen van een level meer in de lijn van de infinite monkey theorem. De output kun je wellicht iets mee voor echte AI verder te ontwikkelen. Neemt niet weg dat het best leuk en interessant is.
Als je machine learning een vorm van brute forcen noemt dan begrijp je niet hoe machine learning (of misschien brute forcing) werkt. Brute forcen is het domweg doorrekenen en proberen van alle mogelijkheden en op basis daarvan de beste uitkomst kiezen. Machine learning werkt heel anders. Het is patroonherkenning. Volgens het standaardrecept werkt het door een artificieel neuraal netwerk te trainen op een bepaalde input en te 'belonen' bij de gewenste output. Je voedt je netwerk bijvoorbeeld veel Sonic-acties en leert het op basis daarvan wat een 'goede' actie is gegeven de input.

Machine learning is flexibel in de zin dat het, mits goed getraind, met nieuwe, nog nooit eerder geleerde situaties om kan gaan -- zoals nieuwe Sonic levels. Dat is wezenlijk iets anders dan brute forcen (waarbij voor een nieuw level eerst opnieuw gerekend moet worden). Toegegeven, machine learning werkt alleen binnen een bepaalde niche: datgene waarop het getraind is. Maar om te zeggen dat "er geen intelligentie aan te pas" en het "aan elkaar gescript" is, is te kort door de bocht.
Die Mario "AI" werkt dus niet zo. Daar loopt Mario, tot hij dood gaat of vastloopt. Dat levert een score op, dan worden er varianten met de hoogste scores opnieuw geprobeerd. Om een level uit te spelen kan dagen of weken duren. En dan wordt er nog niet eens gekeken naar oppakken van coins of extra levens etc.
Ben benieuwd naar de Sonic AI.
Dat valt onder de tak genetic algorithms: een subtak van machine learning.
Dit is letterlijk 'machine learning': leren door te doen.

Hoe dommer het systeem (hoe minder voorkennis) hoe langer het leren zal duren maar ook hoe flexibeler. In principe kan je dit toepassen op elke game mits je maar een goede belongingsfunctie hebt.
Bouw je voorkennis in dan zal het sneller gaan maar kan je het enkel toepassen daar waar die voorkennis relevant is + je vernietigt mogelijk interessante evolutietakken (bvb het glitchen door de muur).

[Reactie gewijzigd door varkenspester op 12 april 2018 10:11]

Brute force is imho een onderdeel van intelligentie, zeker in de jongere jaren van de mens.

Dit spreekwoord bestaat niet voor niks: "Een ezel stoot zich geen tweemaal aan dezelfde steen"
"Een ezel stoot zich in het algemeen geen tweemaal aan dezelfde steen" - het moet immers wel blijven rijmen ;)

En brute force in de jonge mens? Als je verhoogde neuroplasticiteit (lees: heel veel verbindingen hebben, waar in hoog tempo heel veel verbindingen juist verbroken worden, use-it-or-lose-it) brute force zou willen noemen, maar ik vind het een rare analogie. Het is wel verhoogde activiteit, maar zeker niet zo willekeurig als brute force wel is per definitie.

Een betere analogie zou zijn van het leggen van een puzzel, waarbij je begint met een puzzel die al in elkaar ligt, maar waarbij bijna alle stukje nog op de verkeerde plek liggen. Vervolgens gaat het brein de stukjes/verbindingen die absoluut niet in de buurt komen van waar ze nodig zijn verwijderen. Het gaat in jonge brein dus voornamelijk om het verwijderen van verbindingen. Later komt daar het versterken van bestaande verbindingen daarbij.

Ook interessant nature artikel uit maart 2018:
"The researchers also found that weak synapses, which comprise the majority of our brain and were previously assumed to be insignificant, actually play an important role in the dynamics of our brain."
Wat versta jij onder intelligentie?
Ik denk dat je een wat SF idee hebt van wat AI is.
AI is niet meer of niet minder dan een programma dat in staat is zichzelf aan te passen onder invloed van stimuli uit zijn omgeving.
AI is per definitie dom, hoe dommer hoe liever: hoe minder voorkennis hoe genierieker de AI zal werken. 'Leren' is de essentie van AI. Zonder leren heb je geen AI.

Dit is een basisvorm van genetic algorithms, een tak in de machine learning (in de 'AI' dus) die leren stimuleert dmv beloningen.
En ja AI is inderdaad niet meer dan slimme trial and error. Elke vorm van AI is gebaseerd op leren. De uitdaging bestaat er in een goed leerproces te maken dat flexibel én snel is en tot goede resultaten leidt.


PS: je kan het ruimer stellen en zeggen dat intelligentie algemeen niet meer is dan slimme trial and error. Intelligentie is het vermogen om te leren en is iets helemaal anders dan kennis.

[Reactie gewijzigd door varkenspester op 12 april 2018 10:15]

In de aankondiging vermeldt OpenAI nog dat agents in games soms exploits vinden in games, afhankelijk van hoe de beloningsfunctie is ingesteld.
Wat een leuke maar natuurlijk logische bijkomstigheid. De agent heeft natuurlijk geen idee of hij wel of niet aan het glitchen is, die ziet gewoon een mogelijkheid om binnen de omgeving (de levels en de bijbehorende physics, inclusief glitches) een hoge score te halen :)
Gaaf!

Zou alleen niet weten waar te beginnen.
Ik keek laatst een filmpje over MarI/O waar ze uitlegde hoe dit in de basis werkt, interessant!
zie:
https://www.youtube.com/watch?v=qv6UVOQ0F44
Rondkijkend op de site lijkt het niet als of er iets te winnen is in deze competitie. Het is een leuk idee maar iemand moet zich wel zeer gemotiveerd voelen.
Persoonlijke ontwikkeling en hobby is voor velen vaak al genoeg motivatie. Daarnaast zal een enkele deelnemer willen winnen omdat het goed op hun CV staat.
Deelnemers moeten schijnbaar wel de betreffende games(collectie) via Steam aangekocht hebben. De prijs valt geloof ik nog wel nog mee. Los van dat het ook gewoon vermakelijke games zijn. ;)

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee