當(dāng)世界模型被用于sim2real:機(jī)器人通過(guò)視覺(jué)想象和交互嘗試來(lái)學(xué)習(xí)
本文轉(zhuǎn)自雷鋒網(wǎng),如需轉(zhuǎn)載請(qǐng)至雷鋒網(wǎng)官網(wǎng)申請(qǐng)授權(quán)。
人類是如何掌握這么多技能的呢?好吧,最初我們并非如此,但從嬰兒時(shí)期開(kāi)始,我們通過(guò)自監(jiān)督發(fā)覺(jué)并練習(xí)越來(lái)越復(fù)雜的技能。但這種自監(jiān)督并不是隨機(jī)的——兒童發(fā)展文獻(xiàn)表明,嬰兒利用他們先前的經(jīng)驗(yàn),通過(guò)互動(dòng)和感官反饋,對(duì)移動(dòng)性、吸吮性、抓握性和消化性等可供性(affordance,也譯作功能可供性、承擔(dān)特質(zhì)、直觀功能、預(yù)設(shè)用途、可操作暗示、示能性等,指事物能夠提示其可以幫助人們做什么的一種屬性或特征)進(jìn)行定向探索。這種類型的定向探索允許嬰兒在既定環(huán)境中學(xué)習(xí)可以做什么以及如何做。那么,在機(jī)器人學(xué)習(xí)系統(tǒng)中,我們是否也可以實(shí)例一個(gè)類似于可供性定向探索的策略?
如下圖所示。在左側(cè),我們先收集了由機(jī)器人完成各種任務(wù)的視頻,比如打開(kāi)和關(guān)閉抽屜、抓取和移動(dòng)物體。在右側(cè),我們放置了一個(gè)機(jī)器人從未見(jiàn)過(guò)的蓋子。機(jī)器人被給予一小段時(shí)間來(lái)熟悉這個(gè)新物體,之后它將獲得一個(gè)目標(biāo)圖像,并負(fù)責(zé)使場(chǎng)景匹配這個(gè)圖像。機(jī)器人如何在沒(méi)有任何外部監(jiān)督的情況下迅速學(xué)會(huì)操控環(huán)境并抓住蓋子?
為此,我們面臨幾項(xiàng)挑戰(zhàn)。當(dāng)機(jī)器人被置于一個(gè)新環(huán)境時(shí),它必須能夠利用其先前的知識(shí)來(lái)思考環(huán)境可能提供的潛在有用行為。然后,機(jī)器人必須能夠?qū)嶋H地練習(xí)這些行為。為了在新的環(huán)境中改進(jìn)自己,機(jī)器人必須能夠在沒(méi)有外部獎(jiǎng)勵(lì)的情況下以某種方式評(píng)估自己的成功。
如果我們能可靠地戰(zhàn)勝這些挑戰(zhàn),就能為一個(gè)強(qiáng)有力的循環(huán)打開(kāi)大門。在這個(gè)循環(huán)中,我們的智能體使用先前的經(jīng)驗(yàn)來(lái)收集高質(zhì)量的交互數(shù)據(jù),然后進(jìn)一步增長(zhǎng)它們以往的經(jīng)驗(yàn),不斷提高它們的潛在效用!
1、VAL:視覺(jué)運(yùn)動(dòng)可供性學(xué)習(xí)
我們的方法,視覺(jué)運(yùn)動(dòng)可供性學(xué)習(xí)(Visuomotor Affordance Learning,簡(jiǎn)稱VAL),解決了這些挑戰(zhàn)。在VAL中,我們首先假設(shè)可以獲得機(jī)器人在各種環(huán)境中展示可供性的先驗(yàn)數(shù)據(jù)集。至此,VAL進(jìn)入了一個(gè)離線階段,該階段使用這些信息學(xué)習(xí) 1)想象新環(huán)境中有用的可供性生成模型,2) 用于有效探索這些可供性的強(qiáng)大離線策略,以及 3) 改進(jìn)該策略的自我評(píng)估度量。最后,VAL已準(zhǔn)備好進(jìn)入在線階段。智能體被放置在一個(gè)新的環(huán)境中,現(xiàn)在可以使用這些學(xué)到的功能來(lái)進(jìn)行自監(jiān)督的微調(diào)。整個(gè)框架如下圖所示。隨后,我們將深入探討離線和在線階段的技術(shù)細(xì)節(jié)。
2、VAL:離線階段
給定一個(gè)展示各種環(huán)境可供性的先驗(yàn)數(shù)據(jù)集,VAL在三個(gè)離線步驟中消化這些信息:用于處理高維真實(shí)世界數(shù)據(jù)的表示學(xué)習(xí),在未知環(huán)境中實(shí)現(xiàn)自監(jiān)督練習(xí)的可供性學(xué)習(xí),用于獲得高性能的初始策略以加快在線學(xué)習(xí)效率的行為學(xué)習(xí)。
首先,VAL使用矢量量化變分自動(dòng)編碼器(VQVAE)學(xué)習(xí)該數(shù)據(jù)的低維表示。這個(gè)過(guò)程將我們的48x48x3圖像壓縮到144維的潛在空間。
在這個(gè)潛在空間的距離是有意義的,為我們自我評(píng)價(jià)成功的關(guān)鍵機(jī)制鋪平了道路。給定當(dāng)前圖像s和目標(biāo)圖像g,我們將它們編碼進(jìn)潛在空間,并設(shè)定它們可以獲得獎(jiǎng)勵(lì)的距離閾值。
隨后,我們還將使用這個(gè)表示作為我們潛在空間的策略和Q函數(shù)。
接下來(lái),VAL 通過(guò)在潛在空間中訓(xùn)練 PixelCNN 來(lái)學(xué)習(xí)可供性模型,以學(xué)習(xí)以環(huán)境圖像為條件的可達(dá)狀態(tài)分布。這是通過(guò)最大化數(shù)據(jù)的似然 p(sn|s0) 來(lái)完成的。我們使用這種可供性模型進(jìn)行定向探索和重新標(biāo)記目標(biāo)。
可供性模型如右圖所示。在該圖的左下方,我們看到條件圖像包含一個(gè)罐子,右上方解碼的潛在目標(biāo)顯示了不同位置的蓋子。這些連貫的目標(biāo)將允許機(jī)器人進(jìn)行連貫的探索。
最后在離線階段,VAL必須從離線數(shù)據(jù)中學(xué)習(xí)行為,然后可以通過(guò)額外的在線交互式數(shù)據(jù)收集進(jìn)行改進(jìn)。
為了實(shí)現(xiàn)這一點(diǎn),我們使用加權(quán)強(qiáng)化學(xué)習(xí)算法(Advantage Weighted Actor Critic)在先驗(yàn)數(shù)據(jù)集上訓(xùn)練目標(biāo)條件策略,這是一種專為離線訓(xùn)練和在線微調(diào)而設(shè)計(jì)的算法。
3、VAL:在線階段
現(xiàn)在,當(dāng)VAL被放置在一個(gè)未見(jiàn)過(guò)的環(huán)境中時(shí),它使用其先前的知識(shí)來(lái)想象有用可供性的視覺(jué)表示,通過(guò)嘗試實(shí)現(xiàn)這些可供性來(lái)收集有用的交互數(shù)據(jù),使用其自我評(píng)估指標(biāo)更新其參數(shù),并一直重復(fù)整個(gè)過(guò)程。
在這個(gè)真實(shí)的例子中,在左側(cè)我們看到了環(huán)境的初始狀態(tài),它提供了打開(kāi)抽屜和其他任務(wù)的功能。
在步驟1中,可供性模型對(duì)潛在目標(biāo)進(jìn)行采樣。通過(guò)解碼目標(biāo)(使用 VQVAE 解碼器,在RL期間從未實(shí)際使用過(guò),因?yàn)槲覀兺耆跐撛诳臻g中操作),我們可以看到可供性是打開(kāi)抽屜。
在步驟2中,我們使用具有采樣目標(biāo)的訓(xùn)練策略。我們看到它成功打開(kāi)了抽屜,實(shí)際上它拉太大力了,直接把抽屜拉了出來(lái)。但這為RL算法進(jìn)一步微調(diào)和完善其策略提供了極其有用的交互。
在線微調(diào)完成后,我們現(xiàn)在可以評(píng)估機(jī)器人在每個(gè)環(huán)境中實(shí)現(xiàn)相應(yīng)的未見(jiàn)過(guò)的目標(biāo)圖像的能力。
4、真實(shí)環(huán)境評(píng)估
我們?cè)谖鍌€(gè)真實(shí)的測(cè)試環(huán)境中評(píng)估我們的方法,并評(píng)估VAL在無(wú)監(jiān)督微調(diào)之前和五分鐘之后完成環(huán)境提供的特定任務(wù)的能力。
每個(gè)測(cè)試環(huán)境至少包含一個(gè)未見(jiàn)過(guò)的交互對(duì)象和兩個(gè)隨機(jī)抽樣的干擾對(duì)象。例如,當(dāng)訓(xùn)練數(shù)據(jù)中有打開(kāi)和關(guān)閉抽屜時(shí),新的抽屜有沒(méi)見(jiàn)過(guò)的把手。
每個(gè)測(cè)試,我們都從離線訓(xùn)練策略開(kāi)始,它每次完成任務(wù)的方式都不一致。然后,我們使用我們的可供性模型收集更多經(jīng)驗(yàn)來(lái)采樣目標(biāo)。最后,我們?cè)u(píng)估經(jīng)過(guò)微調(diào)的策略,它能始終一致地完成任務(wù)。
我們發(fā)現(xiàn),在這些環(huán)境中,VAL在離線訓(xùn)練后始終顯示出有效的零樣本泛化,隨后通過(guò)其可供性導(dǎo)向的微調(diào)方案快速改進(jìn)。與此同時(shí),先前的自監(jiān)督方法在這些新環(huán)境中幾乎沒(méi)有改善。這些令人興奮的結(jié)果表明,像VAL這樣的方法具有使機(jī)器人成功操縱的潛力,遠(yuǎn)遠(yuǎn)超出它們現(xiàn)在習(xí)慣的有限的出廠設(shè)置。
我們的2,500個(gè)高質(zhì)量機(jī)器人交互軌跡數(shù)據(jù)集,涵蓋20個(gè)抽屜把手,20個(gè)鍋把手,60個(gè)玩具和60個(gè)干擾物,現(xiàn)已在我們的網(wǎng)站上公開(kāi)發(fā)布。
數(shù)據(jù)集地址:https://sites.google.com/view/val-rl/datasets
5、模擬評(píng)估與代碼
為了進(jìn)一步分析,我們?cè)诰哂幸曈X(jué)和動(dòng)態(tài)變化的程序生成的多任務(wù)環(huán)境中運(yùn)行 VAL。場(chǎng)景中的對(duì)象以及它們的顏色和位置都是隨機(jī)的。媒介可以用把手打開(kāi)抽屜、抓取物體并移動(dòng)它們、按按鈕打開(kāi)隔間等等。
給定機(jī)器人一個(gè)包含各種環(huán)境的先驗(yàn)數(shù)據(jù)集,并根據(jù)其在以下測(cè)試環(huán)境中的微調(diào)能力進(jìn)行評(píng)估。
同樣,給定一個(gè)單一的非策略數(shù)據(jù)集,我們的方法可以快速學(xué)習(xí)高級(jí)操作技能,包括抓取物體、打開(kāi)抽屜、移動(dòng)物體,以及對(duì)各種新對(duì)象使用工具。
環(huán)境和算法代碼均已公開(kāi),請(qǐng)查閱我我們的代碼庫(kù)。
代碼地址:https://github.com/anair13/rlkit/tree/master/examples/val
6、未來(lái)的工作
就像計(jì)算機(jī)視覺(jué)和自然語(yǔ)言處理等領(lǐng)域的深度學(xué)習(xí)是由大型數(shù)據(jù)集和泛化驅(qū)動(dòng)的一樣,機(jī)器人可能需要從類似規(guī)模的數(shù)據(jù)中學(xué)習(xí)。正因?yàn)槿绱?,離線強(qiáng)化學(xué)習(xí)的改進(jìn)對(duì)于使機(jī)器人能夠利用大型先驗(yàn)數(shù)據(jù)集至關(guān)重要。此外,這些離線策略要么需要快速的非自主微調(diào),要么需要完全自主的微調(diào),以便在現(xiàn)實(shí)世界中部署是可行的。最后,一旦機(jī)器人獨(dú)立運(yùn)行,我們就能獲得源源不斷的新數(shù)據(jù),這就強(qiáng)調(diào)了終身學(xué)習(xí)算法的重要性和價(jià)值。