Nieuw AI-model kan ‘Super Mario Bros.’ simuleren Na het bekijken van de spelbeelden

Vorige maand, Google Het GameNGen AI-model liet zien dat gegeneraliseerde beeldverspreidingstechnieken kunnen worden gebruikt om een ​​redelijk speelbare versie te genereren Noodlot. Nu gebruiken onderzoekers een aantal vergelijkbare technieken met een model genaamd MarioVGG om te zien of AI overtuigende video kan genereren Super Mario Bros. als reactie op gebruikersinvoer.

De resultaten van het MarioVGG-model – beschikbaar als preprint-paper gepubliceerd door het crypto-aangrenzende AI-bedrijf Virtuals Protocol – vertonen nog steeds veel flagrante fouten, en het is te traag voor iets dat ook maar in de buurt komt van real-time gameplay. Maar de resultaten laten zien hoe zelfs een beperkt model een indrukwekkende fysica en gameplay-dynamiek kan afleiden door alleen maar een beetje video- en invoergegevens te bestuderen.

De onderzoekers hopen dat dit de eerste stap is in de richting van “het produceren en demonstreren van een betrouwbare, bestuurbare videogamegenerator” of misschien zelfs “het vervangen van game-ontwikkeling en game-engines die volledig gebruik maken van videogeneratiemodellen” in de toekomst.

737.000 frames van Mario bekijken

Om hun model te trainen, zijn onderzoekers MarioVGG (GitHub-gebruikers Erniechew en Brian Lim vermeld als bijdragers) begonnen met een openbare dataset van Super Mario Bros. gameplay met 280 ‘niveaus’ aan invoer- en afbeeldingsgegevens die zijn bewerkt voor machine learning-doeleinden (niveau 1-1 is verwijderd uit de trainingsgegevens zodat afbeeldingen ervan bij evaluatie konden worden gebruikt). Meer dan 737.000 individuele frames in die dataset werden “voorverwerkt” in brokken van 35 frames, zodat het model kon beginnen te leren hoe de onmiddellijke resultaten van de verschillende inputs er in het algemeen uitzagen.

Om ‘de spelsituatie te vereenvoudigen’ besloten de onderzoekers zich te concentreren op slechts twee mogelijke inputs in de dataset: ‘ren naar rechts’ en ‘ren naar rechts en spring’. Zelfs deze beperkte reeks bewegingen leverde enkele problemen op voor het machine learning-systeem, omdat de preprocessor vóór de sprong een aantal frames terug moest kijken om te detecteren of en wanneer de “run” was begonnen. Elke sprong die aanpassingen in de lucht met zich meebracht (dwz de “linker” knop) moest ook worden geschrapt omdat “dit ruis in de trainingsdataset zou introduceren”, schrijven de onderzoekers.

Na voorbewerking (en ongeveer 48 uur training op een enkele RTX 4090 grafische kaart) gebruikten de onderzoekers een standaard convolutie- en ruisonderdrukkingsproces om nieuwe videoframes te genereren uit het statische splash-beeld en de tekstinvoer van de game (of ‘run’ of ‘jump’). “in dit beperkte geval). Hoewel deze gegenereerde reeksen slechts een paar frames duren, kan het laatste frame van een reeks worden gebruikt als het eerste in een nieuwe reeks, waardoor video’s van elke lengte kunnen worden gemaakt die nog steeds “coherente en consistente gameplay” laten zien, aldus de onderzoekers.

Super Mario 0.5

Zelfs met al deze aanpassingen genereert MarioVGG niet bepaald zijdezachte video die niet te onderscheiden is van een echte NES-game. Voor efficiëntie hebben de onderzoekers de uitvoerframes verkleind van de resolutie van 256×240 van de NES naar een veel duisterder 64×48. Ze condenseren ook de videotijd van 35 frames in slechts zeven gegenereerde frames die “met gelijke intervallen” zijn verdeeld, waardoor een “gameplay” -video ontstaat die er veel ruwer uitziet dan de daadwerkelijke game-uitvoer.

Ondanks deze beperkingen heeft het MarioVGG-model op dit moment nog steeds moeite om real-time videogeneratie te benaderen. Eén RTX 4090 die door de onderzoekers werd gebruikt, had zes volle seconden nodig om een ​​videoreeks van zes frames te genereren, wat iets meer dan een halve seconde video is, zelfs bij de extreem beperkte framesnelheid. De onderzoekers geven toe dat dit “niet praktisch en geschikt is voor interactieve videogames”, maar hopen dat toekomstige optimalisaties in de kwantisering van moeilijkheidsgraden (en misschien het gebruik van meer computerbronnen) dit percentage zouden kunnen verbeteren.

Met deze beperkingen in gedachten kan MarioVGG echter een behoorlijk geloofwaardige video maken van Mario die rent en springt uit een statisch splash-beeld, vergelijkbaar met Google’s Genie-gamemaker. Het model was zelfs in staat om “de spelfysica uitsluitend te leren van videoframes in de trainingsgegevens zonder expliciete hardgecodeerde regels”, schrijven de onderzoekers. Deze omvatten het afleiden van gedrag zoals Mario die valt als hij van de rand van een klif rent (met plausibele zwaartekracht) en (meestal) het stoppen van Mario’s voorwaartse beweging wanneer hij in de buurt van een obstakel is, schrijven de onderzoekers.

Terwijl MarioVGG zich concentreerde op het simuleren van Mario’s bewegingen, ontdekten de onderzoekers dat het systeem effectief nieuwe obstakels voor Mario kon hallucineren terwijl de video door een denkbeeldig niveau beweegt. Deze obstakels zijn “samenhangend met de grafische taal van het spel”, schrijven de onderzoekers, maar kunnen momenteel niet worden beïnvloed door vragen van gebruikers (zet bijvoorbeeld een kuil voor Mario en laat hem eroverheen springen).

Verzin het maar

Maar net als alle probabilistische AI-modellen heeft MarioVGG de frustrerende neiging om soms volledig nutteloze resultaten te produceren. Soms betekent dit dat je de invoerprompts van gebruikers gewoon negeert (“we merken dat de tekst van de invoeractie niet altijd wordt gerespecteerd”, schrijven de onderzoekers). In andere gevallen betekent het hallucineren van voor de hand liggende visuele storingen: Mario landt soms in obstakels, rent door obstakels en vijanden, flitst in verschillende kleuren, krimpt/groeit van frame naar frame, of verdwijnt volledig gedurende meerdere frames voordat hij weer verschijnt.

Een bijzonder absurde video die door de onderzoekers werd gedeeld, laat zien dat Mario door een brug valt, Cheep-Cheep wordt, vervolgens terug door de bruggen vliegt en weer in Mario verandert. Dit is wat we zouden verwachten van de wonderbloem, niet van de AI-video van het origineel Super Mario Bros.

De onderzoekers veronderstellen dat langere training op “meer gevarieerde spelgegevens” zou kunnen helpen bij deze belangrijke problemen en hun model zou kunnen helpen meer te simuleren dan alleen maar rennen en onverbiddelijk naar rechts springen. Toch is MarioVGG een leuke proof of concept dat zelfs beperkte trainingsgegevens en algoritmen een aantal fatsoenlijke initiële modellen van kerngames kunnen creëren.

Dit verhaal verscheen oorspronkelijk op Ars Technica.