En robothand lärde sig själv att lösa en Rubiks kub efter att ha skapat sin egen träning

OPENAI OpenAI





För över ett år sedan meddelade OpenAI, San Francisco-baserade vinstdrivande AI-forskningslabbet, att de hade tränat en robothand att manipulera en kub med anmärkningsvärd skicklighet.

Det kanske inte låter omvälvande. Men i AI-världen var det imponerande av två anledningar. För det första hade handen lärt sig själv hur man fifflar med kuben med hjälp av en förstärkningsinlärningsalgoritm, en teknik som bygger på hur djur lär sig. För det andra hade all träning gjorts i simulering, men den lyckades översättas till den verkliga världen. På båda sätten var det ett viktigt steg mot mer smidiga robotar för industriella och konsumenttillämpningar.

Jag blev lite förvånad, säger Leslie Kaelbling, en robotist och professor vid MIT, om resultaten från 21018. Det är inget jag skulle ha föreställt mig att de kunde ha fått för att fungera.



I en nytt papper idag har OpenAI släppt de senaste resultaten med sin robothand, Dactyl. Den här gången har Dactyl lärt sig att lösa en Rubiks kub med en hand – återigen genom förstärkningsinlärning i simulering. Detta är anmärkningsvärt inte så mycket för att en robot slog det gamla pusslet som för att prestationen tog en ny nivå av skicklighet.

Det här är ett riktigt svårt problem, säger Dmitry Berenson, en robotist vid University of Michigan som är specialiserad på maskinmanipulation. Den typ av manipulation som krävs för att rotera Rubiks kubs delar är faktiskt mycket svårare än att rotera en kub.

Dactyl med knutna fingrar Dactyl bär en gummihandske Dactyl drivs av

Under testningen löste Dactyl Rubiks kub framgångsrikt även under oväntade omständigheter.



Från den virtuella till den fysiska världen

Traditionellt har robotar bara kunnat manipulera objekt på mycket enkla sätt. Medan förstärkningsinlärningsalgoritmer har sett stor framgång i att uppnå komplexa uppgifter i mjukvara, som att slå den bästa mänskliga spelaren i det antika spelet Go, har det varit en annan historia att använda dem för att träna en fysisk maskin. Det beror på att algoritmerna måste förfina sig själva genom försök och misstag - i många fall miljontals omgångar av det. Det skulle förmodligen ta alldeles för lång tid, och mycket slitage, för en fysisk robot att göra detta i den verkliga världen. Det kan till och med vara farligt om roboten tjatade vilt för att samla in data.

För att undvika detta använder robotiker simulering: de bygger en virtuell modell av sin robot och tränar den virtuellt för att utföra uppgiften. Algoritmen lär sig i säkerheten i det digitala rummet och kan portas in i en fysisk robot efteråt. Men den processen kommer med sina egna utmaningar. Det är nästan omöjligt att bygga en virtuell modell som exakt replikerar alla samma lagar för fysik, materialegenskaper och manipulationsbeteenden som ses i den verkliga världen - än mindre oväntade omständigheter. Således, ju mer komplex roboten och uppgiften är, desto svårare är det att tillämpa en praktiskt taget tränad algoritm i den fysiska verkligheten.

Detta är vad som imponerade på Kaelbling med OpenAI:s resultat för ett år sedan. Nyckeln till dess framgång var att labbet förvrängde de simulerade förhållandena i varje träningsomgång för att göra algoritmen mer anpassningsbar till olika möjligheter.



De förstörde sin simulator på alla möjliga galna sätt, säger Kaelbling. Inte bara ändrade de hur mycket gravitation det finns – de ändrade vilken väg gravitationen pekar. Så genom att försöka konstruera en strategi som fungerade tillförlitligt med alla dessa galna permutationer av simuleringen, slutade algoritmen faktiskt att fungera i den riktiga roboten.

I den senaste artikeln tar OpenAI denna teknik ett steg längre. Tidigare fick forskarna randomisera parametrarna i miljön genom att handplocka vilka permutationer de trodde skulle leda till en bättre algoritm. Nu gör träningssystemet detta av sig självt. Varje gång roboten når en viss nivå av behärskning i den befintliga miljön, justerar simulatorn sina egna parametrar för att göra träningsförhållandena ännu svårare.

Resultatet är en ännu mer robust algoritm som kan röra sig med den precision som krävs för att rotera en Rubiks kub i verkligheten. Genom tester fann forskarna att Dactyl också framgångsrikt löste kuben under olika förhållanden som den inte hade tränats på. Till exempel kunde den utföra uppgiften med en gummihandske på sig, samtidigt som den hade några fingrar sammanbundna och medan den blev knuffad av en uppstoppad leksaksgiraff.



Allmänna robotar

OpenAI tror att de senaste resultaten ger starka bevis för att deras tillvägagångssätt kommer att låsa upp fler generella robotar som kan anpassa sig i öppna miljöer som ett hemkök. En Rubiks kub är ett av de mest komplicerade stela föremålen som finns, säger Marcin Andrychowicz på OpenAI. Jag tror att andra objekt inte kommer att vara mycket mer komplicerade.

Även om det finns mer komplexa uppgifter som involverar fler föremål eller deformerbara föremål, säger han, känner han sig säker på att labbets metod kan träna robotar för dem alla: jag tror att det här tillvägagångssättet är tillvägagångssättet för utbredd användning av robotteknik.

Både Berenson och Kaelbling är dock fortfarande skeptiska. Det kan finnas ett intryck av att det finns en enhetlig teori eller system, och nu tillämpar OpenAI det bara på den här uppgiften och den uppgiften, säger Berenson om den tidigare och nuvarande artikeln. Men det är inte alls vad som händer. Det är isolerade uppgifter. Det finns vanliga komponenter, men det finns också en enorm mängd teknik här för att få varje ny uppgift att fungera.

Det är därför jag känner mig lite obekväm med påståendena om att detta leder till generella robotar, säger han. Jag ser detta som ett mycket specifikt system avsett för en specifik tillämpning.

En del av problemet, tror Berenson, är själva förstärkningsinlärningen. Av naturen är tekniken designad för att bemästra en viss sak, med viss flexibilitet för att hantera variationer. Men i den verkliga världen sträcker sig antalet potentiella variationer utöver vad som rimligen kan simuleras. I en städuppgift kan man till exempel ha olika sorters moppar, olika sorters spill och olika sorters golv.

Förstärkningsinlärning är också utformad för att lära sig nya förmågor till stor del från grunden. Det är varken effektivt inom robotik eller sant för hur människor lär sig. Om du redan är en någorlunda kompetent människa och jag försökte lära dig en motorisk färdighet i köket – som att du kanske aldrig har vispat något med en sked – är det inte så att du måste lära dig hela din motoriska kontroll igen, säger Kaelbling .

Att gå bortom dessa begränsningar, hävdar Berenson, kommer att kräva andra, mer traditionella robottekniker. Det kommer att bli några lärandeprocesser – förmodligen förstärkningsinlärning – i slutet av dagen, säger han. Men jag tror att de borde komma mycket senare.

För att få fler berättelser som denna levererade direkt till din inkorg, registrera dig för vårt Webby-nominerade AI-nyhetsbrev The Algorithm. Det är gratis.

Dölj