對話高陽、汶川:如何利用網際網路人類影片訓練機器人大模型(ATM—RSS2024滿分論文)

人類離通用機器人最遠的距離是什麼?我的答案:訓練資料,不管這個資料是遙操作機器人資料,高質量合成數據,或者其他什麼資料。按照現階段LLM的成功正規化,機器人領域學者和創業者目前有點巧婦難為無米之炊的趕腳,都在想各種辦法找米,有的甚至開始開荒種地。
大概是半年前,我就一直想針對機器人大模型需要的訓練資料寫點東西,這個話題太重要了,太值得花時間好好寫。但各種原因一直沒有啟動,直到最近,又因為各種原因,我已經抑制不住我自己要好好寫寫機器人資料的想法所以人生做很多事情都是機緣巧合。感謝這些機緣巧合,石麻筆記即將開啟一段關於機器人大模型訓練資料的連載。敬請期待!
本文是機器人訓練資料連載的第一篇,我們圍繞RSS 2024滿分論文Any-point Trajectory Modeling for Policy Learning(以下簡稱ATM)採訪了高陽老師和他的得意門生汶川博士,一起來深入瞭解下他們如何利用網際網路人類影片進行機器人的訓練吧!
以下為本文目錄
👇
1. ATM被訪作者簡介
2. ATM:從2D人類影片中學習機器人動作策略
    ATM的緣起
    基於人類影片進行機器人學習的主流方法

    ATM的核心思想

    ATM方法介紹
    ATM的感知模組
    ATM的效果
    Embodiment Transfer
    關於影片視角問題
3. 一些補充問題
4. 一些想法
1. ATM被訪作者簡介
高陽目前是清華大學交叉資訊學院助理教授,本科畢業於清華大學計算機系,博士畢業於UC Berkeley。博士導師是Vision領域的大牛Trevor Darrell,讀博期間和Sergey Levine合作開始強化學習方面的探索,博後跟隨Pieter Abbeel做強化學習,合作的導師都是RL+Robotics這個領域的大牛。研究方向為計算機視覺和機器人的結合領域,教會機器人透過“看”去操縱周圍的事物。
汶川是清華大學交叉資訊學院的博士生,導師是高陽。本科畢業於上海交通大學電子工程系。汶川博士曾在UC Berkley BAIR訪問,師從Pieter Abbeel教授和林星宇博士。他的研究興趣集中在計算機視覺和策略學習,特別是這兩個領域的交叉點——視覺-運動控制。他主要研究如何提高視覺-運動控制在實際場景中的效率和魯棒性,尤其是在自動駕駛和機器人操作方面的應用。
下文第2部分主要來自針對汶川博士的採訪,第3部分來自高陽老師的採訪整理。
2. ATM:從2D人類影片中學習機器人動作策略

ATM的緣起

在GPT時代,我們都知道無限堆積算力和資料量會帶來顯著效果。在機器人領域,我們也越來越意識到資料量的重要性。無論你使用強化學習還是模仿學習,只要能獲得足夠多的資料,就能得到很好的效果。
但是,現在有一個很大的問題,就是機器人資料很難像大語言模型所需要的文字資料那麼多。機器人大模型的輸入資料可能是影像這類對環境的觀測資料,輸出是機器人的動作,具體體現是電機的扭矩、機械臂末端的座標移動或每個電機的轉動角度,這類非常精細化的動作輸出。這些資料是很難從網際網路上獲得的。
目前,機器人領域比較知名的Paper用到的機器人資料量是多少?最多也只有2.5萬條機器人軌跡資料,遠遠不及語言模型的資料需求。採集機器人資料本身就非常困難,需要遙操作裝置比如Gello和Mobile Aloha,或者比如DexCap使用運動捕捉手套或像UMI這種特殊的方式,用GoPro進行控制資訊提取;或者像OmniH2O使用人體關鍵點檢測來提取人類動作到人形機器人的對映。這些本質的目的就是同時記錄輸入的觀測和輸出的動作,進而訓練一個模仿學習的模型來控制機器人。
但我們為什麼一定要用這些複雜的遙操作來獲取模仿學習需要的資料?這裡有一個非常重要且豐富的資料來源,就是人類的影片,例如在YouTube或抖音上的影片,包含了豐富的物理資訊和運動行為,這些影片本質上是寶貴的先驗知識來源。然而,目前還無法有效利用這些影片,因為它們通常缺乏動作標籤,沒辦法直接用來進行模仿學習。就算它們有動作標籤,不同的研究組可能使用不同的動作標籤定義和收集方式,導致資料不統一,比如,有的組喜歡用機械臂末端的移動來作為動作,有的組喜歡用每一個軸的轉動來作為動作,這種不統一的資料標籤也很難被用來做模仿學習。ATM這個工作就是研究如何從影片中提取經驗知識。
基於人類影片進行機器人學習的主流方法
現在有很多利用影片做預訓練的方法,這些方法有的基於大量的影片資料,透過不同的方式提取新的知識。有一個主要的流派是做影片預測,用大規模的影片資料訓練一個影片預測模型,對於機械臂來說,給它當前的觀測(比如當前的圖片),它能預測未來機械臂的移動以及被操作物體的變化,這樣它就對未來有了一個預測。透過學習中間這些動作和變化,機器人就更容易掌握實際操作。
對生成模型的應用來說,如果Sora能實現一個非常完美的影片生成模型,那麼在機器人領域也可以直接使用。比如說,我給你當前的影像,然後告訴你下一個影像中我的機械臂向左移動了多少釐米。如果你能預測未來的情況,就能用很少的資料確定從當前狀態移動到下一個狀態需要的動作。這使問題變得更簡單。
但是,問題就在於影片預測模型非常難做。比如說,我的影像中要求把玉米夾起來,預測結果可能是玉米只被夾起了一半,這在物理上是不正確的。Sora雖然生成的影片非常精美,但在一些細節物理上是有問題的。比如,有一個影片是幾隻小狗在雪地裡玩,突然中間多出來一個狗頭,這在物理上是不對的。訓練這樣一個模型需要非常大量的資料和巨大的計算開銷,比如Sora可能需要幾千塊GPU執行一個月,這對於機器人任務來說是不可接受的。
ATM的核心思想
我們的ATM的主要想法是什麼?我們不想做影片預測。未來的影片影像長什麼樣,對於機器人控制沒有任何意義。我們只需要知道每個物體的移動方向,而不在乎畫面的精美程度。我們只關心運動資訊。我們參考以前的人是如何建模運動的。比如,在遊戲或模擬引擎中,他們不會把某一個物體建模成一個物件,而是把物體中的每一個粒子建模成一個物件,透過建模粒子之間的碰撞、擠壓和相對移動來對整個場景進行建模。特別是在複雜的流體、軟體物體和沙子等場景中,這種方法非常有效。
ATM的主要想法是,既然畫素級的影片建模不是一個好的表徵方法,那麼我們能否利用類似的想法,把影片變成一些粒子的集合,建模每個粒子的運動來反映整個場景的物理規律,來為控制模型服務。
比如機械臂把袋子拿起來放到桌子上。傳統的方法是把這個影片建模為隨時間變化的畫素點,即畫素值從0到255之間變化。然而,我們可以換一種思路,把它建模為每個點隨時間的運動。比如,我在這個袋子上選幾個點,在機械臂上也選幾個點,然後在整個影片中跟蹤每一個點的座標變化。透過時間的展開,你可以看到袋子上點的運動和機械臂上點的運動是不一樣的,但相同物體上的點的運動趨勢又是相似的。
如何想到這個方法?
我一直在做的一個專案是從影片中提取控制訊號。經過大量的思考和實驗,我們發現畫素、光照或者紋理的變化對於機械臂控制任務沒有任何意義。我們只關心物體在空間中的移動。最好的方式是將移動資訊和其他視覺資訊(如顏色和紋理)顯式地分離開。
這種方法有點像模擬引擎的原理:先建模物體的運動,然後再渲染顏色和紋理。不過,我們並不需要渲染那一步,因為對我們來說,只需要知道物體的運動資訊,就足夠用於控制機械臂了。
我們只關注影片中運動的那部分。因此,我們把影片拆解成不考慮顏色變化,只看座標的變化。要獲取這些點隨時間的變化,有一些現成的計算機視覺模型可以使用,例如跟蹤模型(tracking model)。這些模型在去年的表現已經非常好了,能夠將跟蹤誤差控制在一個畫素點以內。這樣的模型可以直接作為我們的標籤來訓練。
我們的表徵方法有幾個優點。首先,它在物理上是正確的,不會像生成影片那樣出現sora那種物理上不合理的情況(如物體突然出現或消失)。我們的資料中所有物體的運動都是連續的,所以學出來的運動模型也天然具有連續性。這種連續性保證了生成的運動資料也是連續的,不會出現不連續的情況。它的另一個優點是可以顯式地將光照、紋理與運動(motion)分開建模。我們只關注運動,這樣就不會受到其他因素的干擾。
ATM方法介紹
這是我們的網路結構,左上角是輸入的影片資料,我們可以使用之前提到的跟蹤模型(tracking model)來獲取每個影片幀上每個點的未來軌跡。紅色點、藍色點和綠色點表示在整個影片中每個點的運動軌跡。當我們知道每個點的軌跡後,我們可以訓練一個我們稱之為“track transformer”的模型。這個模型基於transformer,是一種多模態的模型。它的輸入包括當前的圖片、語言描述和要查詢的點的座標。訓練目標是預測這些查詢點在未來的軌跡。
這個track transformer的最終目的很簡單:比如,我給它一個語言指令“開啟抽屜”,再給一個當前圖片,顯示機械臂已經抓住了把手並拉了一半。這時,模型會預測出機械臂上的點應繼續往右移動,抽屜上的點也要一起往右移動。這個功能很簡單但有效。
預測的軌跡將作為輸入提供給我們的控制模型。這個控制模型不僅以圖片作為輸入,還包括預測的軌跡,然後輸出相應的動作。以前的策略模型只有圖片作為輸入,然後輸出動作。現在,我們添加了一個額外的輸入,即預測的軌跡。這樣可以使控制更加準確和有效。
ATM的感知模組
ATM感知模組是一個基於2D影像的ViT,我們這裡沒有用到3D感知。3D感知是有必要,但不一定必須是點雲的形式。例如,在使用兩臺攝像機的情況下,實際上它們能夠學習到影視的三維資訊。相較於使用點雲的方法,點雲的效能通常較差。在模擬器中渲染出的點雲可能非常完美,但在真實世界中,使用深度相機獲取的點雲經常會出現缺失或不完整的情況,這會導致模型效能不佳。如果需要很好的點雲資訊,就需要比較貴的硬體採集裝置,比如雷射雷達。
我們組有一個和ATM類似思路但是基於3D輸入的工作叫General Flow as Foundation Affordance for Scalable Robot Learning,知道3D座標之後,我們可以將其建模為一個點,並預測這個點未來的軌跡。例如,當你開保險櫃的門時,可以學習這些點的未來軌跡。對於新的物體,同樣可以學習它們每個點的未來軌跡。使用3D點的一個優點是,我們可以直接進行zero-shot泛化。
Zero-shot泛化的意思是,我們不需要額外的訓練樣本來訓練一個新的控制模型。因為我們已經知道機械臂末端在3D空間中的運動,並能夠預測它未來的軌跡。透過機械臂的運動學解方程,我們可以計算出機械臂每一個軸的運動。這樣,它的效率更高,在一些未見過的場景中也能表現得很好。這樣的方法,使得我們不必依賴額外的資料去訓練新的模型,從而提高了系統的泛化能力和效率。
ATM的效果
ATM更側重解決規劃問題,但和典型的規劃器(Planner)不同,它是中層的規劃器,而不是特別高層的。我一般會把規劃分成高層規劃,中層規劃,和低層規劃;高層規劃是Vila這種(關於Vila可以參考對話高陽:具身大模型框架ViLa+CoPa),中層規劃是ATM這種,低層規劃就是Diffusion Policy(關於Diffusion Policy可以參考Diffusion Policy—基於擴散模型的機器人動作生成策略)這種。
在試驗階段,我們在130個基於語言的模擬任務中做實驗,130個任務的量非常大,比普通論文中的實驗量要大一些。ATM是一個多工模型,這130個任務不是透過訓練130個獨立模型來分別完成的,那樣就沒有意義了。我們設了五個模型,其中四個模型各負責10個任務,另一個模型負責90個任務。這是一個多工模型,需要為每個任務提供明確的指示。以前一般是用語言作為指示,但這種方法太粗糙了。我們的創新在於,用軌跡來明確地指示任務,使問題更加具體和明確。
這是我們的真機實驗,在實際場景中,我們設定了一套系統。在相同的場景下,我用五種不同的語言描述了五個不同的任務,機器人需要能夠完成這五個任務。
Embodiment Transfer
要完成複雜的任務,還是需要更多的資料支援。人類的影片可以提供一些先驗知識,幫助理解任務的大致步驟和動作。然而,要真正對映到機械臂的動作空間,還需要更多的方法和資料。後續我們還有一些假設,即使用人類的資料來學習,並最終在機器上部署。最後的步驟是透過遙操作將進行最終的訓練,這需要收集非常少量的資料。
ATM在布料操作上表現不錯
ATM在長程操作上表現也挺好
ATM還可以推理使用工具
關於影片視角問題
我們論文中提到,第三人稱視角可能更為有用。因為在第一人稱視角的影片中,例如那些頭上戴著GoPro進行極限運動的人,他們的頭部會不由自主地轉動。這會引入很多噪聲,頭部的轉動並不包含太多與機器人控制相關的資訊,而更多是一些隨機的頭部運動噪聲。因此,第三人稱視角可能更為重要,而網際網路上最大量存在的人類影片正是第三人稱視角。
另一個重要的點是我們支援多視角服務,例如第三人稱的影片,我們也可以生成出良好的軌跡預測。如果攝像機是裝在機械臂外部的,它也可以生成出合理的軌跡預測。
3. 一些補充問題
其他典型的透過人類影片學習工作
在我們工作之前,有兩種主要的方法。第一種方法是直接使用影片預測。代表工作是伯克利 Pieter Abbeel組的UniPi。這種方法透過影片學習,比如給定一個任務如倒水,給定第一幀和“倒水”這個任務,模型會預測在倒水過程中未來影片的變化。預測出來這些影片之後,再透過影片反推出來機械臂的動作,從而執行這些動作。這種方法的優點是他非常的端到端,因為直接拿影片過來去訓練影片預測模型,影片預測模型出來的東西去訓練恢復機器人動作的inverse dynamics model。這種方法的優勢在於可以使用大量資料,但問題是計算量很大,因為需要先生成影片,可能一段三到五秒的影片就需要十幾分鍾到半個小時,甚至更久。
另一類方法跟我們的思路比較像,我們的思路是抽取某一種對於這個動作的中間表示,在這裡是就是關鍵點位的軌跡。還有一類演算法是抽取操作物體的接觸點和操作物體一瞬間的運動方向。比如說,我要拉一個抽屜,它就會提取我要抓抽屜把手和未來我會沿著抽屜表面的法嚮往外拉。物體的運動用接觸點和接觸點的運動方向進行簡化。這個方法的優點是非常緊湊和簡介,但他的侷限在於只能處理非過程性任務,比如倒水或者疊毛巾這類任務就處理不了,因為這些任務的每個位置都有不同的旋轉方向等特徵。他比較適合鉸鏈物體的操作,比如開冰箱門或抽屜,抓住一個把手,然後沿著一個方向拉開,這個代表是CMU Deepak組的一些工作。
怎麼理解非過程性任務?
簡單的理解非過程性任務就是物流分揀場景中機械臂要做的從一個地方抓取到另一個地方放下,或者GraspNet這類工作,它只關心抓取的位置和目標位姿,它不會告訴你要怎麼到達這個目標位姿,因為它假設這個過程可以用傳統的motion planner去實現。但對於倒水這類任務,你必須得端著水沿著杯口用不同的方向逐漸倒下水,如果用motion planner它可能會把水弄灑了。
ATM本質上也是一種模仿學習吧?
它可以被理解為跨越物理形態的模仿學習,因為人類和機器人存在一些物理形態上的差異,本質上,它仍然是一種模仿學習,因為它模仿人類動作的能力,使物體達到特定的運動軌跡。但因為人類和機器人物理形態的差異,在透過人類資料訓練好的模型部署給機器人之前,他依然需要採集少量的機器人遙操作資料來彌合這個domain gap。
關於如何從人類2D影片中抽取3D軌跡?
有一些神經網路可以根據RGB影像估計深度,這個技術最近也發展的很快,可以用這個技術給RGB影片打上3D的標,就可以從這些資料裡抽取3D軌跡。
4. 一些想法
非常感謝高陽和汶川的時間,給我講解論文,也感謝之前採訪和交流過的所有學者和創業者,在和大家的交流中我也逐漸建立了自己的認知。風險投資這個行當幹了也有8年了,從最初到現在都是野蠻成長,過程也斷斷續續,心態確實經歷了很多變化。和那些跳進時代浪潮,勇於承擔風險和責任的創業者相比,大多數所謂的投資人不過是從事著資訊過濾、篩選、對接、整合和傳達工作的打工仔。
Deal能不能做成,專案成不成功,基金能不能賺錢都是很多機緣巧合的排列組合。這個過程涉及到的外部因素太多了,我們能控制結果麼?大機率不能。那又為什麼要為結果焦慮呢?在這個當下,唯獨這些字兒是我自己能控制的吧,持謙虛和學習的心態,move on!
References:
ATM
https://xingyu-lin.github.io/atm/
General Flow as Foundation Affordance for Scalable Robot Learning
https://general-flow.github.io/
UniPi
https://research.google/blog/unipi-learning-universal-policies-via-text-guided-video-generation/
原創不易
快來戳一下”關注“給些鼓勵吧!
歡迎“點贊”“打賞”“在看”三連


相關文章