VoxPoser&ReKep:從任務表徵的角度探究機器人的零樣本任務泛化

前段時間,石麻筆記的公眾號後臺收到一個讀者的留言“期待是否可以出一期專門關於CoPa,ReKep,VoxPoser,這類零樣本、主要透過推理來完成相關機器人任務的文章呢?我個人感覺這可能是實現通用和泛化能力最主要的一條路徑,儘管這條路徑在具體複雜技能學習上還需要進一步最佳化。” 
這個留言裡提到的CoPa,我們之前做過一期採訪對話高陽:具身大模型框架ViLa+CoPa,留言裡提到的另外兩個工作ReKep和VoxPoser之前也獲得過國內科技媒體的廣泛關注。我們很榮幸的邀請到這兩篇論文的一作黃文龍作為這期文章的嘉賓來對這類零樣本、主要透過推理來完成機器人任務的路線答疑解惑。
ReKep: Spatio-Temporal Reasoning of Relational Keypoint Constraints for Robotic Manipulation的作者包括Wenlong Huang,Chen Wang,Yunzhu Li,Ruohan Zhang,Li Fei-Fei。VoxPoser: Composable 3D Value Mapsfor Robotic Manipulation with Language Models的作者包括Wenlong Huang,Chen Wang,Ruohan Zhang,Yunzhu Li,Jiajun Wu,Li Fei-Fei,其中黃文龍為一作。
黃文龍目前是斯坦福大學計算機科學專業的三年級博士生,由李飛飛教授指導,隸屬於斯坦福視覺與學習實驗室(SVL)。他於 2018 年至 2021 年在加州大學伯克利分校獲得了計算機科學學士學位,導師包括 Deepak Pathak、Igor Mordatch 和 Pieter Abbeel。他曾於 2024 年在 NVIDIA 的西雅圖機器人實驗室工作,並於 2022 年在 Google Brain 的機器人團隊實習。
以下為本文目錄
👇

第一部分:VoxPoser和ReKep的路線概覽
1. ReKep和VoxPoser屬於哪種路線?
2. 怎麼理解在不同層面的Reward?
3. 和強化學習裡的Reward同個概念嗎?
4. 比端到端的方法更有實際應用的潛力嗎?
第二部分:VoxPoser和ReKep的方法介紹
5. VoxPoser的核心思想
6. ReKep的核心思想
7. ReKep裡關鍵點的關係如何建立?
8. 怎麼理解時間上的關係?
9. 為什麼ReKep的demo裡衣服疊不整齊?
10. 怎麼將空間資訊與LLM聯絡起來?
11. ReKep到具體應用有多遠?
第三部分:分層模型vs端到端模型vs世界模型
12. 端到端與分層模型
13. Leaning Dynamics+MPC
14. World Model是什麼?
15. 大模型可否成為機器人需要的世界模型?
16. 3D資料從2D資料來還是從3D掃描裝置來?
17. 和RL和IL的結合
第一部分:ReKepVoxPoser的路線概覽
1. ReKepVoxPoser在如今機器人學習Robot Learning操作路線中屬於哪類?
從資料的角度出發,理解機器人技術中的操作應用可能更為清晰。在操作應用中,當的一大難點是把自主的機器人部署在開放世界、家庭環境、有人存在的場景,或者其他非結構化環境。這些場景中的操作任務涉及到的挑戰和資料來源可以從以下幾個方面進行劃分。
第一類是機器人本體的真實世界資料(Real-world Data),這種資料來源於真實機器人在實際環境中採集的資料。它是最直接的、與實際應用最貼近的,但通常難以獲得大規模、豐富的多樣性。
第二類是模擬資料(Simulation Data),這類資料來自物理模擬環境,透過虛擬環境模擬不同的操作情境。與真實世界資料相比,模擬資料可以靈活地進行調整和擴充套件,用於訓練機器人執行任務,尤其是在沒有足夠真實世界資料的情況下,但同時面臨雙向的現實到模擬(Real-to-Sim)以及模擬到現實(Sim-to-Real)的偏差
第三類是網際網路資料(Internet-ScaleData主要包含的是人類作為本體的資料,包括視覺、語言、影片等多模態。例如,YouTube 上的影片、VR 環境中的資料、以及用於已有的大模型訓練的資料等。這類資料的特點是來源廣泛在語言和視覺方面都富有可以提取的語義資訊,能夠提供常識性知識,但是在物理互動層面面臨著缺乏精確度以及具身性差距(Embodiment Gap的挑戰
在機器人領域,這三類資料構成了主要的資料來源。如果採用端到端模仿學習的方法,給定一張影像並直接輸出機器人動作,這通常依賴於真實世界資料。如果採用端到端的強化學習(RL),因為需要一個可以反覆互動的環境,則往往依賴於模擬資料
另外也有許多工作使用模組化機器人棧來引入網際網路的資料或是在網際網路資料上訓練的大模型我的研究(從以往的將大模型用於任務規劃的工作到最近的 VoxPoser 和 Rekep)以及領域其他相關的工作(如CoPaMOKA 和 PIVOT則屬於這個類別
這裡的網際網路資料的豐富性和多樣性提供了機器人在開放世界泛化的可能,但由於是一個模組化的系統,於是一個關鍵問題是:這些資料,或是基於這些資料訓練的大模型,應該以何種形式存在於一個機器人棧中呢我的一系列研究給出的答案是它們應該用於提供機器人操作的任務表徵(Task Representation這既可以是高層次語義層面的任務表徵例如將一個複雜任務分解成幾個不同的子任務),也可以是在低層次在三維空間和時間維度的任務表徵(例如在一個倒水任務茶壺茶杯在空間中的位置要求和順序
如果想要從數學上去理解和定義這個用途,我們可以借用決策框架中的一個經典模型——馬爾科夫決策過程(MDPMarkov Decision ProcessMDP 的框架裡一般定義幾個東西:
第一是 state(狀態),或者叫 observation(觀測)。兩者有區別,但為了簡化,我們統一稱為 state。通常,機器人上可能有一系列感測器(如攝像頭),它可以觀察到周圍環境,也可以測量機器人自身的狀態。這些都是 state 的組成部分。
第二是 action(動作),在機器人操作的任務中,這個一般被定義為機器人的關節的指令
第三是 reward(獎勵),人類往往想讓機器人完成某項任務,而這個任務是什麼,該做哪幾個子任務才能完成,以及每一個子任務是如何具體定義的,這些都可以被涵蓋在獎勵函式中
每一步都會有一個 state、一個 action 和一個 reward。此外,MDP還有另外一個非常重要的模組是transition function(轉移函式),用於描述當前的 state 和 action 如何決定下一個 state根據具體的語境,這個函式可以是物理世界本身,或是一個“世界模型(world model)”“動力學模型dynamics model)”“模擬器simulator
 MDP 的框架下,這些元素被串聯起來,每一步都有 state 和 action以及reward透過採取動作(action),根據轉移函式transition function機器人從一個狀態(state)過渡到下一個狀態(state,根據具體執行的任務獲得當下的獎勵(reward在這個框架中,無論是端到端學習,還是模組化的方法,都可以很好地表示。即使是沒有顯性獎勵函式定義的模仿學習裡,也可以把expert action(專家動作)的模仿看作為獎勵函式
一般在機器人部署的時候,我們往往需要從當前狀態推斷當前的動作,因此在端到端的框架我們直接學一個Feedback Policy反饋策略)將狀態直接對映到動作。在這種情況下,獎勵轉移函式也被隱式地學進了這個策略,所有內容都被整合到一個神經網路。這樣雖然做了極大簡化,讓這種方法在contact-rich接觸豐富的任務中有很大優勢,但是缺點則是把具體某個任務的語義資訊(獎勵函式)學進了一個黑盒模型中,在部署的時候如果有一個訓練時沒見過的任務,則往往很難泛化。
帶著這個動機,結合著已知網際網路資料可以提供豐富的語義資訊,我的研究探索的是task-specific(任務相關)的語義資訊和task-agnostic(任務無關)的物理資訊儘可能解耦解耦的盡頭便是探究一個很有意思的科學問題:機器人如何零樣本泛化到一個新的任務即使零樣本意味著在成功率上必然不如有樣本的學習方法巧合的是,這種解耦則恰恰對應了MDP框架下的task-specific的獎勵函式,以及task-agnostic的轉移函式
因為做了解耦,我們不再從狀態直接到動作,而是借用機器人領域已有模組化框架透過獎勵函式以及轉移函式透過最佳化的方法來得到動作這是一種更結構化的方式,而我目前的工作探究的主要是如何從大模型中提取這裡需要獎勵函式(也可直觀的理解為“任務表徵”),以及如何把它們應用在機器人的操作任務中
2. 怎麼理解在不同層面的任務表徵,比如上層任務規劃到子任務執行?
在這個框架下,任務表徵可以定義在不同的抽象層次上但是本質上都是將一個抽象的語言表達的目標任務“翻譯”成一個機器人的狀態以及動作空間裡的函式(即獎勵函式)例如Task Planning(任務規劃)的領域裡,機器人的動作空間則是各種子任務的排列組合,這些子任務往往是在語言層面的。例如,任務是做早餐,對應的操作可以是:第一步,開啟冰箱;第二步,取出雞蛋等,這些操作透過語言來描述。
如果我們需要更加精細的關節動作或終端執行器的操作,我們則需要這個任務表徵可以處理這種存在於三維空間和時間維度的動作。於是,VoxPoser 和 ReKep 的研究方向正是探討如何將一個語言指令轉化為三維空間和時間維度reward而這裡的關鍵則是運用大模型透過網際網路資料訓練獲得的豐富的語義和常識資訊,將一個往往描述不夠充分的語言指令,轉化到一個機器人可以理解的在三維空間和時間維度的函式,從而可以零樣本完成一項沒見過的任務
3. 這裡的Reward和強化學習裡的Reward是同一個概念嗎?
其實,強化學習中的 reward 和我們討論的概念基本是完全一致的在強化學習中,reward 通常定義在一個特定的環境中,而這個環境一般是模擬環境。在模擬環境中,reward 通常由人類設計。例如,針對導航任務,reward 的定義可能非常簡單,比如根據從點 到點 的距離來評估以及避開障礙物
為了提升學習效率,我們常常採用透過模擬環境中的特權資訊來定義reward。例如,在疊衣服的任務中,透過模擬環境的特權資訊,我們可以直接獲得衣服的袖口和領口的位置,這樣可以更加有效地指導強化學習的訓練過程。

然而, VoxPoser 和 Rekep 的研究中,我們設計的 reward 更接近於真實世界的情況。在現實環境中,我們無法獲得物體的精確 3D 模型,也無法直接獲取接觸力等物理資訊。因此,我們只能依靠視覺感知來定義 reward,這也可以稱為visual reward視覺獎勵。透過這種基於視覺的 reward function,我們可以推匯出機器人應採取的動作。
4. 這條路線看起來比端到端的方法更有實際應用的潛力嗎?
這取決於目標。如果目標是一個非常明確的場景,比如在工廠裡擰螺絲、安裝電池,或者疊衣服,這種重複性的工作可以透過收集大量資料(如 1000 條甚至 萬條)來解決,端到端方法在這些場景中肯定會魯棒和有效
但如果目標是開放環境的任務,比如進入一個陌生的家中做咖啡、做早餐,就無法提前為所有可能的環境收集資料。在這種情況下,更結構化的的方法,由於引入了更多的inductive bias(歸納偏差),在缺乏資料的早期或許會更具優勢。
第二部分:VoxPoserReKep的方法介紹
5. VoxPoser的核心思想
VoxPoser 的核心概念是利用強大的LLMVLM來解決任務表徵 reward 問題。我們關注的關鍵問題是如何有效表示任務,並將抽象的任務分解並與機器人的具體操作關聯起來。
在任務中,往往存在許多細微的差別。例如,"開啟一個電飯鍋或 "開啟一個電水壺這樣的任務看似簡單,但實際上涉及到大量的常識理解。有時,機器人需要按下按鈕,而不是直接掀起蓋子,這些細節通常是VLMLLM捕捉的。然而,這些模型主要在語言層面表達常識,無法直接在三維空間中為機器人提供具體的操作指導。
VoxPoser 的核心思想是透過利用VLMLLM的常識知識,藉助模型生成程式碼,將常識知識對映到三維空間。例如,我們將機器人的環境視為一個三維網格,模型透過生成程式碼來在這個離散空間中索引特定區域,從而將語言知識與三維空間中的具體操作關聯起來。

舉個例子,開啟電水壺時,模型可能會指出:不是直接掀起蓋子,而是先找到按鈕並按下。這種方法允許在空間層面上進行知識的組合。模型不僅能夠指引機器人在哪些地方進行互動,還能指出哪些地方應避免接觸,或提供環境中的限制資訊。例如,如果機器人接近灶臺,模型可能會告訴它,灶臺是危險的,應該保持一定的距離。
最終,模型生成一個三維空間的價值圖(value map),它告訴機器人在哪些地方進行互動,哪些地方應該避免,從而形成一個三維空間的 reward。然而,僅有 reward 並不足以直接生成機器人的動作(action)。為了從 reward 推匯出具體動作,通常有兩種方法。
第一種是基於模型的規劃(Model-based Planning,透過一個世界模型或叫做動力學模型)進行“想象”,去探索預測不同動作對環境的影響,從而規劃出通向目標的路徑。
第二種是強化學習(RL,這也需要一個世界模型,只是他不是透過模型做規劃,而是學一個反饋策略(Feedback Policy,相當於世界模型當作一個的環境中執行強化學習演算法,學習歸納出一從狀態到動作的對映的神經網路
在這些方法中,基於模型的規劃應用上更為簡單,也是 VoxPoser採用方法。我們結合三維空間的 reward進行規劃,指導機器人生成具體的動作。VoxPoser 的這一系列工作,主要聚焦於如何透過三維空間的對映,將語言模型中的常識性知識與機器人的操作進行具體結合,從而解決現實環境中的任務執行問題。

我們的網站上有一個視覺化展示,你可以看到類似熱成像圖的效果。這個圖中哪些地方被高亮就表示是需要互動的區域(Affordance Maps),而沒有被高亮的地方則是機器人不應該互動的區域(Constraint Maps)。有了這樣的 3D reward 圖,機器人就可以根據這些資訊進行操作。比如開啟上面的抽屜,同時還需要注意不要碰到旁邊的花瓶。在這種情況下,你可以看到抽屜的位置被高亮,而花瓶周圍的區域則沒有被高亮,表示機器人需要避開。
不過需要說明的是,在我們討論時一直說的是 reward,但在 model-based planning 的社群中,通常大家使用的術語是 cost,而不是 reward。這兩者其實是完全一樣的東西,只是一個是正向值,一個是負向值。在 cost 表達中,值越低越好。所以抽屜的位置就是 cost 最低的地方,而花瓶旁邊的地方 cost 則較高。
6. ReKep的核心思想
ReKep是在VoxPoser的基礎上擴充套件了時間維度,同時解決了 Voxposer 方法中的一些問題。時間維度的擴充套件主要是為了應對任務中的時間依賴性。VoxPoser 方法專注於三維空間(3D space),但許多工中還存在時間上的依賴關係,例如,倒水任務包含多個步驟:第一步,機器人需要抓住水壺的把手;第二步,將水壺移至杯子的正上方;第三步,開始倒水。在這些步驟中,value map 會逐步變化。例如,第一步會高亮顯示水壺把手的位置,第二步會高亮顯示杯子正上方的區域。

然而,VoxPoser無法捕捉任務中的細緻約束。例如,拿起水壺時需要保持平穩,不能傾斜;倒水時要確保杯子位置正確,如果杯子被移開或機器人失去對水壺的控制,必須重新調整。VoxPoser 的三維 voxel grid 只能表示位置(position)資訊,但無法有效表示旋轉(rotation)和時間依賴性。因此,我們提出了ReKep 方法,它將任務表示為關鍵點keypoints之間的關係。
例如,倒水任務可以定義以下關鍵點和關係:第一個關係,機器人手上的關鍵點和水壺把手上的關鍵點需要靠近;第二個關係,水壺把手的關鍵點和水壺虎口的關鍵點要處於同一高度,以確保抓取時保持平穩;第三個,水壺虎口的關鍵點和杯口的關鍵點要在同一垂直線上;第四個,杯口和水壺虎口的夾角需滿足特定條件,以便順利完成倒水。

這些關鍵點關係以及他們的具體順序義了任務的約束,只有滿足這些約束,任務才能成功完成。透過經典的約束最佳化(constrained optimization)工具,我們可以將這些約束轉化為具體的機器人動作(robot actions),確保任務的順利執行。
7. ReKep裡關鍵點的關係如何建立?是自動生成的嗎?
針對不同任務甚至是不同環境,關鍵點以及關鍵點之間的關係都會不一樣我們的研究核心思路是利用大模型(如 VLM 或 LLM)來推斷和指定這些關係。也就是說,這些關係並非由人工定義,而是依賴於大模型的推理能力及其內在的知識。這種方法的優勢在於,模型能夠從大量資料中學習並自動推匯出適應不同任務和場景的關鍵點關係。
一個直觀的例子是疊衣服。對於不同型別的衣服,摺疊方法可能各不相同,這些摺疊方式可以透過關鍵點關係(keypoint relations)來表示。舉個例子:第一步,哪些關鍵點需要對齊(align);第二步,哪些關鍵點需要疊在一起。無論衣服的種類如何,這種基於關鍵點關係的方法都能夠捕捉到其中的規律和關係。
8. 怎麼理解時間上的關係?
這種關係可以透過一些具體的案例來直觀地展示。例如,往杯子裡倒茶水這個影片,系統需要判斷當前任務的步驟是否滿足時間依賴性如果在倒水的過程中,杯子的位置被改變,機器人需要進行動態的調整:首先需要停止倒水回到上一步先對齊杯子的位置,再重新倒水。在任務開始時,ReKep只需 query一次大模型,後續則透過最佳化來處理干擾和調整響應。
VoxPoser無法自行推理這些依賴性,在發生上述這種干擾情況時,系統可以選擇重新query大模型,但這意味著需要重新生成並最佳化整個任務。每次遇到這種干擾時,系統就需要重新向大模型查詢,等待新的生成結果,然後再進行最佳化處理。這一過程會帶來額外的計算和等待時間,因此如何高效處理這些依賴性是未來系統最佳化的重要方向。
如果有一天我們能夠實現即時呼叫大模型,比如在 1 秒內完成幾十次 query,那麼這種依賴性問題就能夠得到有效解決。不過,VoxPoser在處理旋轉(rotation)相關的問題時仍然存在較大的侷限性。這也是為什麼我認為keypoint relations 是一種更好的任務表示方法。
9. 為什麼ReKepdemo裡衣服疊不整齊?

這裡有兩個重要的原因,第一點是系統缺乏一個針對衣服的很好的動力學模型dynamics model)或世界模型(world model)。在這個工作中,我們專注主要reward或者cost的問題,但要很好的完成一個疊衣服的任務只有cost是不夠的,我們需要一個動力學模型才能規劃機器人的動作,這個動力學模型哪裡來呢?
在我們的研究中,我們有一個比較重要的假設,當我們假設機器人抓住一個關鍵點(keypoint)時,這個關鍵點的運動軌跡會完全跟隨機器人夾爪的運動。也就是說,如果夾爪向前移動5釐米並旋轉30度,我們假設這個關鍵點也會以相同的方式移動。但對於柔性物體,比如衣服或圍巾,這種假設並不成立。例如,當機器人抓住圍巾的一端並移動時,圍巾中間的關鍵點位置也會發生變化,但這一變化並不會完美跟隨夾抓的運動軌跡。這種誤差是導致衣服無法疊整齊的主要原因,因此如果我們能夠開發出一個更精確的動力學模型或世界模型,能夠真實地反映柔性物體的運動規律,就能夠有效解決這些問題。
另外一個原因與我們探究零樣本的場景密切相關也就是說,在完全沒有關於這個任務的資料的情況下,如何最大化地推動系統的泛化能力通常意義上的泛化指的往往是物體在新的位姿下的操作,或者是類似物體在新環境中的操作,這裡甚至是一個新的任務因此多了更多挑戰
這也是我個人研究的主線之一。我關注的問題很多都與泛化能力有關,尤其是任務級別的泛化。舉個例子,當我遇到一個新任務,這個任務可以透過語言簡單描述,如做早餐疊衣服,如何在沒有專門資料的情況下,利用現有工具或資料來最大化地實現泛化,這正是我的研究興趣所在。
但這並不意味著我反對使用資料,我認為資料是非常重要的。然而,零樣本的場景能更好地促使我們思考:珍貴的機器人資料究竟在什麼地方是必須的?如果機器人的資料用來實現有大模型已經具備的能力,例如識別物體位置以及指定不同種類衣物該如何摺疊,那或許是這些資料的最佳用途相反,我們可以依靠大模型及其先驗知識提供泛化能力的基礎,去思考機器人據應該用於解決已有模型無法覆蓋的核心問題。
在機器人領域,資料不足一直是一個亟待解決的問題。我個人認為,這個問題可能一直會存在到我們能夠實現大規模的機器人部署。因此,我對零樣本場景特別感興趣,因為它能夠推動我們找到更高效、更精確的方式來使用資料。
10. 怎麼將空間資訊與LLM聯絡起來?
ReKepVoxPoser這兩個專案中,我們採用了不同的環境表示和互動方式。VoxPoser是將環境表示為一個 3D array或網格(grid),例如一個 100×100×100 的三維網格。在固定座標系後,我們可以確定特定位置的索引,比如把手的位置是(15, 20, 30)。這樣,語言模型可以透過生成程式碼(code)將知識對映到 3D 環境中。
相比之下,ReKep採用了更直接的方法,利用視覺語言模型(VLM)直接處理影像輸入。我們在影像中標記關鍵點(如01234),並告訴模型這些點的含義。例如,某個點表示機器人應該抓取的位置,另一個點則是需要避開的地方。這種方法不依賴於固定的3D網格,而是透過描述點與點之間的關係來實現任務。
關鍵在於,這些點的選擇並非隨意,而是必須在有意義的位置上標記。為了最佳化關鍵點的選擇,我們可以使用自監督視覺模型(如DINOv2),這些模型能夠有效地捕捉影像中的語義資訊,並幫助提議合適的關鍵點。
11. ReKep到具體應用有多遠?
我認為這一系列工作更多屬於一種探索,目前在魯棒性方面還有很大的提升空間,因此暫時無法直接應用於產業化場景,但於模組化的優勢,可以最佳化方向也十分清晰。
首先,這一系列工作高度依賴於大模型的能力。目前,我們迫切需要更強大的大模型來提供更豐富的在三維時間和空間維度的驗知識。例如,我們在 GPT-4 釋出前的兩個月就開始了這項研究,而在GPT-4以及後續GPT-4o釋出後,我們發現其推理能力顯著提升。這表明,隨著未來更強大的VLM(視覺語言模型的出現,它們夠為系統提供更好的 reward 和指引。
另外,我們需要學習一個通用的世界模型(World Model。我們所需的世界模型必須能夠適應開放環境,而不僅限於實驗室中的封閉環境。目前的一些流行的影片生成模型,比如OpenAISora,大多數屬於 2D 層面的世界模型。然而,對於 ReKep 來說,我們需要一個 3D 的世界模型,它必須能夠在真實的開放場景中工作,且與視覺層面的 reward 一樣,不能依賴於特定的任務資料。
例如對於像疊衣服這樣的任務,給一件新的沒見過的衣服,一個預訓練好的世界模型需要有可以預測各種動作下衣服的形變的能力這是個非常困難的任務,但是它的學習目標非常明確,同時也對“任務”這個概念進行了解耦,因此很可能是未來很重要的方向之一。
第三部分:分層模型vs端到端模型vs世界模型
12. 端到端與分層模型
這兩種方法可能都會用到大模型,但區別在於一種方法是明確劃分現有大模型的用途(分層路線),另一種方法則是透過fine-tune將大模型adapt到機器人的場景中(端到端路線)。例如 Physical Intelligence 的 pi0,或GoogleRT系列工作,這些都屬於端到端路線。這因為往往expert action進行訓練,因此沒有層的概念,更多的是一種非結構化(unstructured)的系統,所有都在Latent space中完成,因此難以分割哪些權重用於處理視覺資訊,哪些用於處理獎勵資訊,等等
而另一種方法是採用分層結構的方法,例如基於 MDP(馬爾可夫決策過程)框架分割成獎勵函式和轉移函式。這種方法能夠更清楚地識別需要改進的具體環節
13. Learning Dynamics+MPC
Learning Dynamics+MPC裡的MPCModel Predictive Control和基於模型的規劃(model-based planning)本質上類似,儘管在一些細節上和關注點有所不同,它們都依賴於一個模型(model)和一個目標函式(objective function),例如 cost function  reward function,透過模擬機器人動作對環境狀態的影響來推匯出當下的最佳動作
在這種方法框架下,一個顯而易見的缺失是高質量、通用的世界模型(world model)。然而,學習一個通用的世界模型本身是一個極具挑戰性的問題。
在社群中,關於如何解決這類問題的觀點也存在分歧。一些人認為,直接學習一個通用的機器人策略(general-purpose robot policy),將觀察(observation)直接對映為動作(action)是更簡單有效的做法;而另一些人則認為,學習一個世界模型會更加通用,資料也更加豐富。無論選擇哪種方法,都有可能實現這個通用目的機器人。
14. World Model是什麼?
世界模型有一個非常明確的定義:它的輸入是當前的狀態(current state)和當前的動作(current action),輸出是下一步的狀態(next state)。本質上,這就是MDP框架中的轉移模型(transition model)或動力學模型dynamics model)。
區別在於如何定義狀態(state)和動作(action),以及它們的具體表徵representation是什麼。例如,對於一個影片預測模型,狀態可以定義為影像幀,可能是一幀或多幀;而動作可以是文字指令,比如開啟這個抽屜。在這樣的設定下,模型的預測輸出是抽屜開啟後的下一幀影像。
在機器人領域,世界模型的動作表徵通常是機器人在三維空間或是在關節空間動作,其目標是預測這些動作如何改變環境。而狀態表徵可以有多種形式,包括跟影片模型一樣的2D影像,或是3D表徵,例如點雲網格mesh體素(voxel grids等等
世界模型的核心任務是用這些狀態和動作表徵來預測環境的動態變化。不同任務的挑戰在於如何設計合適的表徵,並使模型能夠對複雜環境的變化做出準確的預測。
15. 大模型足夠強大是否可以帶來機器人需要的世界模型
這確實是一個開放性問題(open question),不同的研究者有不同的觀點和方法。我個人認為,現有的基於語言的大模型(例如語言模型和視覺語言模型不能夠成為機器人的世界模型。
無論是大語言模型(LLM)還是視覺語言模型(VLM),它們的強項主要體現在離散符號自然語言或是程式碼)的理解推理以及對影像在這些離散符號空間的對映關係的理解與推理。而機器人所需的世界模型的關鍵在於能夠基於機器人動作預測下一個狀態(next state,這個狀態往往是連續的高頻的,並且是存在於三維空間的。
因此,是否能夠將這種能力整合到現有的大模型中,仍然是一個未知問題。我個人認為,我們可能需要一種全新的方法,或者一種完全獨立於大語言模型的新型模型,專門用於預測這種三維的空間狀態。
這種模型可以與大語言模型形成互補關係。一個直觀的類比那些專屬於人類的常識和貓和人都共有的常識之間的區別。大語言模型或視覺語言模型更擅長捕捉人類的關於符號的常識以及這些知識在視覺空間的對映,比如“開啟水壺可能需要按按鈕”以及這個按鈕在哪,但貓可能沒法深刻理解這個語義的概念並且零樣本泛化到新的場景中。
與此同時,不論是小動物或者是人類,甚至一個出生不久的孩子,都對3D環境有著非常強的高頻率的預測能力。因此,我認為,這兩種模型本質用途可能是不同的,但它們也有可能被可以被結合到一起。例如,最近許多的大模型工作在嘗試將2D 生成能力和 VLM 整合在一起,效果不錯。所以,也不排除未來這些能力能夠被統一到一個模型中的可能性。
16. 3D資料應該從2D資料來還是從3D掃描裝置來?
在談到純粹的3D世界模型時,資料未必是目前最大的瓶頸。當然,對於機器人任務而言,機器人動作資料的獲取難度確實是一個制約因素,但從視覺資料的角度來看,當前視覺數非常豐富。視覺資料的匱乏程度遠低於語言資料,因為語言和程式碼的資料量受限於人類的生產能力,而視覺資料則是由自然生產的,可以由任意攝像頭二十四小時進行採集。事實上,全球攝像頭的數量和生成的資料密度遠遠高於文字資料。
因此,我認為視覺資料本身並不是瓶頸。儘管許多現有的資料是2D的,但很多研究已經證明,從2D資料生成3D表徵是可行的。很多時候,我們並不需要直接依賴3D資料,因為2D資料實際上是3D空間的一種投影(projection)。如果有更好的演算法,我們就可以從 2D 資料推匯出 3D 表徵,但目前演算法層面還是有大的提升空間。
我認為從 2D 到 3D 的方法非常依賴於演算法。如果有成熟的 3D 資料採集硬體,它短期內絕對是一個非常有效的捷徑。這有點像 Waymo 和 Tesla 的區別:Tesla 堅信可以透過 2D 攝像頭的視覺資料來解決 3D 問題,並且認為只要資料規模足夠大,3D 表徵就不成問題;而 Waymo 則選擇透過雷射雷達直接採集 3D 資料,然後逐步部署和最佳化。
兩種方法都有其優勢,我個人並沒有強烈的偏好。每種方法都有可能走通,關鍵看具體場景和技術條件。我個人的感覺是,這取決於目標的定義。如果目標是針對少數幾個特定的任務或環境,並且我們能夠承擔部署機器人採集資料的成本(比如示範資料或3D資料來構建世界模型),那麼可以採用較高成本的解決方案,專注於最佳化這些有限任務。
但如果目標是構建一個通用機器人(general-purpose robot),我個人認為需要更加依賴現有的網際網路規模資料。透過改進演算法,我們能夠從現有的2D或其他非3D資料中學習,減少對機器人採集資料的依賴。
理想情況下,我們不僅可以從這些資料中學到一個好的3D世界模型,還能夠訓練出更強大的視覺語言模型(VLM)和更好的reward model,例如在 ReKep 和 VoxPoser的基礎上進一步最佳化。
有了這些模型後,我們可以透過規劃RL方法,部署第一代相對通用的機器人。儘管這些機器人在諸如疊衣服等任務中可能表現不完美,但它們可以作為起點,透過逐步最佳化和資料積累,不斷提升效能並解決初期的缺陷當資料積累越來越多後,整個系統可以陸續變得更加端到端,從而實現更高的通用性和魯棒性
17. RLIL的結合
強化學習(RL)與分層的方法從某種角度來講非常契合。RL可以看成是一種基於模型的最佳化方法,它透過給定獎勵函式和一個可以近乎無限次互動的環境(如simulator或者world model),利用試錯機制找到最優的動作序列或策略。
例如,大語言模型和視覺語言模型可以提供很好的獎勵函式和任務表示,以及一個可以無限次query的世界模型,我們可以在世界模型中透過 RL 訓練,找到滿足任務需求的最佳策略,比如如何倒水和疊衣服
相較之下,模仿學習較難直接與這種方法結合,因為模仿學習中常用的Behavior Cloning(行為克隆)強調的是端到端的對映——觀測observation)到動作(action)。這種對映從視覺輸入到行為輸出,沒有明確的中間層次。在這種情況下,模仿學習的端到端方式和需要明確模組化結構的任務建模(例如功能、模型等)之間並不直接匹配。
然而,這並不意味著兩者無法結合,因為兩者都有獨特的優勢和劣勢,同一個機器人系統可以用不同技術路線解決不同任務,收集到的資料也可以反哺給系統裡所有的data-driven的模組,進而提高其執行能力。
References:
ReKep
https://rekep-robot.github.io/
VoxPoser
https://voxposer.github.io/
MOKA
https://moka-manipulation.github.io
PIVOT
https://pivot-prompt.github.io
CoPa
https://copa-2024.github.io/
黃文龍主頁
https://wenlong.page/
原創不易,歡迎“點贊”“打賞”“在看”三連
也歡迎加我微信交流!


相關文章