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

OpenAI toont team van verbeterde Dota 2-bots die semiprofessionals versloegen

OpenAI heeft een team van vijf verbeterde bots voor Dota 2 ontwikkeld dat op 28 juli tijdens het jaarlijkse, grote Dota 2-toernooi, The International, de strijd zal aangaan met een team van professionals. De bots hebben al potjes tegen semiprofessionals gewonnen.

Het gaat in feite om vijf neurale netwerken, een team van vijf bots met de naam OpenAI Five. Dit team heeft deze maand al twee teams verslagen met relatief hoge ratingscores in Dota 2. Ook werd een team van Valve-medewerkers verslagen. OpenAI, een Amerikaans onderzoeksbedrijf dat onder meer wordt gefinancierd door Elon Musk, wil het tijdens The International op 28 juli met de bots opnemen tegen een team van vijf professionele Dota 2-spelers, waarbij de enige beperking zal bestaan uit een flink ingeperkte set aan heroes om uit te kiezen.

Bij de gewonnen potjes eerder deze maand tegen semiprofessionals waren er meer beperkingen aangebracht voor OpenAI Five, waardoor de bots niet te maken kregen met de volledige complexiteit van een Dota 2-potje. Zo konden de bots enkel een vijftal specifieke heroes spelen en waren een aantal aspecten volledig voorgeprogrammeerd, zoals het aankopen van items en het sterker maken van de verschillende abilities. Ook mochten bijvoorbeeld geen wards worden geplaatst, zodat het niet mogelijk was zicht te krijgen op een bepaalde plek op het speelveld.

Het team van de verbeterde bots bleek met een gemiddelde reactietijd van 80ms niet alleen in staat om sneller te reageren op zaken dan de menselijke tegenstanders, maar ontplooide ook een gecoördineerde tactiek om de potjes te winnen. Zo werd regelmatig een eigen safe lane opgeofferd om een vergelijkbare lane van de tegenstanders gezamenlijk aan te vallen.

OpenAI Five is gedurende enkele maanden getraind door elke dag tegen zichzelf te spelen; op een versnelde wijze was dat goed voor dagelijks 180 jaar aan speltijd. Door middel van trial and error leert de ai welke acties een maximale virtuele beloning opleveren. Daar was aardig wat rekenkracht voor nodig: 128.000 reguliere cpu-cores en 256 Nvidia P100-gpu's.

Vorig jaar had OpenAI al een bot ontwikkeld die Dota 2 kon spelen en zelfs een wereldtopper zoals Dendi wist te verslaan, maar dit was nog onder behoorlijk beperkende omstandigheden en in een één-tegen-één-situatie. In een situatie van vijf tegen vijf is de strijd een stuk complexer.

Door Joris Jansen

Nieuwsredacteur

25-06-2018 • 19:50

26 Linkedin Google+

Reacties (26)

Wijzig sortering
Niet om hun project neer te halen maar als je iets kritischer bent valt je dit op.
Ze zeggen dat het een mirror matchup is, dus de bots spelen tegen de zelfde heroes.
Dit heeft een zeer grote reden, dat is de "leertijd" drastisch te minderen.

Ze hebben tijdens het leren waarschijnlijk ook alleen mirror matchup geleerd.
Dit heeft twee voordelen:
1 Je hoeft niet te leren voor andere matchups, dus tegen een andere combinatie enemy heroes.
2 Ze kunnen van zichzelf leren, stel het was een team van 5 anderen dan kan je niet 1 op 1 zeggen ik zou dit doen want de andere hero is heel anders wat leidt tot een andere speelwijze.

Dus in 180 dagen tijd 5 heroes leren in andere woorden 1 combinatie.
Er zijn ongeveer 115 heroes, neem daar 5 van, is 115 nCr 5 = 153476148 mogelijkheden/combinaties. Laten we zeggen dat daar 0.01% relevant (in meta) is en je speelt 5 tegen 5 = 2*10^8. Aanname: 90 dagen per combinatie (dit is te weinig), kom je uit op 58080 millenia's. Het is meer dan 90 dagen aangezien de bot steeds slechter wordt des te meer hij kent.

Dit is veels te groot, aangezien in een echte matchups er 6 mag wegstemmen en dan wordt het wel wat kleiner. Maar het punt dat ik wil maken is dat het trainen met de huidige technologie millenias duurt en met bans misschien eeuwen.
En dit is een aanduiding dat er nog heel veel verbeterd kan worden!!

Ik kan niet wachten totdat ze nog algorithmes ontwikkelen, A.I. is iets wat ik heel interessant vind.
Natuurlijk is het mooi om te zien dat ze serieuze dota spelers al kunnen verslaan. De ultieme droom blijft toch een A.I. die een A.I. maakt :+

[edit] Er moet ook nog rekening gehouden worden met, als je geen mirror match up hebt dat je leertijd ook nog eens toeneemt. Je kan waarschijnlijk minder direct zeggen dit is beter zie punt 2.
[edit2] Vanwege de reactie van DohnJoe aangepast, enkele maanden aangenomen 90 dagen. Maakt niet zo veel uit voor de berekeningen.
[edit3] spelfouten

[Reactie gewijzigd door runeazn op 26 juni 2018 01:34]

Aanname: 90 dagen per combinatie (dit is te weinig), kom je uit op 58080 millenia's
Wat bedoel je hiermee? 90 dagen voor wát? En waarom is dat te weinig? Is 90 dagen aan speltijd voor een mens te weinig om een specifieke combinatie te leren? Ten eerste betwijfel ik dat ernstig, ten tweede wil dat niet zeggen dat een AI er ook zo lang over moet doen.

En dit nog even compleet los van het feit dat hij niet iedere specifieke combinatie apart hoeft te leren. Dat hoeven wij mensen ook niet
Mijn punt is dus niet duidelijk, concreet : te veel kosten per leren van een spel. Kijk alleen al naar het systeem dat ze hebben gebruikt. Maar dat niet alleen hun proof of concept is leuk, maar zoals ik zeg zijn heel veel factoren uitgesloten. Je zou het moeten zien als een demo model op een tech beurs, het werkt maar alleen hoe ze je het willen laten zien.

Ten eerste, ik heb geen idee hoe ze precies hun A.I implementeren ik werk niet voor ze.

Ten tweede, uit eigen ervaring (2k uur dota 2) kan ik wel zeggen dat je elke hero moet leren. Dat ik mijn eigen interpretatie heb op een bepaalde team compositie wil niet zeggen dat de computer dat gaat doen, als dit geen parameter waarop geoptimaliseerd wordt dan is die er niet. Team composition is super belangrijk in een MOBA.

Ten laatste, om de hele discussie te sluiten. Het is geen mens, nee hij is nu en voorlopig niet net zo efficiënt/beter dan de mens zoals je aanneemt. Ja mijn aannames zijn gebaseerd op simpele inzichten, wiskunde, data in artikel en gezond verstand.

Edit: Mijn analyse is zeker niet compleet. Als je dat bedoelt mee eens.

[Reactie gewijzigd door runeazn op 26 juni 2018 10:46]

Ik zie liever dat je gewoon de eerste twee vragen in mijn post concreet probeert te beantwoorden. Want vooralsnog lijk je vooral met getallen te strooien maar heeft niemand enig idee hoe ze die moeten interpreteren ;)
Let op, er staat dagelijks 180 jaar aan speltijd.

Vermoedelijk trainen ze het langer dan één dag.
Als je met AI iets nieuws wilt leren, is een versimpeling meestal nodig anders komen er geen oplossingen uit waaraan je kunt zien of er succes is. Het nieuwe zit hem erin dat er geen zetten zijn, maar acties. Beter dan de mens schaakprogramma's en go-programma's zijn er ook pas net en dat zijn borden met beperkingen. Jammer dat er nog geen publicaties over zijn.
Het gaat er met AI overigens niet om dat de AI alle mogelijkheden leert, maar juist dat deze op basis van ervaringen leert wat voor soort oplossingen de beste kans op succes hebben.

Wat mij opvalt is hoeveel rekenkracht hier tegenaan gegooid wordt. Heeft onze grijze massa toch ook een paar interessante algoritmes.
Je vergeet dat een AI ook leert leren. De laatste paar hero's leren zal bij lange na niet zoveel tijd kosten als de eerste paar hero's. Zeker met de recycling van abilities. ;)
Dit wordt schaakrobot/V2 met heel veel meer parameters
Dat is echt een belachelijke understatement.

Twee kritieke verschillen:
1) Discrete beurten versus continue bewegingen
2) Alleen en groepsverband

Schaken kan je volledig programmeren in een computer qua mogelijke situatie en dan voorspellen wat je tegenstander doet.

Dit is zo goed als onmogelijk in DOTA door de grote hoeveelheid mogelijke bewegingen en mogelijke "zetten" ofwel de curse of dimensionality.

Waarbij daarnaast level'en, dominantie op een map en items voor jouw en je groep allen een belangrijke rol spelen. Dus om het met schaken te vergelijken is echt nonsens, al weet ik niet hoe de vergelijking qua mogelijkheden met iets als Go is.

[Reactie gewijzigd door Nicael op 25 juni 2018 20:09]

Fair enough, maar dat zijn dan de extra parameters. Je kunt er op wachten dat dit soort AI godlike gaat worden vanwege uren, dagen, weken en zelfs jaren aan ervaring opbouwen. Daarnaast zijn ze op bit niveau met het level aan het aanpappen en doen wij dat met onze ogen.
Persoonlijk vind ik het "extra parameters" heel denigrerend klinken voor de belachelijke verhoging in complexiteit. Al kan dat ook aan mijn innerlijke nerd liggen :+

Een kleine correctie; een computer word vaak gehandicapt gemaakt (bij bijvoorbeeld StarCraft) om het voordeel van de hele map te zien en op bit-niveau alle data te zien te voorkomen. Zoals bijvoorbeeld het limiteren van het aantal kliks, anders word het per definitie oneerlijk voor een mens (knowledge is power, guard it well).

Daarnaast is dat dus de vraag of ze godlike worden.

Het is namelijk zo dat de computer patronen ziet en die toepast, de vraag is dus stel je verzint een nieuwe tactiek die compleet anders is dan wat de computer kent in zijn dataset. Dan is het de vraag of de godlike aan houd, gezien dat het dan de vraag is of hij echt het spel begrijpt of gewoon goed "gokt".
Vergeet niet dat deze bots niet de hele map zien en er dus altijd een unknown random factor is
Wat ik mij afvraag.
Zo'n AI kan beide teams bestuderen en zeer waarschijnlijk vele andere potjes ook.
Zou een team zo'n AI kunnen verslaan, na een x aantal potjes? Zodat ze het gedrag van de AI kunnen bestuderen.
Ja, maar andersom ook: de AI kan putten uit een schier onbeperkte hoeveelheid data en zal het gedrag aanpassen aan elke situatie. Dus zodra je denkt de AI te volgen en te anticiperen verandert de AI van tactiek...
Vooralsnog zeer beperkt, de selectie van heroes is bijzonder klein (zeker met mirror teams) en ook de volgende wedstrijd gebruiken maar vrij weinig van de over de 100 heroes. Maar zelfs dan nog blijft de AI enkel werken op succes, tot de spelers daar de flaws in zien en daar enigszins misbruik van gingen maken. De absolute rekenkracht nodig om dat allemaal af te vangen, voor elke combinatie van die ruim 100 heroes, theoretisch heeft de AI deze data, maar kost een bijzonder lange tijd om dat allemaal te berekenen.

(eigenlijk beetje het schaakprobleem, in theorie kan een computer elk mogelijke zet berekenen op uitkomst, maar dat is zo'n gigantisch hoeveelheid rekenwerk, gaat niet even in een maandje lukken :P)

[Reactie gewijzigd door SinergyX op 25 juni 2018 23:17]

AI heeft hierin wel het voordeel dat de interfacing met het spel nagenoeg direct is, waarbij menselijke spelers het beeld moeten parsen en via een interface input moeten geven. Dat verschil in latency (ook tussen meerdere commando's door), lijkt me nogal uitmaken bij dit soort spellen (in tegenstelling tot bijvb schaken).
Daarom hebben de bots ook een latency gekregen van 80ms
Daarom hebben de bots ook een latency gekregen van 80ms
2-3x zo snel als de snelste mens; dat maakt het wel eerlijk ja :+
Ik denk eigenlijk dat die reactie-snelheid ontzettend weinig uitmaakt.
Wat deze team-AI zo indrukwekkend maakt (in mijn ogen) is het teamverband. In Dota zijn er veel scenario's voor te stellen dat 1 speler zichzelf kan opofferen om zo de tegenstanders te vertragen, die daardoor een belangrijkere speler niet kunnen doden. Dat scenario heeft niks met reactie-snelheid te maken, maar is ontzettend complex om goed werkend te krijgen. Voor trainingsdoeleinden moet de AI namelijk een 'score' hebben, en deze moet verbeterd worden. Dat is de trainingsparameter. Zo'n actie waarbij de speler zichzelf opoffert is slecht voor de individuele score, maar goed voor de teamscore.

Het knappe van deze AI is dat ze samenspel tussen individuele score en teamscore goed hebben kunnen krijgen om dit soort beslissingen te nemen.
Die hebben ze niet gekregen, dat is het gevolg van de afwegingen die ze moeten berekenen. Daarom staat er ook "gemiddeld". Je kan op 10 vingers uit tellen dat simpel herkenbare situaties zorgen voor een snellere reactie. Net als bij mensen.
Vorig jaar had OpenAI al een bot ontwikkeld die Dota 2 kon spelen en zelfs een wereldtopper zoals Dendi wist te verslaan, maar dit was nog onder behoorlijk beperkende omstandigheden en in een één-tegen-één-situatie. In een situatie van vijf tegen vijf is de strijd een stuk complexer.
En daarna constant ingemaakt door reguliere spelers toen eenmaal een aantal trucjes bekend werden waar die niet mee overweg kon.
Wat één ding was, maar blijkbaar bleef dat trucje werken, dus de AI leerde ook niet echt ervan.
Ja en met een gemiddelde cheating reactie-tijd van 2x-3x zo snel als de snelste mens, plus een aimbot. Ik denk dat ze pubg ook wel winnen :) En dan dus toch nog verliezen later... Verder wel leuk hoor, maar inderdaad is men al weer snel van, oh, de AIs zijn beter in alles...
Persoonlijk nooit Dota gespeeld, maar ik vermoed dat micro(management) belangrijk is. Waarschijnlijk heeft de AI een enorm voordeel door extreme micro. Zet eens een limiet op het aantal acties per minuut (APM) die je mag uitvoeren, voor zowel spelers als de AI. 180 bvb, wat al belachelijk veel is. Pas dan kan je mij overtuigen dat de AI enige intelligentie heeft.
Waarom moet ik toch iedere keer weer in de lach schieten als ik dat woord "potjes" lees. Hollandser kan het echt niet hoor.
Vergeten jullie niet de items? :)
”We are the Borg. Lower your shields and surrender your ships. We will add your biological and technological distinctiveness to our own. Your culture will adapt to service us. Resistance is futile.”


Om te kunnen reageren moet je ingelogd zijn


Call of Duty: Black Ops 4 HTC U12+ dual sim LG W7 Google Pixel 3 XL OnePlus 6 Battlefield V Samsung Galaxy S9 Dual Sim Google Pixel 3

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