Open Source Robotics

精選高品質的開源機器人專案、工具與軟體,推動機器人社群向前發展。

Universal Visual Decomposer: Long-Horizon Manipulation Made Easy

作者: Zichen Zhang, Yunshuang Li, Osbert Bastani, Abhishek Gupta, Dinesh Jayaraman, Yecheng Jason Ma, Luca Weihs · ICRA 2024

授權條款

  • 開放取用
  • 論文: CC BY 4.0

以下內容皆依據論文全文,依其 CC BY 4.0 授權條款使用;圖表已標示作者。

一句話摘要

UVD 在示範影片中找出預先訓練視覺嵌入距離不再下降之處作為子目標,再將其用於目標條件模仿學習與獎勵塑形。

為何重要

UVD 只需要影片示範與一個現成的編碼器,分解步驟在標準策略訓練之外,每條軌跡只增加不到 0.1 秒。以這種方式找到的子目標,讓在某些任務順序上訓練的策略能執行相同子任務的未見順序,因而減少為每個任務序列蒐集示範的需求。

問題

長時程操作會遇到誤差累積、龐大的觀測與動作空間,以及微弱的學習訊號,因此任務通常會被切分成子任務。現有的分解方法需要針對特定任務的知識,例如本體感知或已知的子任務結構,或需要在大型資料集上訓練、計算量龐大的生成模型,因此無法直接套用到單純的影片示範上。

提出的方法

UVD 採用一個凍結的預先訓練視覺編碼器(例如 VIP、R3M 或 LIV),並從最終影格往回處理:在一個子任務內,到目前目標的嵌入距離應該單調下降,因此單調性被打破的最晚一個影格就成為前一個子目標,並重複此步驟直到影片開頭。找出的子目標用來為目標條件行為複製重新標註示範,並將 RL 獎勵定義為每一步到目前子目標的嵌入距離減少量。測試時,目標來自最近鄰搜尋(單一任務),或來自依序轉送給定的子目標序列。

關鍵見解

  • 為了編碼任務進度而在短影片上訓練的表示(VIP、R3M、LIV),在單一子任務內給出近乎單調的嵌入距離;橫跨多個子任務時,距離曲線會在階段轉換處趨於平緩,因而不需標籤就能標出子任務邊界。
  • 專為平滑的時間進度而訓練的 VIP 與 LIV 從 UVD 獲益最多,這支持以下主張:經過時間訓練的表示比 CLIP 與 DINOv2 等靜態影像模型更適合用來找出子目標。
  • 啟發式的子目標選擇(固定視窗前方的某一影格,或 3 到 5 個隨機影格)在領域內表現相當,卻損害領域外泛化,因為它們給出冗餘且意義較弱的子目標。
  • 以遙遠的最終影格定義的獎勵無法在一個四階段任務上引導 RL 探索;以每個子目標定義的獎勵則可以。
  • 由於嵌入帶有雜訊,實務上需要設定子目標之間的最小時間間隔,並對距離曲線做平滑處理(Nadaraya-Watson 核迴歸)。

主要結果

  • 使用 VIP 與 GCBC 的 FrankaKitchen 模仿學習:領域外成功率從 0.035 提高到 0.188,領域外完成度從 0.236 提高到 0.566,領域內成功率不變(0.736 對 0.737)。
  • 所測試的每一種表示,領域外成功率都有提升:R3M 從 0.014 到 0.084,LIV 從 0.008 到 0.066,CLIP 從 0.005 到 0.073,DINOv2 從 0.012 到 0.055,在 VIP 上使用 GPT 風格的 Transformer 策略則從 0.039 到 0.213。
  • 使用 PPO 的 FrankaKitchen RL:以最終影格為目標的目標條件 RL 成功率為 0.0;使用 UVD 獎勵時,3 個隨機種子的平均/最高成功率在 VIP 下為 0.65/1.0,在 R3M 下為 0.649/1.0。
  • 真實 Franka 上 20 次執行的領域外成功率(GCBC 對 GCBC + UVD):Apple-in-Oven 0.0 對 0.25,Fries-and-Rack 0.0 對 0.25,Fold-Cloth 0.0 對 0.15。
  • 執行期間有人為干擾時(10 次執行),Apple-in-Oven 的成功率從 0.0 提高到 0.5,Fries-and-Rack 從 0.2 提高到 0.9。
  • 在 RTX A6000 上的分解時間:平均 227 影格的 FrankaKitchen 回合為 0.0023 秒,698 影格的 720p 影片為 0.011 秒,此前的編碼分別耗時 0.155 秒與 0.450 秒。

限制

  • 僅在完全可觀測的操作任務上驗證;作者指出,導航與其他部分可觀測的具身任務可能無法產生直覺或可解釋的子目標。
  • 真實世界的領域外測試比訓練任務短:由於真實的子任務彼此有先後依賴,測試的是跳過一個已由人完成的步驟。
  • 子目標偵測依賴預設的子目標最小間隔與一個平滑步驟,推論時的目標轉送則依賴一個距離門檻。
  • 真實機器人評估涵蓋三個任務,每個任務約有 100 筆遠端操作示範,每種設定執行 20 次。
  • 效益取決於所用的表示:使用 CLIP 與 DINOv2 時,領域內成功率維持在 0.32 到 0.39 之間。

對領域的影響

入圍 IEEE ICRA 2024 機器人視覺最佳論文獎決選,被引用 44 次。論文連結了一個專案頁面,並在附錄中提供分解過程的 Python 虛擬碼;未提供程式碼儲存庫連結。

摘要

真實世界的機器人任務橫跨較長的時間範圍,且包含多個階段。然而,學習長時程操作任務是長久以來的難題,需要將整體任務分解成數個可處理的子任務,以利策略學習以及對未見任務的泛化。先前的任務分解方法需要針對特定任務的知識、計算成本高,且無法輕易套用到新任務。為了解決這些缺點,我們提出通用視覺分解器(Universal Visual Decomposer,UVD),這是一種現成可用的任務分解方法,用於視覺長時程操作,採用為機器人控制而設計的預先訓練視覺表示。整體而言,UVD 透過偵測預先訓練表示之嵌入空間中的階段轉換來找出子目標。UVD 完全只用視覺示範運作、不需輔助資訊,就能有效擷取蘊含在影片中的視覺子目標,且在標準的視覺運動策略訓練之外不產生任何額外的訓練成本。以 UVD 找出的子目標學習而得的目標條件策略,在測試時對未見任務展現出顯著提升的組合泛化能力。此外,UVD 找出的子目標也可用來建構以目標為基礎的獎勵塑形,為強化學習中時間上延伸的探索提供起步動力。我們在模擬與真實世界任務上廣泛評估 UVD,在所有情況下,無論是領域內或領域外的任務序列,UVD 在模仿學習與強化學習設定中都大幅優於基準方法,驗證了在簡單、精簡的 UVD 框架中自動進行視覺任務分解的明顯優勢。

連結

  • arXiv 2310.08581: https://arxiv.org/abs/2310.08581
  • DOI 10.1109/ICRA57147.2024.10611125: https://doi.org/10.1109/ICRA57147.2024.10611125
  • PDF: https://arxiv.org/pdf/2310.08581v1
  • 專案頁面: https://zcczhang.github.io/UVD

本網站需要 JavaScript 才能正常運作。請啟用 JavaScript 以瀏覽我們的開源機器人專案。