重排視覺世界

文 / Andy Zeng 和 Pete Florence,Google 機器人團隊

重排目標(如整理書架上的書籍,收拾餐桌上的餐具,或推動一堆咖啡豆)是一項基本技能,可以使機器人與我們非結構化且多樣化的世界進行物理交互。對人類來說很容易,但完成這樣的任務對嵌入式機器學習 (ML) 系統來說仍然是一項開放的研究挑戰,因爲它同時需要高級和低級的感知推理。例如,當堆放一摞書時,人們會考慮書本應該放置的位置和順序,同時確保書本的邊緣相互對齊,形成整齊的書堆。

在 ML 的許多應用領域中,模型架構的簡單差異會表現出迥異的泛化特性。因此,我們可能會有這樣的疑問:是否存在某些深層網絡架構能夠支持重排問題的簡單底層元素?例如,卷積架構在計算機視覺中很常見,由於它們編碼翻譯不變性,即使圖像被移動仍能產生相同的響應;而 Transformer 架構在語言處理中很常見,因爲它們利用自我關注捕獲長程上下文的依賴關係。在機器人應用中,一種常見的架構元素是在學習的模型內部使用以目標爲中心的表示,如姿勢、關鍵點或目標描述符,但這些表示需要額外的訓練數據(通常是手動標註數據),並且難以描述困難的場景,例如可變形物(如橡皮泥)、液體(蜂蜜)或一堆東西(切碎的洋蔥)。

今天,我們介紹的是一種用於學習基於視覺的重排任務的簡單模型架構 Transporter Network,在 CoRL 2020 期間作爲論文和專題演講登場。Transporter Nets 使用新穎的 3D 空間理解方法,避免了對以目標爲中心的表示的依賴,普遍適用於基於視覺的操作,比基準端到端替代方案具有更高的採樣效率。因此,它們在真實機器人上的訓練快速且實用。

我們還將發佈 Transporter Nets 的配套開源實現與 Ravens,Ravens 是我們新的模擬基準套件,包含十個基於視覺的操作任務。

Transporter Networks:爲機器人操作重排視覺世界

Transporter Network 架構背後的關鍵思想是,人們可以將重排問題表述爲學習如何移動 3D 空間的一部分。相較於依賴顯式的目標定義(這必然難以捕獲所有邊緣情況),3D 空間是對可以作爲被重排的原子單元的更廣泛定義,可以大範圍地包含一個目標、一個目標的一部分或多個目標等。

Transporter Nets 通過捕獲 3D 視覺世界的深層表示,將其部分覆蓋到自身以想象 3D 空間的各種可能重排來利用此結構。然後,它選擇與訓練中看到的最匹配的重排(例如,來自專家演示),並使用它們參數化機器人動作。這種表述使 Transporter Nets 能夠泛化到未見過的目標,並更好地利用數據中的幾何對稱性,從而推斷出新的場景配置。Transporter Nets 擴展了我們早期的模型,適用於機器人操作的各種重排任務,如基於負擔能力的操作和 TossingBot,只關注抓取和拋擲。

Transporter Nets 捕獲視覺世界的深層表示,將其中部分覆蓋到自身,想象 3D 空間的各種可能重排,尋找最佳結果爲機器人的動作提供參考

Ravens 基準

爲了在相同的環境中評估 Transporter Nets 的性能,以便與基線和消融進行公平比較,我們開發了 Ravens,這是一個由十個模擬的基於視覺的重排任務組成的基準套件。Ravens 具有內置隨機預言機的 Gym API,用於評估模仿學習方法的採樣效率。Ravens 避免了無法轉移到真實環境中的假設:觀察數據僅包含 RGB-D 圖像和相機參數;動作是末端執行器姿勢(通過反向運動學轉換爲關節位置)。

這十項任務的實驗表明,與其他端到端方法相比,Transporter Nets 的採樣效率要高出幾個數量級,並且僅用 100 次演示就能在許多任務上取得超過 90% 的成功率,而基線在相同數據量卻難以泛化。在實踐中,這使得收集足夠多的演示成爲在真實機器人上訓練這些模型的更可行選擇(我們在下面展示了一些示例)。

我們新的 Ravens 基準具有十項基於視覺的模擬操作任務,包括推動和取放。實驗表明,Transporter Nets 的採樣效率比其他端到端方法高出多個數量級。Ravens 具有內置隨機預言機的 Gym API,用於評估模仿學習方法的採樣效率

我們新的 Ravens 基準具有十項基於視覺的模擬操作任務,包括推動和取放。實驗表明,Transporter Nets 的採樣效率比其他端到端方法高出多個數量級。Ravens 具有內置隨機預言機的 Gym API,用於評估模仿學習方法的採樣效率。

亮點

給定 10 個示例演示,Transporter Nets 可以學習拾取和放置任務(如堆盤子(居然容易放錯!))、多模態任務(例如將盒子的任意角對準桌面上的標記)或搭建積木金字塔。

利用閉環視覺反饋,Transporter Nets 有能力通過適量示例學習各種多步驟的順序任務:例如爲漢諾塔移動圓盤,將箱子碼垛,或組裝訓練期間未見過的新物體的套件。這些任務具有相當大的 “遠景”,意味着要解決任務,模型必須正確地對許多個體選擇進行排序。策略還傾向於學習緊急恢復行爲。

關於這些結果,一個令人驚訝的地方是,除了感知之外,模型還開始學習類似高級規劃的行爲。例如,要解決漢諾塔,模型必須選擇下一步要移動的圓盤,這就需要根據當前可見的圓盤及其位置來識別棋盤的狀態。對於盒子碼垛任務,模型必須找到托盤的空位,並確定新的盒子如何放入這些空位。這種行爲之所以頗具挑戰,是因爲它們表明,由於所有的固有不變性,模型可以將能力集中在學習更高級別的操作模式上。

Transporter Nets 還可以學習使用由兩個末端執行器姿勢定義的任何運動基元的任務,例如將一堆小物體推入目標集,或者重新配置一條可變形的繩索來連接一個 3 面正方形的兩個端點。這表明剛性空間位移可以作爲非剛性空間位移的有用先驗。

結論

Transporter Nets 爲學習基於視覺的操作帶來了一種很有前途的方法,但並非沒有侷限性。例如,它們可能容易受到嘈雜 3D 數據的影響,我們只演示了用於基於運動基元的稀疏航點控制,目前尚不清楚如何將其擴展到空間動作空間之外,以實現基於力或扭矩的動作。但總體而言,我們對這一工作方向抱有信心,希望它能爲我們所討論的應用之外的擴展提供靈感。有關詳情,請查閱我們的論文。

致謝

這項研究由 Andy Zeng、Pete Florence、Jonathan Tompson、Stefan Welker、Jonathan Chien、Maria Attarian、Travis Armstrong、Ivan Krasin、Dan Duong、Vikas Sindhwani 和 Johnny Lee 完成,特別感謝 Ken Goldberg、Razvan Surdulescu、Daniel Seita、Ayzaan Wahid、Vincent Vanhoucke、Anelia Angelova、Kendra Byrne 對寫作的實用反饋;Sean Snyder、Jonathan Vela、Larry Bisares、Michael Villanueva、Brandon Hurd 提供的操作和硬件支持;Robert Baruch 提供的軟件基礎架構、Jared Braun 提供的界面貢獻;Erwin Coumans 提供的 PyBullet 建議;Laura Graesser 提供的視頻解說。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/dA7PGJ_bRt331jVdSEcbag