Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

DeepMind: bots verslaan mensen in 'capture the flagmodus' van Quake III Arena

Onderzoekers van DeepMind hebben een paper gepubliceerd waarin ze een aantal resultaten tonen over de bots die ze getraind hebben om geheel op eigen houtje Quake III Arena te leren spelen. De ai blijkt beter in het spelen van de Capture the Flag-modus dan menselijke spelers.

DeepMind schrijft dat de agents hebben geleerd om capture the flag op een heel hoge standaard te spelen. Daarbij spelen ze in op de afmetingen van de gespeelde map en op het aantal teamleden. In de resultaten blijkt dat de bots heel snelle reactietijden hebben en heel accuraat zijn in het taggen, waarbij tegenstanders terug naar hun startpunt worden gestuurd. Bij de agents lag die precisie op 80 procent; bij mensen op 48 procent. De onderzoekers denken dat de goede prestaties van de agents hiermee samenhangen.

De superieure prestaties van de ai komt ook voort uit de snellere visuele verwerking en de bewegingscontrole. Dat was echter niet de enige reden voor het succes, bleek nadat de precisie werd beperkt en de reactietijd verhoogd. Ook bots met een bewust doorgevoerde extra vertraging van 267ms deden het nog altijd beter dan mensen. Met die verhoging kwam de reactietijd uit op 500ms, een vergelijkbare tijd met menselijke spelers. Sterke menselijke spelers wonnen gemiddeld 21 procent van de games, en spelers met een gemiddeld niveau wonnen slechts 12 procent van de potjes.

Menselijke spelers hadden weinig in te brengen tegen de ai op maps die geen van de spelers of bots ooit eerder had gezien. Een team van twee mensen wist per game gemiddeld zestien vlaggen minder te veroveren dan een team van twee agents. Alleen in een team van zowel mensen als bots wisten de mensen te winnen van een team met alleen bots. De onderzoekers maken daaruit op dat getrainde agents waarschijnlijk goed in staat zijn samen te werken met teamgenoten die ze nog niet eerder 'gezien' hebben, zoals mensen. Zelfs een team van twee professionele gamers met volledige onderlinge communicatie wist na twaalf uur oefenen slechts een kwart van de potjes te winnen van de ai.

De agents worden door de onderzoekers overigens 'FTW agents' genoemd, wat staat voor for the win. Dat verwijst naar de trainingsarchitectuur van de bots, waarbij recurrent neural networks op trage en snelle tijdsvlakken worden gebruikt in combinatie met een puntensysteem. Daarbij worden de gamepunten vertaald naar interne beloningen. Elke agent leerde zijn eigen interne beloningssignaal, waardoor hij zijn eigen interne doelen kan stellen, zoals het veroveren van de vlag. Daar komt een tweeledig optimalisatieproces aan te pas om die interne beloningen te optimaliseren voor het winnen. Door het toepassen van reinforcement learning werd de agents door uitproberen geleerd handelingen te verrichten om een maximale beloning te krijgen. In totaal zijn dertig verschillende agents getraind met in totaal 450.000 potjes.

Het onderzoek is gepubliceerd in het wetenschappelijke tijdschrift van Science, onder de titel Human-level performance in 3D multiplayer games with population-based reinforcement learning. DeepMind publiceerde eerder al een paper over de training van de bots.

Door Joris Jansen

Nieuwsredacteur

31-05-2019 • 17:18

60 Linkedin Google+

Reacties (60)

Wijzig sortering
Additionally, to level the playing field, our learning agents experience the world of CTF in a similar way to humans: they observe a stream of pixel images and issue actions through an emulated game controller.
Dit stukje mist in in het Tweakers artikel. De bots hebben alles geleerd vanaf beeld en voeren enkel input uit via een controller, dus van een aimbot (die aan de hand van game-data de precieze coordinaten van een vijand weet) is hier niet te spreken.

Indrukwekkend staaltje werk :)
Laat ze maar een muis aansturen met een robot hand en arm voordat ze dit met mensen vergelijken. Denk dat de precisie een stuk lager wordt. Desalniettemin indrukwekkend dat ze die bots met pixel data kunnen aansturen alhoewel quake3 characters vrij eenvoudig te herkennen zijn met die felle kleuren. Ik hoop niet dat ze teveel source code releasen hiervan kan knap vervelend worden als mensen hier later aimbots mee gaan maken. Was al een probleem in overwatch met die rode lijn om character modellen heen. Zijn ook zeer moeilijk te detecteren want ze rommelen niet in het geheugen van de game.
Er zit een hoofdstukje over de inherente verschillen tussen het aansturen van een game tussen de bots en mensen (hoofdstuk 3.1 in het document met achtergrondinformatie) waar de precisie van de input wordt besproken. Uiteindelijk hebben de onderzoekers de bots zodanig vertraagd en inaccuraat gemaakt dat ze qua reactie en precisie evenaren met mensen, maar waarbij mensen nog steeds potjes verliezen doordat de bots een andere strategie hanteerden.
We measured the effect of tagging accuracy on the performance of FTW agents playing against a Bot 3 team by artificially impairing agents ability to fire, without retraining the agents (Figure S10 (c)). Win probability decreased as the accuracy of the agent decreased [...]

the response-delayed agents tag a similar amount as humans, however response-delayed agents exhibit far more flag pickups and captures than humans (Figure S12). These results suggest that response- delayed agents are as proficient taggers as humans, but outperform humans due to a difference in strategy.
Het indrukwekkende aan dit alles is niet alleen dat de bots kunnen herkennen en aansturen, maar ook dat ze beter zijn in het uitvoeren van de objectives, ook als ze kunstmatig trager worden gemaakt dan een menselijke speler. Die robot-arm heb je dus niet nodig in dit geval om het speelveld gelijk te trekken.
Inderdaad.. initieel moeten die bots überhaupt leren door de gangen te lopen en niet tegen een muur aan. Een oude bot weet gewoon waar ie kan lopen en wat het path is naar de flag. Deze weten dat helemaal niet. Ik zou al super happy zijn als mijn ai bot in het spel rond kon lopen zonder tegen muren aan te botsen. Voor mensen is het vrij duidelijk wat een doorgang is, maar laat een ai dat maar eens leren van de rgb pixels.
Normaals, knap staaltje werk
De AI hoeft niet te weten wat een gang is, er worden gewoon pixels geïnterpreteerd waar vervolgens acties aan gekoppeld worden. Een aimbot weet van te voren al waar de tegenstander uithangt maar je kunt toch pas schieten zodra je ze ziet. Zodra de pixels vd tegenstander op het scherm verschijnen zal de AI er ook op reageren. Het is vooral knap dat dit dusdanig snel bepaald kan worden dat de menselijke tegenstanders dus geen schijn van kans meer maakt.
Toch mis ik in het artikel hoe vaak de AI is gedood tijdens deze games.
Uiteindelijk is het natuurlijk wel gewoon een aimbot. Maar ipv dat de ontwikkelaar aangeeft welke pixels plus stukje netwerk code (indien mogelijk) een vijand voorstelde, is het nu de software zelf die het stukje pixels vindt. Wel knap gedaan. Absoluut.
Met die definitie is de mens zelf ook een aimbot.
uuh nee,

Aimbot
- Bot (computerprogramma), een zelfstandig computerprogramma dat menselijke taken overneemt
wij zijn geen computerprogramma ;)
+1, tenzij we zelf computer programma's zijn die menselijke taken overnemen(Elon Musk help me out) ;)
En hoe zijn die bots gelimiteerd in reactietijd? Bij mensen is dit toch voornamelijk een samenspel van hersenen en reflexes. Hoe kan dit ooit worden vergeleken met bots?

Allemaal leuk en grappig, maar ik snap het gloaten niet want dit heeft totaal niks met mensen te maken. Calc.exe kan ook veel sneller rekenen dan de mens dat kan. Kom op... dit moet je gewoon niet willen vergelijken.

[Reactie gewijzigd door Marctraider op 31 mei 2019 23:52]

Het betekend dat de bots moedwillig vertraagd reageren, zodat de reactie tijd gelijk is aan de menselijke reactie tijd.

Hierdoor kunnen we dus zien dat de bots niet enkel winnen doordat ze per definitie sneller reageren. Ze kunnen blijkbaar ook beter mikken, sneller naar de vlag rennen enzo.

We vergelijken dit met mensen omdat dat ons referentiekader is. Het is best indrukwekkend dat zelflerende systemen mensen kunnen verslaan met games.

Vergeet niet dat de mens ooit sneller was in rekenen dan de kamer-grote-computers van die tijd. Het was in die tijd ook groot nieuws dat de computer voor het eerst beter kon rekenen dan de mens.
Lees misschien even het artikel. Daar staat uitgelegd hoe de reactietijd beperkt wordt tot die van menselijke spelers.
voldoet de AI ook aan de regels van anti-cheating software? Hun gedrag lijkt nogal veel op aim-bots ?! ;)
Aim-bots is anders, daar ga je ruwe data rechtstreeks uit de game gaan trekken om er vervolgens dingen mee te doen. Dat is geen AI maar gewoon programmeren.
Hier ga je om de vergelijking te maken een robot achter je computer zetten om die het spel te laten spelen.

Deze AI weet dus niet waar vijandige spelers zit en kan ook niet verder kijken dan een menselijke speler. Ze zijn wel heel exact in wat ze doen, dus hun aim skills krijgen een penalty.

Overigens kan dat wel nog leuk worden voor single player games, de AI komt daar meestal niet bepaald als uitstekend uit de bus.
ben ook wel benieuwd naar hun tactisch vermogen in grote mappen
Nee geen wallhack inderdaad. Maar zodra gespot, geen kans.

En de input krijgt een penalty, niet de skills

[Reactie gewijzigd door Dutch_CroniC op 31 mei 2019 20:39]

Zit daar niet de clou? Als de aim penalty geen penalty genoeg is, dan winnen de ai bots altijd?
Als een AI of een chip wat dat betreft slechts 1 doel moet dienen zal die altijd veel efficiënter zijn, (theoretisch gezien alvast). Een GPU wint van een CPU maar de CPU kan meer dan de GPU.
Het menselijk brein heeft een rekenkracht zitten waar zelfs de krachtigste computer nog niet in de buurt van komt, toch kan een simpel rekenmachine hem verslagen. Maar het menselijk brein kan zaken die we niet eens kunnen simuleren zelfs mochten we dat willen.

Hoe meer generalistisch je gaat, hoe meer taken een en dezelfde AI moet kunnen, hoe slechter het word in afzonderlijke taken.
Ja dacht ik ook aan. Leuk dat AI een map kan leren. Maar dit zijn gewoon autonome aimbots.
misschien kunnen AI's van verschillende universiteiten tegen elkaar opnemen in Quake en wij kijken op Twitch. (wel op -2x snelheid) :D
Ik denk eerlijk gezegd dat dat best wel saai is.
Bij een echte match weet je dat die gasten vol spanning zitten, iets wat je dan mist. Die spanning geeft toch wel wat extra's.
Ik kan je verzekeren dat de computers van die AI's ook vol spanning zitten :+
Doordat ik vroeger reacties als dit een +1 gaf (wat daarvoor altijd nog gewoon kon), zijn mijn rechten weggenomen. Maar jou reactie is gewoon een dikke +1 ! :)
Als men de vertraging eruit haalt kunnen wij het niet eens volgen lijkt mij.
Die high end spelers zijn ook net aim bots dus dat maakt niet zoveel uit.
Echt niet normaal wat sommige van die gasten doen.
Het taggen in de text is raak schieten, maw de bots schieten meer raak dan mensen (duh). 2 vs 2 vind ik ook geen echte CTF. 4 vs 4, 5 vs 5 dan spreek je pas over teamwork.

De standaardbots met hoogste nauwkeurigheid in Q3A zijn nog wel te pakken omdat hun pathfinding te beperkt is, ze hebben de neiging om vrijwel altijd dezelfde route te nemen met de vlag. Ik zou het wel eens willen opnemen tegen deze als oud CTF speler :)
In Q3? The real CTF died with QuakeWorld!
Meh, die hook heb ik nooit leuk gevonden in Quakeworld. Daar heb ik vooral heel veel deathmatch gespeeld, bij voorkeur in dm4 :)
Toen ie nog geen line of sight had was het echt lachen geblazen soms :)
Iemand van ver een hook in zijn rug gooien en om een hoekje wegspringen :)
Dat was later gefixed :(
Net als Discharge weg is.. en normale runes.
Flag, Runes, hook. Done.

op dialup :) hahahaaaaa weten ze amper wat dat is tegenwoordig.
Volgens het artikel op Ars Technica gebruikten de bots verschillende strategieën, waarvan de minst effectieve weggegooid werden, die de bots op die manier een betere strategie lieten gebruiken. Al zegt dat niet per sé iets over voorspelbaarheid van de bots.
Geweldig dit, krijgen we dan in de toekomst eindelijk zich fatsoenlijke gedragende AI in games? Iets wat al wel veel beter is dan jaren geleden maar nog sterk te wensen overlaat. Dit is weer een stap in de goede richting. Je zou zelfs bij multiplayer games als een speler wegvalt die plek onmiddellijk op kunnen vullen met een AI gelijk aan het niveau van de wegvallende speler zodat het team er niet onder lijd.
Be careful what you wish for, you might just get it.

Will je echt een spel spelen waarbij de ai slim genoeg is dat als je telkens vastloopt op een punt, de ai er nog eens een stukje bovenop gooit door nog effectiever te worden in je te verslaan in het stukje dat je al niet door kwam?

Meeste spellen doen het omgekeerde, als je na x keer iets niet lukt maken ze het een stukje makkelijker.

Hangt er natuurlijk vanaf wat de ai als 'doel' meekrijgt. Zou ook kunnen zijn 'wees moeilijk genoeg zodat de menselijke speler je nèt kan verslaan'.
Het mooie is juist dat je voor solo players de AI variabel kunt maken waarbij iedere speler ongeveer dezelfde moeilijkheid ervaart in wat hij/zij doet. Ik heb bijvoorbeeld rond de 2500 uur in Destiny 2, en de AI is enorm statisch, op den duur kun je missies dromen, je weet wat waar spawned, je weet hoe het reageert en zich verplaatst afhankelijk van jouw positie en eigenlijk knal je er op de automatische piloot doorheen. Spelers die de tijd niet hebben om dit zo te perfectioneren en die ook niet snel genoeg hun shots kunnen landen komen er misschien nooit doorheen. Ik zou het wenselijk vinden als voor mij sommige dingen wat moeilijker/variabeler zouden worden, en het voor een ander juist weer wat gemakkelijker. Het mooie van PVP is bijvoorbeeld de onvoorspelbaarheid van de betere spelers, of de doldwaze actie van een rookie die er vanuit het niets ineens in knalt. PVE bied dat nog niet.

In het kort hoop ik voor iets wat de ervaring voor spelers van verschillende skills wat meer gelijk trekt. En natuurlijk kan een developer ervoor kiezen om sommige missies alleen voor de betere "goden" te behouden door de moeilijkheid vast te leggen.
Ik verwacht niet dat we deze systemen snel gaan krijgen, deze systemen draaien op clusters van machines met veel high performance cores.

Nou, ja... dat is misschien voor het leren nodig, maar voor niet-lerende variant kan het mogelijk wel in de game worden toegevoegd, nog steeds verwacht ik dan veel overhead.

Dus multiplayer-online game: bots draaien op extra computers ?
Ik heb hier meerdere Xbox'en staan, will best wel zo'n AI in mijn team :D
Na een paar uur gamen is het beste er wel af bij mij, ik ben blij dat dit ook geautomatiseerd kan, heb ik weer tijd voor andere dingen. :)
Eindelijk weer tijd om een goed boek te lezen! ;)
Hebben de spelers ook 15k oefenrondjes elk mogen spelen?
Ik weet niet tegen welke mensen ze gespeeld hebben.
Als t oude bekende en legendes zijn dan hebben die genoeg geoefend ;)

Ik denk dat de resultaten wel wat anders zullen zijn tegen pro's dan gewoon wat mensen.

[Reactie gewijzigd door Dutch_CroniC op 31 mei 2019 17:47]

Dit slaat toch nergens op ??
Hoe aimen dit bots ?? toch niet dmv oog-hand coördinatie.
Ergens wel, de bots krijgen het signaal RBG aangeboden (net als de mensen dus), en moeten daaruit bepalen hoe het speelveld eruit ziet , en tevens uit dit signaal bepalen waar zij richten en waar tegenstanders zich bevinden. Natuurlijk zijn bots daarin veel sneller en accurater, maar het principe is gelijk.
Het is nog steeds knapper wat mensen doen. We houden een muis vast met een bepaalde massa en we verplaatsen het over een oppervlak met een bepaalde wrijvingscoëfficiënt. We voorspellen waar het speler model is in de tijd dat het duurt dat we de muis verplaatsen. Aan de hand daarvan klikken we op het knopje op het juiste tijdstip.
Het enige wat de ai hoeft te doen is een rgb code analyseren en als er een patroon in zit dat op een speler patroon lijkt. Dan verplaatst die de controller input in de richting van die coordinaten. Dit kan niet ín één keer geloof ik want input van een controller heeft een maximum aantal pixels per keer. Dus dat duurt waarschijnlijk een aantal frames. Als die een speler patroon ziet in zijn midden dan pas gaat die schieten. Zal ook wel eenvoudiger zijn met hitscan wapens dan projectielen.
Het is een niveau minder als in de echte wereld nog steeds knap dat ze dit kunnen maken maar ik vindt niet dat je een ai moet vergelijken met een mens als die ai niet eens in de echte wereld iets hoeft te doen. Als ze nu een robot hadden gemaakt met een camera die een game speelt met een robot hand dan vindt ik dit pas hetzelfde principe.
Dit is capture the flag met teams waarbij minimal planning, strategy, etc. ook een rol spelen.

Het punt van dit spel laten spelen is nu juist: dit is meer dan alleen maar RGB codes kijken.

Ik zie dit net zo belangrijk als hun resultaten met go ten opzichte van schaken.
geen idee welke wapens er gebruikt zijn, maar behalve instagib (ik speelde enkel UT) hebben die een vertraging en moet je dus gokken welke richting een speler uitgaat om hem te raken
Er zijn genoeg hitscan wapens in q3, bullet travel had je volgens mij alleen met de rocketlauncher, grenade launcher en plasmagun.
Er zijn genoeg hitscan wapens in q3, bullet travel had je volgens mij alleen met de rocketlauncher, grenade launcher en plasmagun.
Aan de serverzijde is inderdaad praktisch alles in Q3 een hit-scan wapen. Alleen zit er zelfs op hitscan nog wel een bepaalde variable vertraging, afhankelijk van de snelheid van je netwerkverkeer.

Het is voor deze AI implementatie dus interessant om te weten of de AI agents echt elk hun volledig eigen client instance draaiden met vergelijkbare latency, of enkel binnen de server draaiden, zoals normale Q3 bots.

Er zijn nog meer redenen dat dit belangrijk is. Die hebben met name te doen met het feit dat alle beweging die aan de client kant te zien is, een extrapolatie op basis van vorige bewegingen is. Zodra nieuwe informatie van de server binnenkomt wordt die lopende extrapolatie geinterpoleerd om uiteindelijk uit te komen op de daadwerkelijke 'waarheid' van de server.

Dit proces is in de standaard game zeer instabiel, waardoor bij hogere latency en bij latency spikes al heel snel je tegenstanders 'de bibbers' zullen krijgen. Diverse mods zijn over de tijd heen in het leven geroepen om dit probleem op te lossen -- De bekendste en meest populaire is vziw Quake III Unlagged. -- maar in de kern-game is dat probleem nooit fundamenteel opgelost.

Ook daar is het dus enorm belangrijk om te weten of de AI agents actief waren als echte client met netwerk-latency, en dus voor foute extrapolaties van client-side prediction moesten compenseren, of dat ze het comfort hadden van een lage latency waardoor ze vrijwel direct tegen de 'waarheid' van de server blijven zitten.

[Reactie gewijzigd door R4gnax op 1 juni 2019 13:38]

Straks zijn bots ook nog beter in het echte leven. Dan hebben we geen mensen meer nodig. :'(
Een bot die nooit hoofdpijn heeft hebben we al O-)
Op zich logisch dat de AI het wint. Geen zenuwen, geen spanning. Veel accurater met richten en schieten, en consequenter dan een mens, en dan ook nog eens geen vermoeidheid.

Knappe prestatie, maar de uitkomst is geen verrassing.
Maar kan een bot ook een goede camper worden?
Ik zie NPC's dat in b.v. The Division 2 al redelijk goed doen soms.. Vooral de vijandelijke snipers die er speciaal voor geprogrammeerd zijn vermoed ik.. Die rennen ook weg van je als jij te dichtbij komt..


Om te kunnen reageren moet je ingelogd zijn


OnePlus 7 Pro (8GB intern) Microsoft Xbox One S All-Digital Edition LG OLED C9 Google Pixel 3a XL FIFA 19 Samsung Galaxy S10 Sony PlayStation 5 Smartphones

Tweakers vormt samen met Tweakers Elect, Hardware.Info, Autotrack, Nationale Vacaturebank, Intermediair en Independer de Persgroep Online Services B.V.
Alle rechten voorbehouden © 1998 - 2019 Hosting door True