Robot Data第一季9個訪談記錄已經陸續釋出,真心感謝接受邀請的學者和對這個系列持續關注的朋友們。這9期訪談圍繞著機器人資料金字塔展開,金字塔的低端是網際網路資料和合成資料,這類資料量最大、成本最低、但資料質量較差;金字塔的頂端是訓練某個機器人,人類遙操這個機器人本體產生的資料,雖然資料質量最高,但獲取難度大、資料量小;位於金字塔中間部分的,則是介於合成數據和機器人本身資料中間的人類動作捕捉資料。就現有的機器人資料來說,機器人本體形態豐富,單一形態資料量有限,資料模態多樣,因此將多種機器人資料進行融合的框架至關重要。Robot Data第一季採訪的所有工作都圍繞著這個金字塔的各個層級以及最終的資料融合。

Robot Data Season 1 EP01-EP09
為了更好的總結過往的九期訪談,我會在這期文章中將之前九期文章關於各個資料路線和具體工作的核心思想介紹做一個總結和梳理。Robot Data第一季過往每期內容可以參看以下連結:
1. 網際網路人類影片資料
EP1 ATM
EP4 MimicPlay
2. 合成數據
EP5 HumanPlus
EP6 Eureka & DrEureka
EP7 Robot Parkor
EP8 RoboGen
3. 動捕資料
EP2 UMI
EP4 DexCap
EP5 HumanPlus
4. 機器人遙操資料
EP3 Open-Television
EP5 MobileAloha
5. 機器人資料組合
EP9 PoCo & HPT
我們為什麼一定要用這些複雜的遙操作來獲取模仿學習需要的資料?這裡有一個非常重要且豐富的資料來源,就是人類的影片,例如在YouTube或抖音上的影片,包含了豐富的物理資訊和運動行為,這些影片本質上是寶貴的先驗知識來源。然而,目前還無法有效利用這些影片,因為它們通常缺乏動作標籤,沒辦法直接用來進行模仿學習。就算它們有動作標籤,不同的研究組可能使用不同的動作標籤定義和收集方式,導致資料不統一,比如,有的組喜歡用機械臂末端的移動來作為動作,有的組喜歡用每一個軸的轉動來作為動作,這種不統一的資料標籤也很難被用來做模仿學習。ATM這個工作就是研究如何從影片中提取經驗知識。
我們的ATM的主要想法是什麼?我們不想做影片預測。未來的影片影像長什麼樣,對於機器人控制沒有任何意義。我們只需要知道每個物體的移動方向,而不在乎畫面的精美程度。我們只關心運動資訊。我們參考以前的人是如何建模運動的。比如,在遊戲或模擬引擎中,他們不會把某一個物體建模成一個物件,而是把物體中的每一個粒子建模成一個物件,透過建模粒子之間的碰撞、擠壓和相對移動來對整個場景進行建模。特別是在複雜的流體、軟體物體和沙子等場景中,這種方法非常有效。
ATM的主要想法是,既然畫素級的影片建模不是一個好的表徵方法,那麼我們能否利用類似的想法,把影片變成一些粒子的集合,建模每個粒子的運動來反映整個場景的物理規律,來為控制模型服務。EP1對話高陽、汶川:如何利用網際網路人類影片訓練機器人大模型(ATM—RSS 2024滿分論文)
EP4 MimicPlay
MimicPlay的想法是從人類行為資料中學習機器人的控制和策略。直接從人類行為中學習機器人的動作是不可能的,因為透過相機很難精確捕捉手在三維空間中的具體位置,這導致了最終的資料無法直接用於訓練機器人,因為機器人的運動方式會有所不同。因此,我們的想法是退一步,不直接學習機器人的電機動作,而是學習策略。比如說,一個較長的任務是將某個食物放進碗裡,再放入微波爐加熱,最後取出。雖然人類手部軌跡和機器人的軌跡會有所不同,但做這件事的先後策略,比如去哪裡找把手,去哪裡拉托盤,這些策略是可以共享給機器人的,這套策略我們稱之為高層次的規劃。低層次的控制器(low level controller)則是在拿到規劃後,控制機械臂的末端復現這些動作。
高層次和低層次分開之後的一個很大優勢是,高層次的規劃器(planner)可以直接從人類影片中學習。這種資料是比較便宜的,可以稱之為“play data”。你不需要對這些資料進行標註,比如標註你在做A還是B。只需要給定一個目標,比如某道菜,希望高層次的軌跡規劃能規劃出相應的策略。你可以想象在家裡的廚房放一個相機,它可以捕獲你每天在廚房裡的策略。比如,你做一道菜時,先開啟冰箱,從冰箱裡拿出某個菜,然後在切菜板上切開。這些都是可以用第三視角相機輕鬆獲取的資料。
低層次的控制器因為高層次有更多人類資料的支援,學習所需的資料量也會減少。它只需要按照規劃的軌跡去執行20個步驟即可,不需要再考慮高層次的規劃問題。這樣,低層次控制器的資料需求很少,可能只是學了一個抓取問題或移動問題。這些移動可能只需控制機器人向某個方向移動幾釐米,有時甚至不需要學習。
透過高層次軌跡規劃的資料,可以很好地幫助整個系統減少機器人資料的需求。將規劃問題和控制問題分開是我們當時的一個想法。高層次軌跡規劃的資料透過人類行為資料來實現泛化,可以很好地幫助系統減少對機器人資料的需求。這樣可以使整個系統更高效,資料需求更少。這是我們一直以來的核心思路。EP4對話王辰:MimicPlay & DexCap——如何利用人類影片和人體動捕資料進行機器人訓練
2. 合成數據
EP5 HumanPlus
在HumanPlus的階段,我們嘗試將合成數據和機器人遙操資料的特點融合:一種是海量的合成數據,雖然在模擬軟體中的資料量大,但質量不高;另一種是高質量的真實世界資料,但採集速度慢,無法達到海量。因此,Human Plus的主要目標是能否結合這兩者的優點,即在真實世界中收集高質量資料,同時利用海量的合成數據。
HumanPlus結合了兩種資料來源:一邊是機器人模擬資料,另一邊是人類的運動資料。關於機器人模擬資料,我們不能直接將人類的運動資訊複製到機器人上,因為機器人的重量和關節結構與人類不同,直接複製可能會導致機器人失去平衡並倒下。因此,在最低層次的控制邏輯上,我們仍然使用強化學習在模擬環境中生成大量的模擬資料訓練機器人。這意味著,當機器人接收到人類關節位置訊號時,它會根據這些訊號主動控制自己的動作,以模仿人類的動作,但同時也會考慮到自身的物理限制,以保持平衡。這種方法可以確保機器人既能夠模仿人類動作,又不會因為不穩定而倒下。
透過模仿學習人類影片資料,我們可以將人類的運動模式轉化為機器人控制策略。感覺就像是神經網路在控制一個人的動作,最終的神經網路輸出可以直接對映到人形機器人上。由於人形機器人在形態上與人類相似,這種對映過程相對簡單和直觀。這使得我們可以更有效地利用人類資料來訓練和控制機器人,使其能夠執行類似人類的動作和任務。EP5對話符梓鵬:HumanPlus和Mobile ALOHA的資料故事——從合成數據到真實資料再到兩者的結合
EP6 Eureka & DrEureka
在 Eureka 的工作中,我們提出了一個設想:能否透過LLM自動設計模擬環境,使我們能夠在模擬中快速學習新技能,並迅速將其轉移到現實世界中。Eureka 使用大型語言模型(LLM)來自動編寫用於模擬機器人任務的獎勵函式(Reward Function)。在模擬中,獎勵函式就像模擬中的其他程式碼一樣,是可以在計算機上執行的程式碼,而像 GPT-4 這樣的LLM非常擅長編寫程式碼。因此,在 Eureka 中,我們使用LLM來自動編寫獎勵函式程式碼。但這還不是全部,我們還要求LLM改進獎勵函式程式碼。
為了實現從模擬到現實的強化學習,除了設計獎勵函式,你還必須讓模擬到現實的轉移能夠順利進行。通常,模擬環境和現實世界環境之間存在很多不匹配,特別是在物理模型方面。模擬器無法完美地模擬現實世界中的重力、摩擦力等。因此,現在很流行的一種做法是進行領域隨機化(Domain Randomization),即在模擬中隨機化物理引數。但在Domain Randomization的過程依然有一個問題,那就是人類必須手動涉及這個Domain Randomization的引數。在DrEureka中,除了自動編寫獎勵函式,我們還自動化了域隨機化設計。
現在,我們已經實現了獎勵函式和域隨機化的自動選擇,我們可以部署在獎勵函式分佈和域隨機化引數上表現最佳的策略。令人驚喜的是,我們發現將這些策略直接部署到現實世界中竟然是可行的。這意味著我們現在擁有了一個端到端的、完全自動化的模擬到現實世界的流程。整個過程完全由大型語言模型自動化完成,中間不需要任何人工干預。
這一突破性進展展示了大型語言模型在自動化強化學習任務中的強大潛力,從獎勵函式的設計到域隨機化的選擇,再到最終策略的部署,全程無需人類專家參與。這不僅大大提高了效率,也為解決更復雜的現實世界問題開闢了新的可能性。EP6對話馬也騁:Eureka和DrEureka如何利用LLM解決模擬+RL最重要的難題
EP7 Robot Parkor
關於跑酷工作,我認為核心問題主要有兩個方面:一是如何設計和調整一個有效的訓練策略,二是如何克服Sim2Real Gap。訓練策略的設計是一個複雜的任務,涉及不同動力學約束的強化學習訓練,以及技能模型的蒸餾。
過去,四足的工作不帶視覺,主要依賴本體感知,而現在,我們引入了視覺感知,特別是雙目深度相機,Sim2Real Gap問題在引入視覺系統後變得尤為重要。為了有效地克服Sim2Real Gap,我們需要在模擬中儘可能真實地模擬視覺感知中的深度,同時調整真實世界中的資料,使其儘量接近模擬器中的理想影像,將模擬資料和真實資料的分佈儘可能接近,從而縮小這兩者之間的差距。
在縮小Sim2Real Gap過程中,我們採用了多種方法進行嘗試,比如填洞、去噪等,深度圖在這方面表現尚可。在跑酷任務中,挑戰相對簡單,主要是克服地形,而克服地形的關鍵在於瞭解其深度。但是未來真正的實用機器人不應僅僅依賴深度圖,而需要能夠處理RGB影像。
此外,Multitask Learning(多工學習)在機器學習中一直是一個長期存在的問題。當一個模型同時學習多個任務時,不同任務的回傳梯度往往會發生衝突,會遇到每個技能的效能下降的問題。除錯單個技能其實比較容易,但同時除錯多個技能則很困難。因此,子文在嘗試了各種方法後發現了一個比較好的策略:先單獨訓練每個技能,將這些技能作為教師模型,然後共同訓練一個學生模型。這樣的方法可以最大限度地減少效能下降,最終的成果是一個系統化的解決方案,不只是單點創新,而是全面提升了能力。EP7對話趙行、莊子文:機器人跑酷和自動駕駛——機器人資料從哪裡來
EP8 RoboGen
RoboGen這個工作背後的思路是這樣的:首先,我們將相關資訊提取出來,然後利用這些資訊去構建一個供機器人訓練的環境。這個環境包括多個方面:機器人需要掌握的技能、每個技能適用的具體環境、環境的外觀設計、機器人與環境的互動方式等。此外,我們還要為每個任務定義明確的完成標準,這通常透過獎勵函式或損失函式來實現。值得注意的是,這些函式可以透過像語言模型這樣的大型模型生成程式碼的方式來自動建立。我們希望自動化訓練前的每一個環節,打通整個流程。這意味著從獎勵函式的定義到生成程式碼,每個環節都可以自動化處理,使整個訓練過程從頭到尾實現高度自動化。這是我們想要實現的目標,也是我們最早提出的全自動化訓練流程的核心理念。
在處理剛體互動時,強化學習非常有效,無論是用於運動(locomotion)還是操控剛體(manipulation)。然而,當涉及到柔性物體時,情況變得複雜,可微分模組至關重要。柔性物體,比如流體或會變形的衣服,與剛體不同。強化學習在這種情況下需要對狀態空間進行有效的表示。如果我們希望超越剛體的互動,開始處理柔性物體,挑戰就在於狀態空間的複雜性。例如,模擬環境中通常會用粒子系統來表示這些物體,一塊布可能由幾十萬個粒子組成。在這種情況下,用傳統的基於程式碼的獎勵函式來描述這些粒子狀態是非常困難且昂貴的。第一,粒子數量巨大,直接對其狀態進行描述和判斷目標達成與否的成本非常高。第二,很難用明確的函式來描述像衣物對摺這樣的複雜形變過程及其對應的粒子狀態。因此,傳統方法難以適用於這些複雜的情況,這也是我們需要可微分模組的原因。它們可以幫助我們更有效地處理與軟體物體的互動,簡化並加速訓練過程。
對於這類問題,使用梯度資訊確實可以加速策略的學習效果,尤其是在與純強化學習相比時,透過利用梯度來指導強化學習過程可以加速最佳化。然而,這個方向在學界仍是一個活躍研究領域,尚未有成熟的框架來將這兩種方法有效結合。同時,由於梯度本身並非總是理想的,在實際最佳化過程中,例如接觸力的梯度可能會導致最佳化景觀不連續,從而引入噪聲,影響訓練效率。梯度提供的資訊往往是區域性的,在解決複雜的非凸問題時,區域性資訊可能不足以實現全域性最佳化。這些都是當前學界試圖解決的挑戰。EP8對話淦創、周銜:RoboGen如何透過生成模型和可微分模擬大規模合成機器人示教資料(附可微分物理引擎論文綜述)
3. 動捕資料
EP2 UMI
UMI的核心是一個物理API,我們找到了一個物理介面,使它既包含了與機器人足夠相似的物理形態,同時又不限制於具體的機器人形態,成本也比機器人低很多。我可以從三個方面具體說明。
首先是可移植性(portability)問題。我們假設即使機器人本身成本很低,例如每個機器人只有1000到2000元,按照目前機器人的重量,如果我想去餐廳採集資料,需要把機器人運到卡車上,再開到餐廳,然後卸下來安裝除錯,基本上半天時間就過去了。每次進入一個新環境都要有這個前期設定成本,這使得獲取多樣化環境資料的成本非常高。UMI透過其手持裝置很好地解決了這個問題。雖然UMI的夾子現在有點重,有800克,但可以放在包裡隨身攜帶。因此,我們只要人到了一個環境,比如我們去餐廳吃飯,坐下就可以開始收集資料,兩分鐘內就能開始工作,大大簡化了獲取多樣化真實世界資料的過程。
其次是物理形態的相似性。在學術界中使用的研究機器人往往是一個工業機器人,加上一個平行夾爪,UMI設計時考慮到了這種常見的機器人形態。因此,UMI記錄的是夾爪在空間中的六維運動軌跡,只要機器人能到達任何一個位置,具體的關節角度並不重要,甚至可以用無人機達到所需位置。因此,它在一定程度上實現了對機器人形態的無關性,無論實驗室使用的是什麼牌子的機器人,只要有六個自由度都可以使用。
最後是資料收集的直觀性。例如,我們嘗試了一個任務是投擲方塊,有兩類物體,圓的和方的,機器人前面有兩個盆,一個是圓的,一個是方的,任務是將方塊投到方的盆裡,圓塊投到圓的盆裡。這是一個高速的動態動作,用遙控機器人來完成是非常困難的。我們之前做實驗,15分鐘內遙控機器人沒有成功投進一個方塊。如果用UMI,因為人類用這種夾子的直覺非常強,因此用UMI收集同樣任務的資料速度是人類用手的一半,雖然聽起來慢,但相比遙控操作任務收集速度為零已經是很大的提升。在另一個任務——轉動杯子上,我們發現UMI收集資料的速度是人手的一半,而遙控操作機器人收集資料的速度比UMI慢三倍。這使得UMI在資料收集方面具有顯著的優勢。EP2對話遲宬、許臻佳:UMI——機器人訓練的物理API
EP4 DexCap
DexCap中手上的相機是用來做SLAM的場景追蹤,所以它提供的手特別是手指的精度,都是在釐米級別的,都是在一釐米以內的左右級別。所以DexCap,我稱為它是一個“核武器”,它給你一個更高精度的資料。相比於第三方視角的MimicPlay的人類資料,它給的精度本來就更高。DexCap手上的相機是用來做追蹤(tracking),它的目的不是為了獲得影像。因為人的手和機器人的手還是長得不一樣,所以出現在畫面裡之後還是有domain gap。所以你並不能單純用人類手上相機的資料去直接學習機器人方案,我們試過了不太work。
DexCap手套是動作捕捉手套,每根手指上都有一個電磁場感測器,手上的相機用於定位手掌在六自由度空間裡的位置。相機下方有一個電磁發射器,每個手指的指尖都有一個電磁接收器。透過電磁場實現毫米級別精度的定位,確定每個手指指尖相對於手掌的三維空間位置。再加上手掌上的相機,可以給手掌相對於胸口的相對位置,那進一步就可以獲得手指指尖在相機畫面中的相對位置。這個精度由胸口和手腕上的相機,以及動捕手套這套裝置共同保證。
胸口相機用來定位人體相對於世界座標系在空間的位置,手腕上的相機用來定位手掌相對於胸口的空間位置,動捕手套來定位手指指尖相對於手掌的空間位置。所以你揹著這套東西走,胸口的攝像機可以告訴你人在哪裡,手腕上的攝像機可以告訴你手掌相對於胸口在哪裡,動捕手套可以告訴你手指相對於手掌在哪裡,最終可以獲得一個手指在空間中的絕對位置。這個絕對位置是高精度的,這直接保證了當你將機器人推入場景時,只需讓機器人進行inverse kinematic(逆向運動學)來完成操作動作。EP4對話王辰:MimicPlay & DexCap——如何利用人類影片和人體動捕資料進行機器人訓練
4. 機器人遙操資料
EP3 Open-Television
Open-Television針對目前遙操作的問題和人形機器人時代的特性提出的一種新方法。對於人形機器人而言,操作人員不可能站在機器人後面,因為會被其軀幹擋住;站在旁邊歪著頭看也不直觀,還得一直扭著脖子。此外,人形機器人是移動平臺,設定過多的固定攝像頭並不實際。因此,最直觀的方式是讓操作人員沉浸式地控制機器人,就像自己變成機器人一樣。Open-TeleVision這個工作也是受這個想法啟發,它的主要特點是操作人員無需站在機器人旁邊或後面,也不需要以第三人稱視角操作,而是戴上頭盔後沉浸式地操作機器人。
這種遠端操作具有以下特點:第一,沉浸式(imversive)體驗,操作人員透過沉浸式遠端操作看到的不是2D影片,而是3D影片,就像觀看3D電影一樣。左右眼看到的影像不同,從而形成自然的立體視覺。這種立體視覺可以實現對空間距離的精確估計,使操作人員能夠完成很多精細的任務。第二,我們的機器人系統還配備了活動頸部(active neck),使頭部能夠移動。人眼在執行任務時,會使用中心視網膜的一個小區域來聚焦(foveal vision)。使用固定攝像頭時,如果需要看其他地方,只能斜視或用邊緣視覺,非常不便。因此,加入活動頸部使系統更加沉浸和直觀。操作人員只需轉動頭部即可看到目標區域,而不需要歪著眼睛或使用邊緣視覺。第三,活動頸部還降低了計算成本,因為操作人員只需要看到攝像頭中心的一小部分影像,而不需要處理高解析度的廣角影像。大解析度影像中有很多無用的視覺資訊,處理這些資訊對計算機的需求很高。聚焦於中間小部分影像後,只需轉頭就能看到所需內容,從而大大提高了計算效率。我們的系統可以達到大約80赫茲的幀率,而處理更大影像時只能達到40赫茲,高幀率對系統的直觀性幫助很大。對話程旭欣:Open-TeleVision教你如何沉浸式遙操機器人
EP5 Mobile Aloha
到了Mobile ALOHA的階段,相當於我們完全沒有用到任何模擬軟體的資訊,完全利用真實世界的資料來讓機器人進行學習。收集機器人在真實世界中的資料,這些資料由人類透過遙操作方式採集,並透過高效的模仿學習用少量的資料進行訓練;這時候可以獲得更好的、比較真實的視覺訊號,比如RGB資料,還有一些語義上的資料。
這種方法面臨的一個挑戰是,真實世界資料的收集速度較慢。所以,Mobile ALOHA相當於是結合了一個高效的模仿學習演算法,只需提供大約50次人類採資料的嘗試,就可以讓機器人學習並完成各種任務。這種方法高效地幫助人類採集資料,相比以往使用VR裝置或3D滑鼠鍵盤等工具採集資料,不僅速度快且易於上手。Mobile ALOHA的主要作用在於快速讓人們掌握如何操作機器人,以解決幾乎所有真實世界中可能遇到的問題。EP5對話符梓鵬:HumanPlus和Mobile ALOHA的資料故事——從合成數據到真實資料再到兩者的結合
5. 機器人資料組合
EP9 PoCo & HPT
機器人資料獲取難度大很大一部分原因是機器人的形態很多,在不同的機器人上,會有不同的方法來表示它們的某些模態,分散的機器人載體和多模態的資料模式是導致目前機器人沒有完整模型的一個主要原因。我們提到的多模態,即包括RGB視覺資訊、文字資訊也包括點雲和觸覺等這些對靈巧操作任務至關重要的資訊模態。為了與目前大家常說的多模態大模型裡的模態加以區分,我們將這些資料類別統稱為多樣性(Heterogeneity)而不再稱之為多模態。
除了資料多樣性問題,機器人訓練所用到的資料領域(Domain)也存在巨大差異,比如人類影片、真實機器人資料以及模擬資料,這也是機器人學或具身智慧領域特有的挑戰。每個Domain都有自己的優勢和劣勢,模擬中我們可以生成大量資料,但有些東西可能無法模擬,存在模擬與現實之間的差距;人類影片資料在網上有大量可用,但可能缺少動作標籤,訓練起來較難;而真實機器人資料非常昂貴,因此,跨Domain的研究非常困難。
如何將機器人訓練資料多樣性和跨多個領域的資料組合起來,提高機器人訓練的通用性是PoCo這個工作最核心的思想。在PoCo中,我們把不同的策略拆分成了幾個層次:第一,Task Level:在不同的任務,比如不同的工具使用,我們可以進行一些訓練,使用 classifier-free的diffusion training。這樣就可以在任務層次上進行組合,利用不同的工具。第二,Domain Level:在不同的領域來源,比如模擬和真實機器人上進行組合。我們可以研究如何將這兩個領域的策略組合在一起。第三,Behavior Level:在測試時可以指定一些成本,比如讓它的行為更加順滑或者更加安全。我們可以直接手動編寫一些任務或目標,然後進行組合。
我的 PhD 論文主要是關於異構性資料(Heterogeneous Data),其中包括了我之前的兩個工作 Fleet Learning(Robot Fleet Learning via Policy Merging)和DEC SSL(Does Decentralized Learning with non-IID Unlabeled Data Benefit from Self Supervision?)其實包括PoCo,它核心思路也是如何更加高效地處理和利用這種異構性資料。這是一個更廣泛、更基礎的問題,除了視覺和語言領域外,幾乎所有其他領域都面臨資料不足的問題,但卻希望能夠應用機器學習。因此,他們都會遇到異構性資料的問題。
如何高效地從這些資料中提取資訊?這個大問題在當前的研究中仍然未被充分探索。在整個學術界,很多研究者可能會專注於單個問題,比如一種機器人、一種任務、一個模擬環境或一個真實世界的任務,或者某種特定的演算法,比如模仿學習或強化學習。但其實,把這些各類要素整合在一起,進行綜合研究,我認為是非常有價值的。
現在大家都在關注大模型,如何訓練一個大模型來支援多樣化的任務,這其實是一個非常有意義的問題。比如到底是 30% 的模擬資料加 50% 的真實世界資料,還是 10% 的模擬資料加 70% 的真實世界資料,這些比例如何選擇,目前其實並沒有太多的理解,很多時候都是憑感覺進行調整。我認為,對異構性資料的研究會在未來全面支援大模型的訓練和應用,這對於整個領域的發展是非常重要的。
GPT4o是一個很好的例子。過去,大家通常是以語言為中心,中間的模型必定是語言模型,輸出也只能是語言。但現在顯然他們提前把資料都tokenize好了,然後進行了一些異構預訓練,這就是HPT裡的一個想法。這樣做的好處是,它能夠融會貫通。最近也有一些工作表明,這種表示不同的模態最終會收斂,因為它們都是從不同的視角看待世界。EP9對話王理睿:如何處理機器人領域中極為異構的資料集和任務
原創不易,歡迎“點贊”“打賞”“在看”三連!
也歡迎加我微信交流!
