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 publiceert software voor trainen zelfrijdende ai met GTA V

Door , 64 reacties, submitter: himlims_

OpenAI, een non-profitorganisatie die onder andere gesteund wordt door Elon Musk en Microsoft, heeft software open source gemaakt waarmee het ai voor zelfrijdende auto's traint. De software vormt een integratie met de game GTA V en is nu door iedereen te gebruiken.

OpenAI kondigde begin december het Universe-platform aan, waarmee het kunstmatige intelligentie traint. Dat gebeurt onder andere met games als Portal, Red Alert 2 en GTA V. Voor die laatste game heeft OpenAI de Universe-integratie nu open source gemaakt. Deze wordt ontwikkeld als deel van het DeepDrive-project, dat erop is gericht om kunstmatige intelligentie voor zelfrijdende auto's te trainen in een virtuele omgeving. GTA V is daarvoor uiterst geschikt, omdat het volgens de DeepDrive-ontwikkelaars de meest complexe testomgeving biedt.

Volgens OpenAI kan iedereen met een eigen versie van GTA V de DeepDrive-software gebruiken. Deze maakt gebruik van een modding framework en geheugeninspectietechnieken om van GTA V een simulator voor zelfrijdende ai te maken. Voordat Universe er was, duurde het ongeveer een dag om een testopstelling op een lokale Windows-pc klaar te zetten. Nu DeepDrive gebruikmaakt van Universe, is die tijd teruggebracht tot twintig minuten en wordt zowel Windows als Linux ondersteund.

De software bestaat behalve uit de broncode uit een Amazon Machine Image en een al getrainde agent. Om de software te gebruiken is het nodig om een server te starten met GTA V, voorzien van de Python-bibliotheek van Universe. De ai-agent is voorzien van 21 uur aan training en moet in staat zijn om in verschillende weersomstandigheden te rijden. Aan de hand van de weidse GTA-wereld is het bovendien mogelijk om grote hoeveelheden data te verzamelen. De omgeving is aan te passen door gebruik te maken van mods.

In onderstaande video wordt de werking van de agent getoond, waarbij linksboven de feed met 8fps te zien is die de agent binnenkrijgt. Diagnostische gegevens zijn linksonder te zien en aan de rechterkant is een vrije camera in beeld voor de toeschouwer.

Sander van Voorst

Nieuwsredacteur

12 januari 2017 12:09

64 reacties

Submitter: himlims_

Linkedin Google+

Reacties (64)

Wijzig sortering
Weet iemand of dit een ban of andere penalty kan opleven? In het artikel kan ik nergens vinden in wat voor mode dit gebruikt wordt (Freemode, Story mode, etc.).
De readme is hier erg duidelijk in: Story mode. Er wordt gebruik gemaakt van een custom save game, waarna het proces het spel monitort en met Vjoy+Xbox360ce controls nadoet. De agent heeft net zo veel controle over de auto als jou. Gelukkig zijn de controls in GTA V heel simpel en worden zaken als versnellingen, koppeling etc. automatisch geregeld, dus de AI hoeft weinig controls door te sturen.

Wat me overigens een leuk experiment lijkt is de interactie van de agents met elkaar. Schroef een FiveReborn servertje in elkaar en kijk wat er gebeurt als je meerdere OpenAI-getrainde agents erop los laat.

Probeer het overigens niet online te draaien, het project maakt gewoon gebruik van ScriptHookV.

[Reactie gewijzigd door ikt op 12 januari 2017 13:08]

Ik ben benieuwd wat er gebeurt als de auto over een blikje rijdt en de politie spontaan begint te schieten op de bestuurder ;-)

Tevens een prima manier om de AI te trainen op het ontsnappen aan de politie. Dit kan het boevengilde in het echte leven heel goed gebruiken in een gehackte Tesla. Of loop ik nu heel erg op de zaken vooruit?
:+ Daarom hebben ze het dus opensource gemaakt; dat mogen de boeven zelf trainen
Het lijkt mij dat je dit zo min mogelijk online op publieke games moet doen, bots zijn in veel gevallen (vanwege cheaten) niet toegestaan. Al zal een bot als deze je niet per se een spelervoordeel geven, daar is het natuurlijk ook helemaal niet voor bedoelt.

Zolang je het offline of in private servers doet, moet het geen probleem zijn, lijkt me.
Ik denk dat het gebruik van dit soort software te vergelijken is met het gebruik van Mods op de game.
Ik denk de publieke servers pas een aller laatste examen zijn voor volledig uitgedachte ai's. Dan leren ze te anticiperen op complete madness :)

[Reactie gewijzigd door Dennisdn op 12 januari 2017 16:16]

Ik neem aan dat dit word gedaan op een FiveReborn server? Voor het testen zou dit wel extreem gemakkelijk zijn, anders zou je te maken hebben met het feit dat je inderdaad geband zou kunnen worden.
Mods in gta 5 zijn alleen te gebruiken in de storymode zelf!
Dit is op dit moment niet erg bruikbaar om mee te gamen hoor :+ De latency tussen actie en reactie is nog zo groot, dat je het beter zelf kan doen...
De bedoeling van deze AI is ook niet om een game-bot te maken, maar om autonome voertuigen offline te kunnen ontwikkelen.
Via Machine Learning getrainde AI kan best eens een gamerevolutie kunnen worden. Het zou games veel meeslepender en uitdagender kunnen maken wanneer de AI eindelijk eens normaal of inventief gaat reageren. Niet meer hordes vijanden die op je af komen rennen, maar vijanden die andere ideeŽn krijgen als het eerste niet lukt. Of AI die online qua spel nauwelijks te onderscheiden is van menselijke spelers.

Ik ben overigens erg benieuwd naar de eerste Twitch stream met stunt races met getrainde AI! :P
Lijkt een leuk idee maar kan heel erg tegenvallen: zoals deze devs hebben uitgevonden.

In veel gevallen is een AI niet eens zo heel erg dom, maar weten we ons terug te trekken naar een positie waar wij het veiligst zijn en de AI op zijn domst.

Kortom, het lijkt leuk maar niet als je de zoveelste keer het onderspit moet delven omdat de AI ook echt goed is. Het is dan de vraag of dit iets is wat nog in de huidige gamementaliteit kan. Games zoals Halo en CoD hebben veel teweeg gebracht met regenerative health. Gewoon hersenloos schieten.

Laatst de recente Wolfenstein gespeeld. Toch een uitdaging als je geen volledige health regeneration hebt.
De game moet ook worden aangepast op slimmere AI. In het voorbeeld heb je 1 tegen 3 situatie. Met AI die veel slimmer is dan huidige AI is dat natuurlijk een oneerlijke situatie, omdat je in de minderheid bent.

Er zouden dan ook, net als in huidige games, verschillende niveaus moeten zijn. Niet dat het moeilijkste niveau meer en sterkere vijanden geeft, maar juist slimmere. Dat maakt het spel uitdagender en als je dat waardeert, leuker!

Het ligt ook nog eens aan de situatie: In een multiplayer shooter verwacht ik tegenstanders sowieso al van alle kanten, dus daar hoort flanken bij. In een on rails singleplayer shooter daar wil je soms gewoon dom kanonnenvoer!

En dan is de speler ook nog een belangrijke factor. Sommigen willen gewoon dom knallen, anderen willen uitdaging op een andere manier.
AI is doorgaans wel dom, want voorspelbaar. In situatie X volgt altijd actie Y. Dat kan best goed werken natuurlijk, maar je hoeft als speler niet eens bijzonder goed te zijn om het patroon te doorzien en ze daarop te verslaan door onverwacht uit de hoek te komen.

Als je twee potjes tegen dezelfde AI speelt en je wint in spel 1 met een bepaalde tactiek dan werkt die in spel 2 nog steeds hetzelfde. Tegen een menselijke speler zal dat niet werken, omdat die na spel 1 weet wat hij kan verwachten en daar rekening mee houdt. Om te winnen zul je dan dus een andere tactiek moeten gebruiken.

Een betere AI zou onvoorspelbaarder uit de hoek kunnen komen zonder per se heel veel beter te zijn. Alleen wel adaptiever om patronen te doorbreken, en daarmee ook een stuk interessanter om tegen te spelen.
Twitch Drives GTA V. :+

Up down left right brake accelerate. :p

[Reactie gewijzigd door KoploperMau op 12 januari 2017 12:36]

Alhoewel het natuurijk erg vet zou zijn heb je het hier wel over bijzonder complexe materie waar het onmogelijk is alles te voorzien.

Zo las ik dacht ik ergens in een boek dat een deep learning AI in een game erachter kwam hoe die het physics systeem kon misbruiken (zou wel mooi zijn natuurlijk als dat al uit je testen naar voren kwam :P).

Het zal vast wel eens ergens in de toekomst komen maar zeker niet in elk spel.
Ach, als ze een zelfrijdende auto door de echte wereld kunnen laten rijden, moet dat in een virtuele wereld ook wel kunnen. Bij shooters is dit misschien een ander verhaal, maar je kan veelal dezelfde basis gebruiken omdat veel shooters hetzelfde principe hebben. Voor beweging is een goede basis te maken. Alleen per game moet je aanpassingen maken voor verschillende wapens / voertuigen / andere game mechanics, maar dat kun je misschien zelf ook wel leren.

Dat misbruik is ook wel grappig, daar had ik nooit aan gedacht. Kon een speler dit op dezelfde manier misbruiken?
Volgens mij was het zelfs zo dat de spelers ermee begonnen (driemaal raden hoe de AI het geleerd heeft).

Of developers het gaan doen ligt er helemaal aan hoe makkelijk het te maken is. Tijd is nu eenmaal geld.
Alle auto's in GTA V waren toch al zelfrijdend :+
Dit stuk software 'traint' de AI (voorzover ik eruit kan opmaken) van de voertuigen, waardoor zij dus beetje bij beetje beter kunnen interpreteren.

Nu rijden de auto's in de GTA games op zichzelf, maar heel slim zijn ze niet. Ze ontwijken niet, zijn traag (van begrip) met sirenes of zien snelle auto's niet aan komen.

Verder zie ik in dit filmpje dat er in het donker word gereden en het voertuig zich daar naar aan past.
Nee, voor zover ik weet verandert Universe AI juist niets aan de bestaande AI van de game (GTA V code), c.q. alle NPC voertuigen blijven net zo dom als voorheen. De interface neemt slechts de besturing van de player auto over : het analyseert het beeld dat de speler zou zien en bestuurt de auto via de control die de speler zou hebben. Kijk op de link van DeepDrive en je ziet meer uitleg.
Leuk implementatiedetail: Ze lijken wel van plan om direct controle te hebben op een gescripte manier. :)

Dit brengt extra controle, al vind ik het huidige XInput+Vjoy systeem ook mooi. Als ze echt aan de controls willen zitten, moeten ze in het geheugen gaan wroeten, maar dat brengt een groot risico (met 99% zekerheid) dat ze na een update de module moeten updaten.
Volgens mij niet. de AI / source code van de game wordt zover ik weet niet aangepast.
Wat paltenburg hier onder ook zegt is deze AI een apart draaiende service is die alleen toegang heeft tot 8 frames per seconden verstuurd vanuit de game. en op basis daarvan de lijn op de weg uitleest en de auto's voor zich herkend. en een doel in dit geval rijden en geen schade oplopen. De schade van de auto zal via een hook ook wel uit de game gehaald worden. De ai begint bij het begin gewoon met willekeurig sturen en gas geven en remmen. en naarmate de AI langer oefent weet deze steeds beter hoe deze goed kan rijden en geen schade kan oplopen.
vergelijkbare uitleg:
https://www.youtube.com/watch?v=qv6UVOQ0F44
Het grote verschil is natuurlijk dat deze AI het wil doen op basis van sensoren en camera input die ook voor normale auto's beschikbaar zijn. De reguliere zelfrijdende auto's in GTA hebben natuurlijk beschikking tot het hele digitale netwerk van de game.
Ja, je kan "cheaten". Maar als je een doel hebt dan neem je het toch serieus en neem je alleen de gegevens die een echte auto ook kan krijgen.
Ik bedoel dat de bestaande auto's in GTA "cheaten".
Ik kan me voorstellen dat deze manier van ai trainen erg interessant is voor de producenten en ontwikkelaars van zelfrijdendeauto's.
In de simulatie kan er makkelijk geŽxperimenteerd worden met de positie, hoeveelheid en specificaties van de camera's. Dit maakt het testen van hardware set-ups een stuk makkelijker en goedkoper.
zijn traag (van begrip) met sirenes of zien snelle auto's niet aan komen.
Wat dat betreft een uitstekende simulatie van de werkelijkheid.

Verder is deze software natuurlijk een leuke ontwikkeling en nuttig voor de developers die ervaring met dergelijke technieken willen/moeten opdoen, maar buiten dat weinig interessant voor gebruik in echte zelfrijdende auto's.
Een digitale omgeving is heel anders dan de echte werkelijkheid. Je kunt je dus ook afvragen of dit weer een publiciteitsstunt is van Musk voor zijn Tesla Stock of ook echt iets met Autonomous driving te maken heeft.

Anything for a weekly headline fix ....
> Dit stuk software 'traint' de AI (voorzover ik eruit kan opmaken) van de voertuigen, waardoor zij dus beetje bij beetje beter kunnen interpreteren.

Bijna, maar het is enkel de Player. Niet de NPC's die gekoppeld worden aan OpenAI
Haha, dat klopt. Maar als ik het goed begrijp maakt dit systeem gebruik van de virtuele 'camera' die op de auto zit en interpreteert dit beeld om de auto aan te sturen.

De normale AI van GTA V maakt gewoon gebruik van de informatie uit het geheugen van GTA, dat is uiteraard veel meer dan wat 'sensoren' zouden kunnen uitlezen.

[Reactie gewijzigd door Foodie88 op 12 januari 2017 12:27]

En die rijden ook niet bijster goed ;) Hoe veel spontane botsingen en associaal rijgedrag ik in GTA V al tegen ben gekomen (zonder dat ik er zelf invloed op had :+ ) is wel schrikbarend.

[Reactie gewijzigd door MadEgg op 12 januari 2017 12:33]

Het rijgedrag van de AI in GTA-V is nogal matig inderdaad, ze rijden (te) vaak ergens zomaar tegenaan en maken de raarste bewegingen.. Maar de game is dan ook zo geprogrammeerd om jou dwars te zitten (te trollen zeg maar).. Het is soms overduidelijk dat de AI jou expres probeert te raken etc..
Ja zelfrijdend, maar met een heel simpel input model. Ze worden vooraf verteld waar de wegen zijn, dat een verkeerslicht op rood staat enzo. Dit algorithme probeert jou na te doen, op basis van de beelden de autobesturen... dat is toch wel een verschilletje
Dat is het eerste dat ook in mij opkwam 8)7
zou wel leuk zijn als de AI ook gebruik maakt van deze implementatie

Nu DeepDrive gebruikmaakt van Universe, is die tijd teruggebracht tot twintig minuten en wordt zowel Windows als Linux ondersteund.
gta icm linux gaat lastig worden (via wine) maar vergeet het anders maar
"zou wel leuk zijn als de AI ook gebruik maakt van deze implementatie"
Ik denk dat dit een te grote impact heeft op de framerate. Er zullen heel wat meer beslissingen gemaakt worden dan met voorgeprogrammeerde AI.

[Reactie gewijzigd door Sporedd op 12 januari 2017 12:23]

dat heeft het ook, in voorbeeld draait het op 8 fps
ik gok dat ze in dit geval de software op een andere computer draaien die de input enkel baseerd op feedback via de video output.
Volg de link naar DeepDrive in het artikel en het wordt allemaal uitgelegd.
mm gave ontwikkeling.. maar ook wel eng. nu zijn het nog autos die bestuurd worden, wie zegt straks niet dat zulke schietspellen gebruikt worden om moord-robots op te leiden?
Een moord-robot is veel makkelijker te maken dan een zelfrijdende auto. Men neme een hitte-beeld camera en een machine geweer op een motor en schiet alles dat binnen een bepaalde temperatuur zit. Misschien niet de meest optimale implementatie, maar het zal zijn werk doen.
als dat de enige eisen zijn voor je "moord-robot" kan je het beter vergelijken met een baksteen op het gaspedaal leggen en zeggen dat het een zelf rijdende auto is. Die robot van jou zal jouzelf ook neerschieten en onschuldige burgers. Hij moord weliswaar maar dat is dan ook alles. Een zelf rijdende auto doet veel meer dan alleen rijden.
Vooralsnog is het vanuit de verenigde naties en internationaal recht nog altijd verplicht om een mens de trekker over te laten halen volgens mij. Wat niet is kan nog komen natuurlijk, maar dan gaan we wel heel erg doemsdenken. Bovendien betwijfel ik wat een 'moordrobot' kan leren van een dergelijk spel. Het richten en trekker overhalen van een geweer is niet zo heel moeilijk. ook niet met de huidige technieken. Veel moeilijker(belangrijker) voor een dergelijk apparaat is de afweging om wel of niet te schieten. Die komt niet, of nauwelijks aan bod in spellen.
Moord robots?

Wat ga je de robot dan leren? Ik denk dat de meest essentiŽle dingen totaal niet te leren zijn door een AI een shooter te laten spelen.

Als je eenmaal een robot hebt die van a naar b kan navigeren, dan is het enige wat hij nog moet kunnen een of meerdere personen op punt b eventueel neer schieten. Dan is niet iets wat je een robot zou moeten aanleren gezien we al genoeg apparatuur hebben die kan schieten op objecten.
Irrelevant. Dit presenteren ze omdat het leuk klinkt naar het publiek toe. Als ze moord-robots zouden trainen zijn er waarschijnlijk wel betere spellen waarin dat gesimuleerd kan worden, en dan gaan ze dat zeker niet aan de grote klok hangen. Misschien doen ze dat al lang.

Het is niet dat de technologie om trainen in auto's mogelijk te maken het mogelijk maakt om dat ook voor moord-robots-training te doen. Die technologie is er allemaal al lang, iemand moet de toepassing ervoor implementeren, that's it.
Dat is de keerzijde van technologie. De bedoeling is goed maar kan ook voor andere doeleinden worden (mis)bruikt. Dit zou ons niet tegen mogen houden om deze technologie te onderzoeken.
Die zijn er al lang maar beperkt omdat het niet toegestaan is geautomatiseerd de trekker over te halen. Ze doen echter verder alles al, het enige wat een mens nog moet doen is op de vuur knop drukken.
Heeft nog veel te leren blijkbaar. Rijd even snel als een bejaard omaa'tje, rijd door het rood licht en begint dan te bumperkleven omdat de voorligger voor het rood licht staat :p
Ik zou er ECHT niet aan beginnen als je GTA ook online speelt, Rockstar is overgevoelig voor modificaties aan je GTA V files, wees dus niet verbaasd als je opeens een ban krijgt voor hacks/mods.
Maak dus vooraf een 1:1 kopie van je GTA folder en log uit van je RSC alvorens je met zulke mods gaat stoeien.

[Reactie gewijzigd door Martin900 op 12 januari 2017 14:19]

Oh god dit gaat vast vreemde data opgeven. Gebeuren genoeg ongelukken en andere random dingen.
Is dat ook juist niet weer goed? aangezien in het echt ook allerlei random dingen kunnen gebeuren welke niet te voorzien zijn.
Dat vormt de basis van Normal Accident Theory. In complexe systemen (als het verkeer), is het nagenoeg onmogelijk nooit ongelukken te hebben.
Interessant :) Ik kan mij voorstellen dat bij 100% zelfrijdende voertuigen op de weg er veel minder kans is op een ongeluk. Met een menselijke factor in het spel wordt die kans aanzienlijk hoger.

Maar in het geval van een AI is het toch juist handig om deze vreemde situaties te laten ondervinden? Ik zag op Youtube ook een video (van deze AI) waarbij van alles gebeurde maar de AI het toch nog redelijk wist op te lossen. (Alhoewel deze de neiging had door te rijden in plaats van te stoppen en te wachten)
Je benoemt al twee belangrijke punten met dezelfde basis:
1) de menselijke factor: uiteindelijk is een AI ontwikkeld en getraint door een menselijke factor. Deze mens heeft bedacht welke situaties de AI aan zou moeten kunnen, en wat een 'goede' reactie zou zijn. Wie zegt echter dat deze mens het goed had?
2) de menselijke factor: stel we hebben een ideale AI. Dan gaan we die echter weer inzetten in een menselijk systeem. Stel: Er is toch een ongeluk of desnoods een bijna ongeluk, met een schrikreactie als gevolg. Normaal zou je inderdaad stoppen, praten, bijkomen, etc. Maar voor een AI systeem heeft dat natuurlijk geen prioriteit, die wil doorstroming of op tijd op de bestemming zijn.

[Reactie gewijzigd door MeMoRy op 12 januari 2017 13:16]

Goede link. Wat ik vaak al zeg: cascade failure vanwege de complexiteit van systemen die verbonden zijn. Vandaag nog over drones vroeg ik iemand of die als veiligheidsdeskundige kan voorspellen wat een auto-auto gaat doen als er een drone voor op de weg valt.

Hoewel beide techjes niet direct met elkaar te maken hebben zorgt de complexiteit van beide voor potentiŽle gevaren voor andere weggebruikers.

Allereerst omdat de drone Łberhaupt valt. Ten tweede omdat het de auto kan brengen tot een onverwachte reactie.

Maar goed, het meeste wat ik schrijf is helemaal niet nieuw of origineel. Slimme mensen bedachten al die dingen al decennia terug. Marshall McLuhan is er een van. Zijn boeken zouden verplichte lees kost moeten zijn op scholen. 'Understanding Media' kan ik aanraden.
De AI in GTA V is niet al te best. Vooral in (haarspeld)bochten stuurt de AI vaak jouw rijbaan op. Dit gebeurt niet al te vaak in het echt, maar wellicht weegt de AI dit soort gedrag zwaarder mee (en rijdt dan onhandig langzaam in bochten als deze tegenliggers ziet).

De AI is aan te passen, maar dit geldt maar beperkt. Vooral het acceleratiegedrag, snelheid en snelheid waarmee bochten worden genomen zijn makkelijker in te stellen, maar de acties van de AI zijn moeilijker te manipuleren.
Dat zal uiteraard wel kloppen. Persoonlijk zie ik dit dan ook meer als een hulpmiddel voor het experimenteren etc. Ik kan me niet voorstellen dat ze een auto met een op GTA V finetuned AI ťťn op ťťn laten rondrijden in het echt.

Toch lijkt het me dat het een goede indicatie is van de mogelijkheden van een dergelijke AI en welke acties welke invloeden hebben op het gedrag. Het blijft namelijk een "zelflerend" stukje software.
Ik speel nog steeds GTA V (online) en kan dit soort ontwikkelingen wel waarderen, echt vet :D
Waarom Red Alert 2 en GTA V en niet Carmageddon? :+

Op dit item kan niet meer gereageerd worden.


Nintendo Switch Google Pixel XL 2 LG W7 Samsung Galaxy S8 Google Pixel 2 Sony Bravia A1 OLED Microsoft Xbox One X Apple iPhone 8

© 1998 - 2017 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Hardware.Info de Persgroep Online Services B.V. Hosting door True

*