211service.com
En masteralgoritm låter robotar lära sig själva att utföra komplexa uppgifter
Trots allt tal om att maskiner blir intelligenta, kräver det många timmars noggrann och tålmodig programmering att få en sofistikerad robot att göra något komplext, som att ta tag i ett tungt föremål och flytta det från en plats till en annan.
Igor Mordatch , en postdoktor vid University of California, Berkeley, arbetar på ett annat tillvägagångssätt – en som kan hjälpa till att påskynda ankomsten av robothjälpare, om inte överherrar. Han ger en robot ett slutmål och en algoritm som låter den ta reda på hur den ska uppnå målet själv. Det är den typen av självständighet som kommer att vara nödvändig för att till exempel en hemtjänstbot ska kunna hämta en kopp kaffe till dig från disken.
Mordatch arbetar i labb av Pieter Abbeel, en docent i robotteknik vid Berkeley. När jag besökte labbet i år såg jag alla möjliga robotar lära sig utföra olika uppgifter. En stor vit forskningsrobot som heter PR2, som har ett avlångt huvud och två armar med tångliknande händer, började sakta komma på hur man plockar upp ljusa byggstenar, genom en mödosam och ofta klumpig process av försök och misstag.
Eftersom han arbetar med en bättre undervisningsprocess använder Mordatch främst programvara som simulerar robotar. Denna virtuella modell, som först utvecklades med sin doktorandrådgivare vid University of Washington, Todorov , och en annan professor på skolan, Zoran Popovic , har viss förståelse för hur man får kontakt med marken eller med föremål. Inlärningsalgoritmen använder sedan dessa riktlinjer för att söka efter det mest effektiva sättet att uppnå ett mål. Det enda vi säger är 'Detta är målet, och sättet att uppnå målet är att försöka minimera ansträngningen', säger Mordatch. [Motionen] kommer sedan ut dessa två principer.
Mordatchs simulerade robotar finns i alla möjliga former och storlekar, renderade i blockig grafik som ser ut som något från ett ofiskat videospel. Han har testat sin algoritm på humanoida former; huvudlösa, fyrbenta varelser med absurt feta kroppar; och även bevingade skapelser. I varje fall, efter en period av lärande, uppstår ett anmärkningsvärt komplext beteende.
Som den här videon visar kan en humanoid robot lära sig att resa sig från vilken position som helst på marken och stå på två ben på ett väldigt naturligt sätt; eller så kommer den att klättra över på en avsats, eller till och med utföra en huvudställning. Samma process fungerar oavsett vilken form roboten har, och den kan till och med göra det möjligt för två robotar att samarbeta i en uppgift, som att flytta ett tungt föremål.
Med utgångspunkt i detta tidigare arbete, utvecklade Mordatch i år ett sätt för robotar att utföra repetitiva beteenden som att gå, springa, simma eller flyga. Ett simulerat neuralt nätverk tränas för att styra roboten med hjälp av information om dess kropp, den fysiska miljön och målet att röra sig i en viss riktning. Detta producerar naturlig rörelse i virtuella robotar med en humanoid kroppsform och flaxande rörelser i sådana som har vingar. När en operatör talar om för roboten vart den ska gå, anpassar dess neurala nätverk rörelsemedlen därefter.
Något liknande kan hända hos människor och andra djur när de lär sig att röra sig. Ett spädbarn tillbringar mycket tid med att träna på hur det ska röra sin kropp och använder senare den kunskapen för att snabbt och instinktivt planera nya rörelser.
Det här är vackert, säger Josh Tenenbaum , en professor vid avdelningen för hjärna och kognitiv vetenskap vid MIT som studerar hur människor lär sig och arbetar med sätt att tillämpa dessa principer på maskiner. De försöker verkligen lösa ett problem som jag tror att väldigt få människor har försökt lösa tills nyligen.
Mordatch började nyligen använda några av sina tekniker i en liten humanoid robot som heter Darwin (se Robot Toddler lär sig att stå genom att föreställa sig hur man gör det). Att använda samma optimerings- och inlärningstekniker i den verkliga världen är dock mer utmanande eftersom den fysiska världen är mer komplex och oförutsägbar, och eftersom en algoritm kommer att ha ofullständig, eller bullrig, information om sig.