En robothånd lærte seg selv å løse en Rubiks kube etter å ha laget sitt eget treningsregime

OPENAI OpenAI





For over et år siden kunngjorde OpenAI, det San Francisco-baserte for-profit AI-forskningslaboratoriet, at det hadde trent en robothånd til å manipulere en kube med bemerkelsesverdig fingerferdighet.

Det høres kanskje ikke verdensberøvende ut. Men i AI-verdenen var det imponerende av to grunner. For det første hadde hånden lært seg selv å fikle med kuben ved hjelp av en forsterkningslæringsalgoritme, en teknikk basert på måten dyr lærer på. For det andre hadde all trening blitt utført i simulering, men den klarte å oversette til den virkelige verden. På begge måter var det et viktig skritt mot mer smidige roboter for industrielle og forbrukerapplikasjoner.

Jeg ble litt overrasket, sier Leslie Kaelbling, en robotiker og professor ved MIT, om resultatene fra 21018. Det er ikke noe jeg hadde forestilt meg at de kunne ha fått til å fungere.



I en nytt papir i dag har OpenAI sluppet de siste resultatene med sin robothånd, Dactyl. Denne gangen har Dactyl lært å løse en Rubiks kube med én hånd – nok en gang gjennom forsterkningslæring i simulering. Dette er bemerkelsesverdig ikke så mye fordi en robot tok det gamle puslespillet som fordi prestasjonen tok et nytt nivå av behendighet.

Dette er et veldig vanskelig problem, sier Dmitry Berenson, en robotiker ved University of Michigan som spesialiserer seg på maskinmanipulasjon. Den typen manipulasjon som kreves for å rotere Rubiks kubens deler er faktisk mye vanskeligere enn å rotere en terning.

Dactyl med fingrene bundet Dactyl iført gummihanske Dactyl blir drevet av

Under testing løste Dactyl Rubiks kube med suksess selv under uventede omstendigheter.



Fra den virtuelle til den fysiske verden

Tradisjonelt har roboter kun vært i stand til å manipulere objekter på svært enkle måter. Mens forsterkningslæringsalgoritmer har sett stor suksess med å oppnå komplekse oppgaver i programvare, som å slå den beste menneskelige spilleren i det eldgamle spillet Go, har det vært en annen historie å bruke dem til å trene en fysisk maskin. Det er fordi algoritmene må avgrense seg selv gjennom prøving og feiling - i mange tilfeller millioner av runder med det. Det ville trolig tatt altfor lang tid, og mye slitasje, for en fysisk robot å gjøre dette i den virkelige verden. Det kan til og med være farlig hvis roboten maser vilt for å samle inn data.

For å unngå dette bruker robotikere simulering: de bygger en virtuell modell av roboten deres og trener den virtuelt til å utføre oppgaven. Algoritmen lærer i sikkerheten til det digitale rommet og kan porteres inn i en fysisk robot etterpå. Men den prosessen kommer med sine egne utfordringer. Det er nesten umulig å bygge en virtuell modell som nøyaktig gjenskaper alle de samme lovene for fysikk, materielle egenskaper og manipulasjonsatferd sett i den virkelige verden - enn si uventede omstendigheter. Jo mer kompleks roboten og oppgaven er, desto vanskeligere er det å bruke en praktisk talt trent algoritme i den fysiske virkeligheten.

Dette er det som imponerte Kaelbling med OpenAIs resultater for et år siden. Nøkkelen til suksessen var at laboratoriet forvrengte de simulerte forholdene i hver treningsrunde for å gjøre algoritmen mer tilpasningsdyktig til ulike muligheter.



De rotet til simulatoren sin på alle slags sprø måter, sier Kaelbling. Ikke bare endret de hvor mye tyngdekraften det er - de endret hvilken vei tyngdekraften peker. Så ved å prøve å konstruere en strategi som fungerte pålitelig med alle disse sprø permutasjonene i simuleringen, endte algoritmen faktisk med å fungere i den virkelige roboten.

I den siste artikkelen tar OpenAI denne teknikken ett skritt videre. Tidligere måtte forskerne randomisere parameterne i miljøet ved å håndplukke hvilke permutasjoner de trodde ville føre til en bedre algoritme. Nå gjør treningssystemet dette av seg selv. Hver gang roboten når et visst mestringsnivå i det eksisterende miljøet, justerer simulatoren sine egne parametere for å gjøre treningsforholdene enda vanskeligere.

Resultatet er en enda mer robust algoritme som kan bevege seg med den presisjonen som kreves for å rotere en Rubiks kube i det virkelige liv. Gjennom testing fant forskerne at Dactyl også vellykket løste kuben under forskjellige forhold som den ikke hadde blitt trent på. For eksempel var den i stand til å fullføre oppgaven mens den hadde på seg en gummihanske, mens den hadde noen fingre bundet sammen, og mens den ble drevet av en utstoppet lekesiraff.



Generelle roboter

OpenAI mener de siste resultatene gir sterke bevis på at deres tilnærming vil låse opp mer generelle roboter som kan tilpasse seg i åpne miljøer som et hjemmekjøkken. En Rubiks kube er en av de mest kompliserte stive gjenstandene som finnes, sier Marcin Andrychowicz fra OpenAI. Jeg tror andre objekter ikke vil være mye mer kompliserte.

Selv om det er mer komplekse oppgaver som involverer flere objekter eller deformerbare objekter, sier han, føler han seg trygg på at laboratoriets metode kan trene roboter for dem alle: Jeg tror denne tilnærmingen er tilnærmingen til utbredt bruk av robotikk.

Både Berenson og Kaelbling er imidlertid fortsatt skeptiske. Det kan være et inntrykk av at det er én enhetlig teori eller system, og nå bruker OpenAI det bare på denne oppgaven og den oppgaven, sier Berenson om den forrige og nåværende artikkelen. Men det er ikke det som skjer i det hele tatt. Dette er isolerte oppgaver. Det er vanlige komponenter, men det er også en enorm mengde ingeniørarbeid her for å få hver ny oppgave til å fungere.

Det er derfor jeg føler meg litt ukomfortabel med påstandene om at dette fører til generelle roboter, sier han. Jeg ser på dette som et veldig spesifikt system ment for en spesifikk applikasjon.

En del av problemet, mener Berenson, er selve forsterkende læring. Av natur er teknikken designet for å mestre én bestemt ting, med en viss fleksibilitet for å håndtere variasjoner. Men i den virkelige verden strekker antallet potensielle variasjoner seg utover det som med rimelighet kan simuleres. I en rengjøringsoppgave kan du for eksempel ha forskjellige typer mopper, forskjellige typer søl og forskjellige typer gulv.

Forsterkende læring er også designet for å lære nye evner stort sett fra bunnen av. Det er verken effektivt innen robotikk eller sant til hvordan mennesker lærer. Hvis du allerede er et rimelig kompetent menneske og jeg prøvde å lære deg en motorisk ferdighet på kjøkkenet – som om du kanskje aldri har pisket noe med en skje – er det ikke slik at du må lære deg hele motorkontrollen på nytt, sier Kaelbling .

Å bevege seg utover disse begrensningene, hevder Berenson, vil kreve andre, mer tradisjonelle robotteknikker. Det vil være noen læringsprosesser – sannsynligvis forsterkende læring – på slutten av dagen, sier han. Men jeg tror at de faktisk burde komme mye senere.

For å få flere historier som dette levert direkte til innboksen din, meld deg på vårt Webby-nominerte AI-nyhetsbrev The Algorithm. Det er gratis.

gjemme seg