Google-onderzoek laat ai eigen voortbewegingstechnieken ontwikkelen

Wetenschappers van Googles Deepmind-onderzoeksafdeling voor kunstmatige intelligentie hebben een onderzoek gepubliceerd naar manieren om ai te 'belonen'. Hiertoe gebruiken ze een complexe omgeving, waarin de ai zijn eigen manier van voortbeweging moet bedenken.

De wetenschappers hebben hoogtepunten van hun onderzoek gepubliceerd in de vorm van een video. Daarin is te zien hoe een onuitputtelijke agent zich in verschillende omgevingen voortbeweegt, vaak op uiterst creatieve manieren. Er zijn verschillende modellen ontwikkeld. Zo is er de planar walker, die het meeste wegheeft van een paar benen zonder torso. Er zijn ook een soort vierpotige spin en een humanoïde. Elke verschijning heeft weer effect op de gekozen techniek, onder meer doordat de complexiteit andere mogelijkheden biedt.

Zo is in de video te zien dat de agent leert springen, bukken en klimmen. Uiteraard zit er ook een doel achter de soms komische vertoning. De onderzoekers willen aantonen dat het niet altijd nodig is om een zorgvuldig gekozen beloning voor zelflerende systemen te bedenken bij reinforcement learning. In hun onderzoek hebben ze ervoor gekozen om de beloning te definiëren als 'voorwaartse vooruitgang', of eigenlijk 'zo ver mogelijk vooruitkomen'. Ze willen demonstreren dat een complexe omgeving ook kan leiden tot complex gedrag zonder dat daar een ingewikkelde beloning voor nodig is.

Helaas!
De video die je probeert te bekijken is niet langer beschikbaar op Tweakers.net.

Door Sander van Voorst

Nieuwsredacteur

10-07-2017 • 15:27

29 Linkedin

Reacties (29)

29
29
10
4
1
14
Wijzig sortering
Doet me denken aan een onderzoek van een paar jaar geleden - youtube linkje . Daarvan zijn de modellen iets anders, maar volgens mij de basis hetzelfde; machine learning gebruiken om vanaf een willekeurige initialisatie tot een oplossing te komen die vooruitgang garandeert.

Een leuk onderzoeksveld, zou gaaf zijn om deze algoritmes goed genoeg te krijgen voor in spelletjes.

Vanuit de robotica is hier ook altijd interesse voor, hoewel het moeilijk is om een robot te laten leren omdat ze slecht tegen vallen kunnen - Youtube filmpje van een lerende robot. en linkje naar relevant artikel.

[Reactie gewijzigd door wewa op 10 juli 2017 15:59]

Dit bestaat al sinds 1995 en is honderden keren gedaan, ook met eenvoudige cost functies zoals de totaal verbruikte energie. Begrijp me niet verkeerd maar er zijn al veel interessantere resultaten geboekt dan dit voorbeeeld.

[Reactie gewijzigd door unglaublich op 10 juli 2017 16:14]

Nou, het gaat er om of simpele beloningsfuncties genoeg zouden zijn voor zeer complexe AI ontwikkeling...

Misschien was dat antwoord ook al aangenomen als waar*, doch blijft het een leuk onderzoeks-onderwerp :D


*modellen gezien zo simpel als google's voorbeeld:

vang zoveel mogelijk zonlicht op
Overleef (Polyworld)
Loop rechts (MarI/O)
Maximalizeer RAM-inhoud (Suckerpinch's NES AI)


[edit]
Past eigenlijk wel in het licht van Q-Learning, een actie-keuze-model waarin reeksen van acties geleerd moeten worden, voor er een beloning komen zal.
In dit verhaal, moet de robot veel spiertjes leren te gebruiken om te leren wat liggen, staan en lopen in houd. Onmensenlijke taak eigenlijk :P

[Reactie gewijzigd door Flipull op 10 juli 2017 16:38]

naja zo anders is dat ook niet hoor:
http://www.goatstream.com/research/papers/SA2013/

dit is ook al 3-4 jaar oud en gebruikt een neural netwerk om spieren aan te sturen.

maargoed de combinatie met de "visuele identificatie" van en planning om een zekere actie te doen is wel indrukwekkend.

[Reactie gewijzigd door freaq op 10 juli 2017 19:27]

Het enige dat mij stoort aan deze video is dat er wordt gekeken met 1 snelheid, lijkt zo snel mogelijk, waardom geen adaptieve snelheid om misschien is dat een volgende fase in het leerproces.
Onderschat het verschil niet tussen simpel voortbewegen in een heel simpele omgeving (lopen, zwemmen OF recht omhoog springen) en een complexe omgeving (lopen, springen over opstakels en bukken tegelijkertijd).
Het concept is denk ik niet echt wezenlijk verschillend. Hoe het met de meeste werkt is een score bijhouden van "afstand" en gewoon "random bewegingen" maken. Je probeert de bewegingen te vinden waar de score het hoogste is, door te variëren op de voorgaande probeersels die hoge punten haalden.

Je kan de computer dan voor elk obstakel apart laten trainen en deze resultaten gebruiken in de gehele "course".
Met het grote verschil dat (zover ik kan zien) de voorbeelden in jouw link leren van een model, i.p.v. end-to-end.
Doet me hier aan denken:
https://www.youtube.com/watch?v=xOCurBYI_gY
Mario en andere NES spellen gespeeld door AI, waar ook de 'beloning' voor de AI de vooruitgang is.
Hilarisch om die humanoids te zien navigeren over en rond de obstakels...hahaha. Uiteraard een bijproduct van de eigenlijke test, maar daarmee niet minder grappig :)
Dit soort onderzoek is al heel oud, hier is een paper uit 1994 (!) waarin virtuele wezens leren lopen. Vrij bizar dat Google dit als innovatief presenteert en ook dat de journalistiek dit als hapklare brokken overneemt zonder eerst verder onderzoek te doen.

Veel van wat Google claimt uitgevonden te hebben is al lang geleden ergens ontwikkeld waarbij ik van een advertentiebedrijf dat probeert een technologiebedrijf te zijn eigenlijk ook niets anders zou verwachten.
Wat googles AI onderzoekers hier interessant en innovatief aan vinden is niet het leren lopen zelf, maar de manier waarop de AI getraind wordt (met een simpele beloning "vooruitkomen = goed").

Dat het in de media komt vanwege grappige filmpjes doet daar niks aan af en komt ongetwijfeld door een samenspel tussen de media en de marketingafdeling van Google.

Of dit precieze stukje onderzoek nou echt baanbrekend is, kan je over twisten, maar vergis je niet, de AI afdeling (Deepmind) van "advertentiebedrijf" Google is echt een voorloper en staat zeker in de top 5 van meest vooruitstrevende AI-ontwikkelaars. Waarschijnlijk nog hoog ook, ook al is dat niet 100% objectief te bepalen. Deepmind is overigens ook maar gekocht door Google, maar wel vanuit een sterke interne drang van de top van het bedrijf om echt fundamenteel AI onderzoek te doen.

[Reactie gewijzigd door Lapa op 10 juli 2017 16:58]

Zoals die mensachtige figuurtjes zie ik ook altijd lui langskomen die uit 't café komen zondagochtend.
oh wat erg, ik moest gewoon hardop lachen hier om deze comment :D jammer dat er geen +1 grappig moderatie meer is...kunnen we geen 'duimpje' hier krijgen zoals op het forum als je een comment waardeert?
Idd. Wat studentenhumor. Het is natuurlijk de DOF aantal wat daar gewoon wat lastigheid met zich meebrengt. Alcohol voegt immers ook wat "randomisation" toe aan de DOF wat normaliter zo gecoördineerd is tijdens het lopen bij mensen.
Ik dacht eigenlijk meteen hieraan.
Next gen QWOP of headcrabs :D.

Het zou gaaf zijn om modellen als dit in Unreal Engine te hebben.

[Reactie gewijzigd door K.Vriend op 10 juli 2017 15:50]

In gaming, Neuraal netwerk AI bestaat en is een vergelijkend model, waarbij er een kost bate aspect word gebruikt inplaats van een simpel switch statement Met condities. Dit verbeterd de AI waarbij het meestal niet meer voorkomt dat een AI bijvoorbeeld in een bepaalde modus blijft hangen of vreemde handelingen doet.
Ik heb zelf de lectures niet gevolgd over neural network AI. Maar wel wat van mee gekregen. Deze techniek is en wordt de nieuwe standaard binnen Game development. Games moet het wel realtime draaien.
Lijkt wel een beetje op QWOP
Soms lijken ze ook gewoon motorisch gestoord. Hoe lang zou het duren voor dat ze met hun bewegingsmogelijkheden een optimale vorm van bewegen gevonden hebben? Neem nu die "spin". Die rende met 1 poot naar voren en 1 naar achteren en 2 aan de zijkant, alsof hij met sommige poten kon lopen en met andere alleen kon "sturen en lichte sprongen kon maken". In het filmpje ervoor liep hij bijna zoals een hond of kat zou rennen, met de poten 2-aan-2. Dat zag er niet alleen natuurlijker uit, maar liep ook veel vloeiender.
Ik snap ook nog altijd niet waarom men dit soort AI toepassingen niet in game engines stopt? Train een class/character en de animaties zijn een stuk vloeiender en logischer.

Al zien de animaties in dit filmpje er wel erg slecht uit. Er was een tijdje geleden ook een stuk betere: https://www.youtube.com/watch?v=pgaEE27nsQw

[Reactie gewijzigd door - peter - op 10 juli 2017 17:08]

Omdat een game nog veel meer in real time moet doen dan alleen de beweging van 1 npc uitrekenen. Dit kost een hoop processorkracht.
Ben benieuwd wat er gebeurd als je een 'pijn' factor toevoegt (strafpunten als er iets anders dan voeten wordt geraakt). Ik denk dat je dan behoorlijk dicht in de buurt komt van menselijk lopen!

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee