人們可以靈活地在物理環境中操縱物體以實現各種目標。機器人技術的一大挑戰是成功地訓練機器人做同樣的事情,即開發一種能夠根據任意使用者命令執行多種任務的通用機器人。面對現實世界的機器人也不可避免地會遇到新的使用者指令和訓練過程中沒有看到的情況。因此,必須訓練機器人在各種情況下執行多項任務,更重要的是,能夠根據人類使用者的要求解決新任務,即使機器人沒有明確接受這些任務的培訓。
現有的機器人研究在允許機器人泛化到新的物件、任務 描述和目標方面取得了長足的進步。. 然而,讓機器人完成描述全新任務的指令在很大程度上仍然遙不可及。這個問題非常困難,因為它需要機器人既能破譯新指令,又能識別如何在沒有任何訓練資料的情況下完成任務。當機器人需要同時處理其他泛化軸時,這個目標變得更加困難,例如場景的可變性和物體的位置。因此,Google提出了一個問題:Google如何才能將值得注意的泛化能力賦予能夠從原始畫素執行復雜操作任務的真實機器人?此外,語言模型的泛化能力能否幫助支援其他領域更好的泛化,例如真實機器人的 視覺運動控制?
在CoRL 2021上發表的 “ BC-Z: Zero-Shot Task Generalization with Robotic Imitation Learning ”中,Google提出了一項新研究,研究機器人如何泛化到他們未經訓練的新任務。該系統稱為 BC-Z,包括兩個關鍵元件:
( i ) 涵蓋 100 個不同任務的大規模演示資料集的集合
( ii ) 以任務的語言或影片指令為條件的神經網路策略。
由此產生的系統可以執行至少 24 項新任務,包括需要與以前未一起看到的物件進行互動的任務。Google也很高興釋出 用於訓練Google的策略的機器人演示資料集,以及預先計算的任務嵌入。
BC-Z 系統允許機器人完成未明確訓練機器人執行的新任務的指令。它透過訓練策略以將任務描述與機器人的相機影象一起作為輸入並預測正確的動作來做到這一點。
收集 100 個任務的資料 完全泛化到一個新任務比泛化到訓練任務中的保留變化要困難得多。簡而言之,Google希望機器人具有更多的泛化能力,這需要Google在大量不同的資料上訓練它們。
Google透過使用虛擬現實耳機遙控機器人來 收集資料。該資料收集遵循類似於如何教自動駕駛汽車駕駛的方案。首先,人工操作員記錄每個任務的完整演示。然後,一旦機器人學習了初始策略,就會在密切監督下部署該策略,如果機器人開始犯錯誤或卡住,操作員會進行干預並在允許機器人恢復之前進行更正。
這種示範和干預的結合已被證明可以透過減少複合錯誤來顯著提高績效。在Google的實驗中,與僅使用人工演示相比,Google發現使用這種資料收集策略時效能提高了 2 倍。
為 100 個訓練任務中的 12 個收集示例演示,從機器人的角度進行視覺化並以 2 倍速度顯示。
訓練通用策略
對於所有 100 個任務,Google使用這些資料來訓練神經網路策略,將相機影象對映到機器人抓手和手臂的位置和方向。至關重要的是,為了讓這個策略有可能解決超過 100 個訓練任務的新任務,Google還輸入了任務的描述,可以是語言命令的形式(例如,“將葡萄放在紅色碗中”)或影片做任務的人。
為了完成各種任務,BC-Z 系統將描述任務的語言命令或執行任務的人的影片作為輸入,如此處所示。
透過在 100 個任務上訓練策略並根據這樣的描述調整策略,Google解鎖了神經網路能夠解釋和完成新任務指令的可能性。然而,這是一個挑戰,因為神經網路需要正確解釋指令,在視覺上識別該指令的相關物件,同時忽略場景中的其他雜波,並將解釋的指令和感知轉化為機器人的動作空間。
實驗結果
在語言模型中,眾所周知,句子嵌入泛化了訓練資料中遇到的概念組合。例如,如果您在“拿起杯子”和“推碗”等句子上訓練翻譯模型,該模型也應該正確翻譯“推杯子”。
Google研究了語言編碼器中的組合泛化能力是否可以轉移到真實機器人上的問題,即能夠組合看不見的物件-物件和任務-物件對。
Google透過預先選擇一組 28 個任務來測試這種方法,其中沒有一個在 100 個訓練任務中。例如,這些新的測試任務之一是拿起葡萄並將它們放入陶瓷碗中,但訓練任務涉及用葡萄做其他事情並將其他物品放入陶瓷碗中。訓練期間,葡萄和陶瓷碗從未出現在同一個場景中。
從數量上看,Google看到機器人可以在一定程度上成功完成 28 個保留任務中的 24 個,這表明其具有良好的泛化能力。此外,Google發現訓練任務的表現和測試任務的表現之間存在明顯的小差距。這些結果表明,簡單地改進多工視覺運動控制可以顯著提高效能。
保持任務的 BC-Z 效能,即機器人未經過訓練執行的任務。系統正確解釋語言命令並將其轉化為行動以完成Google評估中的許多工。
這項研究的結果表明,簡單的模仿學習方法可以以一種能夠零樣本泛化到新任務的方式進行擴充套件。也就是說,它顯示了機器人能夠成功執行訓練資料中沒有的行為的第一個跡象。有趣的是,在無基礎的語言語料庫上預訓練的語言嵌入可用於出色的任務調節器。Google證明了自然語言模型不僅可以為機器人提供靈活的輸入介面,而且預訓練的語言表示實際上賦予下游策略新的泛化能力,例如將看不見的物件對組合在一起。
在構建該系統的過程中,Google確認定期人工干預是實現良好效能的一種簡單但重要的技術。雖然未來還有大量工作要做,但Google相信 BC-Z 的零樣本泛化能力是提高機器人學習系統的通用性和允許人們指揮機器人的重要進步。Google在本文中釋出了用於訓練策略的遙控演示,Google希望這將為研究人員提供寶貴的資源,用於未來的多工機器人學習研究。