Videogames blijven een uitdaging voor miljarden spelers over de hele wereld. Je weet het misschien nog niet, maar algoritmen voor machinaal leren beginnen ook de uitdaging aan te gaan.
Er is momenteel een aanzienlijke hoeveelheid onderzoek op het gebied van AI om te zien of methoden voor machine learning kunnen worden toegepast op videogames. Aanzienlijke vooruitgang op dit gebied toont aan dat: machine learning agenten kunnen worden gebruikt om de menselijke speler te emuleren of zelfs te vervangen.
Wat betekent dit voor de toekomst van video games?
Zijn deze projecten gewoon voor de lol, of zijn er diepere redenen waarom zoveel onderzoekers zich op games concentreren?
Dit artikel gaat kort in op de geschiedenis van AI in videogames. Daarna geven we je een kort overzicht van enkele machine learning-technieken die we kunnen gebruiken om te leren hoe je games kunt verslaan. We zullen dan kijken naar enkele succesvolle toepassingen van neurale netwerken om specifieke videogames te leren en te beheersen.
Korte geschiedenis van AI in gaming
Voordat we ingaan op waarom neurale netwerken het ideale algoritme zijn geworden om videogames op te lossen, laten we kort kijken naar hoe computerwetenschappers videogames hebben gebruikt om hun onderzoek naar AI vooruit te helpen.
Je kunt stellen dat videogames vanaf het begin een populair onderzoeksgebied zijn geweest voor onderzoekers die geïnteresseerd zijn in AI.
Hoewel het in oorsprong niet strikt een videogame is, was schaken een groot aandachtspunt in de begindagen van AI. In 1951 schreef Dr. Dietrich Prinz een schaakprogramma met behulp van de Ferranti Mark 1 digitale computer. Dit was lang geleden in het tijdperk waarin deze omvangrijke computers programma's van papieren tape moesten lezen.
Het programma zelf was geen complete schaak-AI. Vanwege de beperkingen van de computer kon Prinz alleen een programma maken dat mat-in-two-schaakproblemen oploste. Gemiddeld duurde het programma 15-20 minuten om elke mogelijke zet voor de wit- en zwartspelers te berekenen.
Werken aan het verbeteren van schaken en dammen AI is de afgelopen decennia gestaag verbeterd. De vooruitgang bereikte zijn hoogtepunt in 1997 toen IBM's Deep Blue de Russische schaakgrootmeester Garry Kasparov versloeg in een paar wedstrijden van zes wedstrijden. Tegenwoordig kunnen schaakengines die je op je mobiele telefoon vindt, Deep Blue verslaan.
AI-tegenstanders begonnen aan populariteit te winnen tijdens de gouden eeuw van video-arcadegames. Space Invaders uit 1978 en Pac-Man uit de jaren 1980 zijn enkele van de pioniers in de industrie in het creëren van AI die zelfs de meest ervaren arcade-gamers voldoende kan uitdagen.
Vooral Pac-Man was een populair spel voor AI-onderzoekers om mee te experimenteren. Verscheidene wedstrijden voor mevrouw Pac-Man zijn georganiseerd om te bepalen welk team de beste AI kan bedenken om het spel te verslaan.
Game AI en heuristische algoritmen bleven evolueren naarmate de behoefte aan slimmere tegenstanders ontstond. Zo steeg gevechts-AI in populariteit toen genres zoals first-person shooters meer mainstream werden.
Machine learning in videogames
Omdat machine learning-technieken snel in populariteit toenamen, probeerden verschillende onderzoeksprojecten deze nieuwe technieken te gebruiken om videogames te spelen.
Games zoals Dota 2, StarCraft en Doom kunnen hiervoor problemen opleveren algoritmen voor machine learning oplossen. Algoritmen voor diep leren, in het bijzonder, waren in staat om prestaties op menselijk niveau te bereiken en zelfs te overtreffen.
De Arcade leeromgeving of ALE gaf onderzoekers een interface voor meer dan honderd Atari 2600-games. Dankzij het open-sourceplatform konden onderzoekers de prestaties van machine learning-technieken op klassieke Atari-videogames benchmarken. Google heeft zelfs hun eigen gepubliceerd papier met behulp van zeven spellen uit de ALE
Ondertussen, projecten zoals VizDoom gaf AI-onderzoekers de mogelijkheid om machine learning-algoritmen te trainen om 3D first-person shooters te spelen.
Hoe werkt het: enkele kernbegrippen
Neurale netwerken
De meeste benaderingen voor het oplossen van videogames met machine learning hebben betrekking op een type algoritme dat bekend staat als een neuraal netwerk.
Je kunt een neuraal net zien als een programma dat probeert na te bootsen hoe een brein zou kunnen functioneren. Net zoals onze hersenen zijn samengesteld uit neuronen die een signaal doorgeven, bevat een neuraal net ook kunstmatige neuronen.
Deze kunstmatige neuronen dragen ook signalen aan elkaar over, waarbij elk signaal een echt aantal is. Een neuraal netwerk bevat meerdere lagen tussen de invoer- en uitvoerlagen, een diep neuraal netwerk genoemd.
Versterking leren
Een andere veelgebruikte techniek voor machinaal leren die relevant is voor het leren van videogames, is het idee van versterkend leren.
Deze techniek is het proces van het trainen van een agent met behulp van beloningen of straffen. Met deze aanpak moet de agent in staat zijn om met vallen en opstaan een oplossing voor een probleem te bedenken.
Laten we zeggen dat we een AI willen om erachter te komen hoe het spel Snake moet worden gespeeld. Het doel van het spel is simpel: haal zoveel mogelijk punten door items te consumeren en je groeiende staart te ontwijken.
Met versterkingsleren kunnen we een beloningsfunctie R definiëren. De functie voegt punten toe wanneer een slang een item consumeert en trekt punten af wanneer de slang een obstakel raakt. Gezien de huidige omgeving en een reeks mogelijke acties, zal ons leermodel voor versterking proberen het optimale 'beleid' te berekenen dat onze beloningsfunctie maximaliseert.
Neuro-evolutie
In overeenstemming met het geïnspireerd zijn door de natuur, hebben onderzoekers ook succes gevonden bij het toepassen van ML op videogames via een techniek die bekend staat als neuro-evolutie.
In plaats van gebruiken gradiënt afdaling om neuronen in een netwerk bij te werken, kunnen we evolutionaire algoritmen gebruiken om betere resultaten te bereiken.
Evolutionaire algoritmen beginnen meestal met het genereren van een initiële populatie van willekeurige individuen. Vervolgens evalueren we deze personen aan de hand van bepaalde criteria. De beste individuen worden gekozen als "ouders" en worden samen gefokt om een nieuwe generatie individuen te vormen. Deze individuen zullen dan de minst fitte individuen in de populatie vervangen.
Deze algoritmen introduceren doorgaans ook een of andere vorm van mutatie tijdens de cross-over of "fok" -stap om genetische diversiteit te behouden.
Voorbeeldonderzoek naar machinaal leren in videogames
OpenAI Vijf
OpenAI Vijf is een computerprogramma van OpenAI dat gericht is op het spelen van DOTA 2, een populair multiplayer-spel voor mobiele gevechtsarena's (MOBA).
Het programma maakte gebruik van bestaande leertechnieken voor versterking, geschaald om te leren van miljoenen frames per seconde. Dankzij een gedistribueerd trainingssysteem kon OpenAI elke dag 180 jaar aan games spelen.
Na de trainingsperiode was OpenAI Five in staat om prestaties op expertniveau te bereiken en samenwerking met menselijke spelers te demonstreren. In 2019 was OpenAI five in staat om: verslaan 99.4% van de spelers in openbare wedstrijden.
Waarom heeft OpenAI voor deze game gekozen? Volgens de onderzoekers had DOTA 2 complexe mechanica die buiten het bereik van de bestaande diepte lagen versterking van leren algoritmen.
Super Mario Bros
Een andere interessante toepassing van neurale netwerken in videogames is het gebruik van neuro-evolutie om platformgames zoals Super Mario Bros.
Bijvoorbeeld dit toegang tot hackathon begint met geen kennis van het spel en bouwt langzaam een basis op van wat nodig is om door een level te komen.
Het zichzelf ontwikkelende neurale net neemt de huidige staat van het spel over als een raster van tegels. In het begin heeft het neurale net geen idee van wat elke tegel betekent, alleen dat de 'lucht'-tegels anders zijn dan 'grondtegels' en 'vijandtegels'.
De implementatie van een neuro-evolutie door het hackathon-project gebruikte het genetische NEAT-algoritme om selectief verschillende neurale netten te kweken.
Belang
Nu je enkele voorbeelden hebt gezien van neurale netwerken die videogames spelen, vraag je je misschien af wat het nut van dit alles is.
Aangezien videogames complexe interacties tussen agenten en hun omgevingen met zich meebrengen, is dit de perfecte proeftuin voor het maken van AI. Virtuele omgevingen zijn veilig en controleerbaar en zorgen voor een oneindige hoeveelheid data.
Onderzoek op dit gebied heeft onderzoekers inzicht gegeven in hoe neurale netten kunnen worden geoptimaliseerd om te leren hoe problemen in de echte wereld kunnen worden opgelost.
Neurale netwerken zijn geïnspireerd door hoe hersenen werken in de natuurlijke wereld. Door te bestuderen hoe kunstmatige neuronen zich gedragen bij het leren spelen van een videogame, kunnen we ook inzicht krijgen in hoe de menselijk brein werkt.
Conclusie
Overeenkomsten tussen neurale netwerken en de hersenen hebben geleid tot inzichten op beide terreinen. Het voortdurende onderzoek naar hoe neurale netwerken problemen kunnen oplossen, kan ooit leiden tot meer geavanceerde vormen van kunstmatige intelligentie.
Stelt u zich eens voor dat u een AI gebruikt die is afgestemd op uw specificaties en die een hele videogame kan spelen voordat u deze aanschaft, om u te laten weten of het uw tijd waard is. Zouden videogamebedrijven neurale netwerken gebruiken om het game-ontwerp, het tweak-niveau en de moeilijkheidsgraad van de tegenstander te verbeteren?
Wat denk je dat er zal gebeuren als neurale netwerken de ultieme gamers worden?
Laat een reactie achter