Hoe hybride gaming AI is opgebouwd en wat de voordelen zijn.

In vervolg op het onderwerp dat eerder in onze blog is besproken van videojuiste kunstmatige intelligentie spreken we over de toepasbaarheid van machine learning in dit geval en in welke vorm. Onze ervaring en de op basis daarvan genomen beslissingen deelde Jacob Rasmussen, een expert op het gebied van AI bij Apex Game Tools.

Hoe hybride gaming AI is opgebouwd en wat de voordelen zijn.

De laatste jaren wordt er veel gesproken over hoe machine learning de game-industrie fundamenteel zal veranderen, aangezien deze technologie al baanbrekend is gebleken in veel andere digitale toepassingen. Maar we moeten niet vergeten dat games veel complexer zijn dan een autosimulatie, een dronebedieningsprogramma of algoritmen voor gezichtsherkenning op een afbeelding.

In de game-industrie worden nog steeds traditionele AI-methoden gebruikt, zoals eindige automaten, gedrag bomen en – steeds vaker – Utility-based AI (systemen die gebaseerd zijn op nut). Deze AI wordt ook wel design-based (kunstmatige design-intelligentie) of expert systemen genoemd. Maar het wordt steeds duidelijker – en vooral voor spelers – dat deze systemen steeds minder geschikt zijn voor het creĆ«ren van echt geavanceerde tegenstanders die het gedrag van spelers kunnen imiteren. Dit geldt vooral voor creatieve oplossingen. Dit kan worden verklaard door het feit dat ontwikkelaars van kunstmatige intelligentie niet in staat zijn om alle mogelijke tactieken en strategieĆ«n voor gedrag in aanmerking te nemen en deze succesvol uit te voeren in traditionele AI-systemen. Voor spelers resulteert dit vaak in verveling en voorspelbaarheid tijdens het spelen tegen een tegenstander wiens gedragspatroon gemakkelijk is te onthouden.

Dit resultaat komt voort uit verschillende oorzaken, maar een van de belangrijkste is het onvermogen van AI om te leren. Daarom komt het vanzelfsprekend naar voren om bij het creĆ«ren van een tegenstander-AI over te schakelen naar machine learning, dat zich in veel andere toepassingen uitstekend heeft bewezen. Maar er zijn verschillende nuances waar rekening mee moet worden gehouden. Zo moet game-AI zich kunnen aanpassen aan elke situatie en de voordelen die deze biedt benutten, en zich ook aanpassen aan de verschillende speelstijlen van tegenstanders – levende spelers en andere AI.

Hoe staat het er nu mee?

Het Britse bedrijf DeepMind, dat zich bezighoudt met de ontwikkeling van kunstmatige intelligentie, heeft onlangs aangetoond hoe AI zelfstandig kan leren om games te spelen, de regels ervan te begrijpen en manieren te vinden om het spel te doorlopen of te winnen — hoewel dit tot nu toe alleen is gedemonstreerd met eenvoudige spellen, zoals vroege games Atari — zoals schaken en het Japanse bordspel go. De resultaten die hiervoor zijn behaald, tonen aan dat kunstmatige intelligentie in staat is om een passende beoordeling te vormen van de gebeurtenissen op het speelveld. Wat betreft de aanpassing van AI aan verschillende speelstijlen van de tegenstander, zijn de resultaten tot nu toe minder indrukwekkend.

Tegenwoordig zijn neurale netwerken al in staat om afbeeldingen te herkennen en zelf te rijden. Maar deze functies kunnen ook worden gerealiseerd met relatief eenvoudige architecturen, zelfs als ze uiteindelijk vrij diep en omvangrijk blijken te zijn. Zo heeft AI voor afbeeldingsherkenning op Facebook een diepte van ongeveer 100 lagen, wat het doet denken aan een biologisch brein — gezien het aantal en de complexiteit van de verbindingen tussen neuronen die samen een groot netwerk vormen.

Game-AI

Wat betreft de toepassing van machine learning in de game-industrie zijn er verschillende beperkingen die het niet altijd mogelijk maken om dit type architectuur te gebruiken. Deze omvatten systeemvereisten, in het bijzonder met betrekking tot de CPU, die de mogelijkheden van de computer bepalen voor de verwerking van complexe game-structuren en de geschiktheid voor gameverhaallijnen en gameplay.

Het blijkt dat veel spellen niet over de vereiste hardware en zelfs niet over een cluster van servers beschikken om een geavanceerd systeem voor kunstmatige intelligentie te implementeren, zoals bijvoorbeeld bij netwerken voor beeldherkenning op Facebook. Soms moeten er zelfs meerdere AI-systemen tegelijk functioneren — niet alleen op computers, maar ook op mobiele apparaten en andere minder krachtige platforms. Dit legt beperkingen op aan de omvang en complexiteit van de architectuur voor machine learning, aangezien alle berekeningen binnen een frame van ongeveer 1 of 2 milliseconden moeten plaatsvinden. Natuurlijk kunnen verschillende optimalisatietechnologieĆ«n en belastingverdeling tussen frames worden toegepast, maar het is nog steeds niet mogelijk om deze beperkingen volledig te omzeilen.

De complexiteit van een spel kan ernstige problemen voor AI veroorzaken. In spellen zoals StarCraft II is de spelmechaniek veel complexer dan in Atari-spellen. Daarom moet je niet verwachten dat machine learning bij een bepaalde framefrequentie en bekende systeemeisen in staat is om de hele staat van het spel te begrijpen en ermee te interageren. Net zoals een speler vaak op zijn intuïtie vertrouwt in de vroege fases van het spel, moet de AI leren om de initiële staat van het spel te verwerken om de voortgang gemakkelijker te maken. Bijvoorbeeld, in een van de laatste API voor Starcraft II op de kaarten wordt alleen die informatie weergegeven die de ontwikkelaars belangrijk achten: in één geval gebruikte de AI een verkleinde versie van het hele kaartgebied, in een ander geval kon hij net als de speler de camera bewegen, en was zijn waarneming beperkt tot de informatie op het scherm.

Hoe hybride gaming AI is opgebouwd en wat de voordelen zijn.
Visualisatie van het spel AI AlphaStar tegen een speler in StarCraft II: de screenshot toont de 'ruwe' oorspronkelijke observaties, activiteit van het neurale netwerk, enkele van zijn mogelijke acties en coƶrdinaten, evenals de verwachte uitkomst van de wedstrijd.

Dit is een bijzonder relevant aspect in het geval van games. Vaak zijn de gangbare methoden voor het oplossen van problemen met machine learning niet toepasbaar op game-intelligentie. Bijvoorbeeld, het hoeft niet te winnen of alles te doen wat nodig is om te winnen, zoals het geval was bij de Atari-games. Vaak is de rol van AI om de spelervaring spannender te maken. Het kan nodig zijn om de rol te spelen en zich te gedragen zoals het karakter waarvoor het verantwoordelijk is. Zo is game-AI meer verbonden met game design en storytelling en moet het de juiste tools hebben om zijn gedrag te beheren om de gestelde doelen te bereiken. Pure machine learning is niet altijd geschikt — dat betekent dat er naar andere oplossingen moet worden gezocht.

Praktische problemen met machine learning

Deze problemen deden zich voor bij de ontwikkeling van AI op basis van machine learning voor Unleash, waar AI zich moet gedragen als normale spelers — dat wil zeggen, even flexibel en vindingrijk zijn.

Net als Starcraft II is Unleashed veel complexer dan schaken en go voor Atari. De gameplay is intuĆÆtief en gemakkelijk te leren, maar om er echt in uit te blinken zijn bepaalde vaardigheden in het beheren van de meta vereist. De speler moet doolhoven bouwen, monsters op vijanden afsturen en zijn strategie voor economie, aanval en verdediging van gebouwen gedurende het spel doordenken. Hiervoor moet hij bluffen en de zetten van anderen vooruit berekenen, evenals de mentale meta beheren — dat is wat poker meer maakt dan alleen een statistisch spel.

Hoe hybride gaming AI is opgebouwd en wat de voordelen zijn.
Screenshot van Unleashed

Bij het zoeken naar de meest geschikte architectuur voor deze doeleinden, werden eerst technologieën zoals neuro-evolutie en diepe training in het spel in praktisch onveranderde vorm geïmplementeerd, en getest hoe ze presteerden in hun ruwe vorm als tegenstander AI.

Het was verschrikkelijk.

Het werd al snel duidelijk dat er veel wereldwijde problemen in Unleashed moesten worden opgelost, voor welke machine learning moeilijk aan te passen was.

Een van de doelen is het bouwen van een efficiƫnt doolhof. Net als in veel tower defense games, moeten spelers hier een doolhof rondom de toren opzetten waar monsters doorheen zullen breken. Deze moeten vervolgens worden geƫlimineerd met behulp van wapens die in het doolhof zijn geplaatst. Idealiter moet het doolhof zo lang mogelijk zijn, zodat er voldoende schade aan de monsters kan worden toegebracht voordat ze de toren bereiken. Voor sommige soorten wapens zijn monsters kwetsbaarder dan voor andere, dus om effectiever te zijn, is het verstandig om deze eerder in het doolhof te plaatsen dan de andere wapens. Een kenmerk van Unleash is dat er geen ideaal doolhof bestaat: er zijn zoveel verschillende soorten monsters in het spel dat er altijd wel iemand door een deel van het doolhof zal kunnen komen. Elk doolhof moet worden aangepast aan nieuwe monsters die door andere spelers worden vrijgegeven. Daarom was het niet alleen nodig om de kunstmatige intelligentie te leren doolhoven te bouwen, maar ook om het te leren effectieve doolhoven te creƫren voor verschillende scenario's, die zowel in de vroege als in de latere versie van het spel kunnen optreden.

Daarnaast moest de AI leren te berekenen welke monsters er in het doolhof zullen verschijnen. Dit is een soort omgekeerd probleem in vergelijking met het bouwen van een doolhof. Net als in veel andere spellen is het in Unleash niet genoeg om simpelweg een leger op te bouwen en deze het vijandige kamp binnen te sturen: het is ook noodzakelijk om de vijandelijke verdediging te bespioneren en het leger zo te structureren dat het zo effectief mogelijk de zwakke plekken van de tegenstander aanvalt. Het leger van monsters moet zo met elkaar omgaan dat ze het doolhof het meest succesvol kunnen doorkruisen. Soms is het ook nodig om monsters in een bepaalde volgorde te laten vrijlaten, afhankelijk van hun functies en rollen. Dit vergroot ook het aantal verschillende combinaties.

Ten slotte, aangezien de speler zowel labyrinten moet creƫren als een leger van monsters moet verzamelen, moet de AI ook leren een balans te vinden tussen aanvallen en verdedigen. Het is ook belangrijk om te overwegen dat hoe meer de speler zijn leger van monsters vergroot en hoe meer hij het labyrint bouwt, des te meer middelen hij hiervoor nodig heeft. Daarom is de juiste aanvallende strategie cruciaal voor zowel de economie in het spel als voor de overwinning. En om de competitiviteit te waarborgen, moet de AI in staat zijn om middelen zo in te zetten dat er een krachtig leger van monsters wordt gecreƫerd, zonder de kracht van het labyrint in gevaar te brengen. Maximaal investeren in monsters kan economisch voordelig zijn, maar brengt het risico met zich mee dat het labyrint wordt ingenomen door de monsters van de tegenstander. Aan de andere kant, als men zich richt op het versterken van de verdediging van het labyrint, kan dit de economie verzwakken. Geen van deze scenario's zal leiden tot overwinning. Zo blijkt het probleem van optimalisatie in Unleashed omvangrijker te zijn dan in het geval van schaken of Starcraft, en omvat het de noodzaak om iets op te geven en de winst meer stappen vooruit te berekenen.

Naarmate de kunstmatige intelligentie leert, komen er veel eerder niet overwogen problemen naar voren. In het begin bereikte de AI vaak een bepaald niveau van ontwikkeling, waarop hij enkele aspecten van het spel begon te begrijpen — bijvoorbeeld, welk wapen in het labyrint effectief is tegen specifieke soorten monsters of welke monsters het beste bepaalde delen van het labyrint kunnen doorlopen. Maar het leren ging traag en leidde tot het ontwikkelen van eentonige strategieĆ«n.

De noodzaak van parallelle benaderingen

Terwijl de training van AI, gebaseerd op machine learning, langzaam en niet bijzonder succesvol verliep, werd er behoefte gevoeld aan betere AI en betrouwbaardere concurrerende AI voor andere test- en ontwikkelingsfasen. Voor hun implementatie werd de Utility-architectuur gebruikt, waarmee speciale AI's konden worden gemaakt voor het testen en waarborgen van de spelkwaliteit, in-game testen en balanceren van wapens en monsters, en het creƫren van specifieke doolhoven en monsters. Tijdens de ontwikkeling van Unleash verfijnden de makers hun vaardigheden in het doorlopen ervan, en besloten ze vervolgens de opgedane kennis te gebruiken om een geavanceerdere Utility AI te creƫren. Het werd duidelijk dat veel problemen die zich in AI-systemen op basis van machine learning voordoen, gemakkelijk konden worden opgelost met behulp van Utility-systemen die de ingebouwde kennis benutten, en vice versa.

Bijvoorbeeld, effectievere doolhoven kunnen beter worden gebouwd met behulp van Utility AI, die zijn gebaseerd op kennissystemen, opgesteld op basis van de resultaten van interne tests. Het is gemakkelijk om een algoritme te beschrijven en te programmeren voor het bouwen van een doolhof en de plaatsing van wapens daarin op zo'n manier dat het eenvoudiger zou zijn voor een levende speler om de toren tegen specifieke monsters te verdedigen. Het creƫren van een legermonsters op basis van kennis over de tegenstander bleek echter een complexe taak voor dergelijke AI's, omdat het aantal verschillende voorwaarden en combinaties dat in overweging moest worden genomen, overweldigend was. Met deze soort architectuur zou het zoeken naar geschikte monster-sets eindeloos lang duren. Onder de gegeven beperkingen zou diep leren de ideale oplossing voor deze taak zijn.

Het creƫren van hybride AI

Dus, er werd besloten om twee benaderingen te combineren en op die manier een hybride systeem van kunstmatige intelligentie te creƫren, gebaseerd op machine learning en Utility. Het idee was dat, waar het nodig was om een enorme hoeveelheid combinaties en speltoestanden te verwerken, of waar het vereist was om het iets te leren, machine learning werd gebruikt. Voor andere taken, waar het beter was om te leunen op de persoonlijke ervaring van de ontwikkelaars, werden Utility-systemen ingezet. Het voordeel van deze aanpak is ook dat het mogelijk is om het gedrag van de AI beter te controleren, zodat het nauwkeuriger de gestelde doelen volgt. Bijvoorbeeld, Utility AI kan worden gebruikt om een balans te waarborgen tussen aanvallen en verdediging en zo verschillende niveaus van agressie te creƫren, of verschillende configuraties van labyrinten voor verschillende AI's te maken, zodat ze individuele speelstijlen vormen. Er kunnen ook bepaalde waardesystemen aan neurale netwerken worden toegewezen om verschillende voorkeuren te vormen bij het kiezen van lucht- of grondmonsters, en zo ook een bepaalde persoonlijkheid aan individuele AI's toe te voegen. Er zijn nog veel andere opties voor het implementeren van projectoplossingen, en al deze onderstrepen de sterke punten van elk type AI-architectuur.

De hybride aanpak was ook een antwoord op een andere vraag die zich voordeed voor het ontwikkelingsteam tijdens het ontwikkelen van kunstmatige intelligentie voor Unleash: moet er een enkele globale diepe neurale netwerk gebaseerd op machine learning worden toegepast om alle invoer- en uitvoergegevens in overweging te nemen, of is het beter om AI te ontwerpen met een hiƫrarchische structuur?

Hoe hybride gaming AI is opgebouwd en wat de voordelen zijn.
Twee architecturen die in Unleash zijn gebruikt: links — een groot diep neurale netwerk met een enkele eigen architectuur, rechts — een hiĆ«rarchisch systeem, waarbij elke netwerk zijn eigen taak heeft.

Toch zou het mooi zijn om een gemeenschappelijke benadering van het systeem voor kunstmatige intelligentie te creƫren, waarin ontwikkelaars hun eigen ervaringen niet zouden integreren. Echter, naarmate er meer ingangen in het spel werden gerealiseerd, groeide het neurale netwerk steeds verder. Daarbij kon de training van de AI niet worden gescheiden: ofwel training voor verdediging, ofwel voor aanvallen. Er waren bezorgdheden dat een algemenere benadering zou leiden tot een aanzienlijke toename van de rekenkracht.

Hieruit kwam het idee voort om een hiƫrarchische architectuur te creƫren, waarbij elke specifieke taak door een gespecialiseerde neuronale netwerken zou worden uitgevoerd. Volgens dit idee moet de kunstmatige intelligentie eerst beslissen over de verdeling van middelen voor aanvallen (het vergroten van het leger van monsters) en verdediging (het bouwen van een doolhof). Zodra dat is gedaan, gaat hij naar de volgende laag in overeenstemming met zijn keuze en krijgt hij toegang tot het benodigde deel van de speltoestand, waarna hij gedetailleerde beslissingen neemt over welke monsters te kiezen en welk wapen in het doolhof te installeren.

Conclusie en volgende stappen

Bij een hybride benadering doet Utility AI, met daarin opgenomen machine learning netwerken, denken aan een hiƫrarchische architectuur. En deze doet op haar beurt denken aan de biologische hersenen, waar verschillende zenuwcentra elk verantwoordelijk zijn voor hun eigen taken.

Tegenwoordig is het erg moeilijk om de vijandelijke AI in Unleash te verslaan: ze kunnen zich aanpassen aan elke situatie in het spel, maar ontwikkelaars kunnen hun instellingen naar wens aanpassen. Volgens de auteur van het artikel moet de hybride benadering in de loop van de tijd breder verspreid raken en in veel andere spellen verschijnen. Misschien zal het ooit mogelijk zijn om kunstmatige intelligentie op basis van machine learning op een zuivere manier in het spel te implementeren. Maar het is duidelijk dat hier nog tijd voor nodig is. Voor nu is het doel het vinden van een architectuur die zichzelf kan aanpassen aan de taken die voor haar liggen en optimale manieren vindt om deze op te lossen.

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster