有人說解決機器人通用操作的問題,無疑等同於解決了AGI,通用操作是AI發展的終極難度。但如果解決了機器人的通用操作問題,無疑會引起新一輪生產力的變革,它大到足以顛覆我們的生存體驗,縱使再難,也值得被解決。沿著這個思路,石麻筆記一直更關注解決操作任務的學術工作。我們之前做過靈巧操作的綜述(將機器人的手牽向人類的手:靈巧操作華人論文綜述),寫過模仿學習+DP(Diffusion Policy—基於擴散模型的機器人動作生成策略),寫過強化學習+真機(對話羅劍嵐:強化學習+真機操作可以很Work),也寫過可微模擬+模擬(EP8對話淦創、周銜:RoboGen如何透過生成模型和可微分模擬大規模合成機器人示教資料(附可微分物理引擎論文綜述))。
而如今,在北美明星初創公司PI的影響下,國內具身智慧創業公司清一色的端到端模仿學習路線,是否過於有共識?在一個完全黑盒的學習框架下學習出來的機器人策略真的可以用於人們的生活中嗎?從落地的角度,我們是否更應該關注那些相對可解釋、更模組化,或者用更流行的說法更加“分層”的方式來解決機器人通用操作的問題?
今天我非常隆重的和大家介紹一條在國內沒那麼多人關注,但非常值得更多人關注的路線,透過基於學習的動力學模型來解決機器人操作問題(Learning-Based Dynamics Models)。
我知道大多數人看到Learning Dynamics+MPC和我第一次聽到這個概念一樣懵。但這種懵的狀態非常好,它就是好奇心和學習的動力來源。為了進一步瞭解Learning Dynamics+MPC,我非常榮幸的邀請到了這條路線上做的最好華人教授李昀燭老師做了一起專訪,同時也非常感謝李昀燭老師組裡的博士生汪怡暄(可以參看Yixuan之前兩個工作的採訪GenDP:3D動態語義對Diffusion Policy泛化性的提升)向我第一次科普這個概念。
李昀燭現為哥倫比亞大學計算機科學系的助理教授,在加入哥倫比亞大學之前,他曾在伊利諾伊大學香檳分校(UIUC)計算機科學系擔任助理教授。他還曾在斯坦福大學視覺與學習實驗室(SVL)做博士後,與李飛飛和吳佳俊合作。他在麻省理工學院(MIT)的計算機科學與人工智慧實驗室(CSAIL)獲得博士學位,導師是Antonio Torralba和Russ Tedrake,並在北京大學獲得本科學位。
以下這篇文章,希望你和我一樣,在通用操作技術路線路徑的認知上,增加一條非常有潛力的路徑:Learning Dynamics+MPC。
1. 什麼是基於學習的動力學模型
與人的學習過程對比
與其他領域的交叉
2. Learning Dynamics的核心—預測模型
3. 基於學習的動力學模型的狀態表示
4. 對可形變物體的建模—基於粒子的表示
什麼樣的模型結構處理粒子是最好的?
5. 與可微物理引擎有什麼區別?
6. 與Transformer這種模型結構的結合
7. Leaning Dynamics和RL怎麼結合?
8. Leaning Dynamics和VLA?
9. 這個模型適用於模擬還是真實世界?
10. 與目前模仿學習如何對比?
1. 什麼是基於學習的動力學模型(Learning-Based Dynamics Models)
這個大的方向其實是非常直觀的,它就是基於intuitive physics,也就是直覺的物理學。你可以這樣理解:人類對環境有非常強的直覺性預測能力,我們能夠預測自己的行為會對環境造成什麼樣的影響。比如,當你去捏一個麵糰時,麵糰可能會發生形變;或者當你推一堆顆粒狀的物體,比如咖啡豆時,這些咖啡豆會移動或散開。
人類對周圍物理世界有著強烈的直覺理解,我們透過多種感官模態,如視覺、觸覺和聽覺,與環境互動並觀察場景的變化。在這些互動過程中,我們的大腦處理感官資料,構建世界的心理模型,並預測如果我們施加特定的動作,環境會如何變化。這種物理學的直覺理解並不依賴於顯式的物理學公式,並且能夠應用於各種材質的物體(即剛體、可變形物體和流體)。
這種預測能力其實非常具有普適性(generalizable)。我們能夠預測自己的行為對剛性物體(rigid objects)、可變形物體(deformable objects)、顆粒物體(granular objects)、甚至柔性物體(如繩索)會造成什麼樣的影響。這種能力無時無刻都存在於我們的腦海中。當我們人類做決策時,往往就是基於這樣的預測能力來規劃自己的行為。
比如說,當我們希望把手機從一個點推到另一個點時,我們大概可以預測推的動作會對手機在桌子上的狀態造成什麼樣的影響,比如它會怎麼移動,或者會如何旋轉。正是這樣的預測能力幫助我們規劃自己的推動作,從而使手機達到目標狀態。
在這裡,你可以完全理解這種預測能力,其實就是基於當前狀態和行為,來預測這個世界未來會發生什麼樣的變化。這種能力可以被抽象為一個模型,而這個模型有很多不同的名字。你可以認為它是一個模擬器(simulator),也可以稱它為基於直覺的物理模型(intuitive physics),或者叫做世界模型(world model)。它的本質是預測世界的狀態如何隨著行為而變化。
因此,開發能夠讓機器人理解自身行為對環境影響的預測模型,將極大地幫助其實現通用操作。這類似於人類的直覺,使其能夠根據預測的結果制定有效計劃以完成預定任務目標。基於物理的模型(physics-based models)雖然在泛化能力上強大,但通常需要完整的環境狀態資訊——這在複雜的操作任務中往往難以實現或不可能實現。基於學習的動力學模型則提供了一種替代方法,它透過直接從原始感官觀測(observation)中學習預測模型,能夠捕捉那些在分析模擬中難以建模的因素。
Learning Dynamics與人的學習過程對比
我們的目標是直接從真實世界中學習,這與人類的學習過程非常相似:人類透過與環境的真實互動來學習並構建自己的模型。這種學習方式可以稱為“直覺物理學”(intuitive physics),因為它模擬了人類在日常生活中透過經驗積累和與世界的互動,逐步建立對物理現象的理解和預測能力。
“直覺物理學”指的是我們對物理世界的直覺理解,這種理解通常是基於經驗和感知,而不是透過明確的計算或數學推導。例如,我們知道如何抓住掉落的物體,或者預測一個球彈跳的軌跡,這些都是透過與環境的互動獲得的知識。這種學習方式具有極強的可擴充套件性,並隨著與環境互動的增多,使我們的預測能力不斷增強。
Learning Dynamics與其他領域的交叉
與計算機視覺:基於這個預測模型,它會與很多領域產生交叉。例如,它可能與計算機視覺領域相關。視覺的本質是一種感知(perception)的過程,主要是將高維度的輸入(比如視覺或觸覺訊號)對映為對環境的狀態表示。比如,它可以捕捉物體的六個自由度姿態變化,或者像DPI-Net那樣,將物體的狀態建模為粒子之間的變化。這種能力使得視覺模型可以很好地與預測模型結合,從而描述環境狀態。
DPI-Net (ICLR 2019)
與圖形學:同時,這種預測模型還可能與圖形學產生結合。它與一些基於物理的模擬器或可微分模擬器(differentiable simulators)相關。在訓練這種模型時,我們通常基於神經網路,這種模型本質上是可微分的,因此可以透過提取梯度(gradients)來最佳化模型的效能。
與控制與最佳化:此外,它還與控制與最佳化領域有很強的交叉關係。理論上,這種預測模型本質上是一個前向模型(forward model),即從當前狀態和行為預測未來會發生什麼。而這裡還有一個有趣的對比是逆向模型(inverse model),它的作用是基於當前狀態和目標狀態推匯出需要採取的行為。前向模型和逆向模型的區別在於:前向模型是從當前狀態和行為預測未來狀態;逆向模型是從當前狀態和目標狀態推匯出需要採取的行為。
透過這些不同的結合和交叉,預測模型可以幫助我們理解並控制複雜的環境,提供強有力的工具來最佳化決策和行為規劃。
2. Learning Dynamics的核心——預測模型
對於強化學習,它本質上是一個策略學習,即學習一個策略函式(policy function)。這個策略函式將當前的狀態和你想要的目標狀態作為輸入,輸出的是你想要的行為。而預測模型與之相反,它是根據當前的狀態和你執行的行為,去預測未來的狀態是什麼。
換句話說,儘管強化學習和預測模型都基於當前的狀態,它們的目標和方法是不同的。預測模型關注的是你的行為會如何影響當前狀態,而強化學習中的策略學習則關注的是“我要到達目標狀態,需要採取什麼樣的行為”。
因此,本質上,強化學習和預測模型可以視為一體兩面的過程:預測模型是一個前向模型(forward model),而策略學習則是一個逆向模型(inverse model)。
我們透過學習這個模型,並基於它來進行機器人的行為規劃。這與我最開始提到的,我們人類的直覺類似:從小到大,我們透過與環境的無數互動,逐漸學會預測自己的行為會對環境產生什麼樣的影響。人類具備這種能力,並且這種能力正是透過我們與環境的互動來獲得的。我們希望機器人也能擁有類似的能力,且希望這種能力同樣能透過機器人與環境的互動來學習。
所以,正如我之前提到的,人的預測模型能夠很好地適應各種材質的物體,比如剛性物體、可變形物體、流體、顆粒物體、繩子、衣物等。我們過去的許多工作也都是圍繞著如何透過機器人與環境的互動,收集資料並基於這些資料學習前向預測模型。比如,我們曾經的工作就涉及到繩子、布料,甚至麵糰。
RoboCook (CoRL 2023)
比如RoboCook,這個工作可以看作是DPI-Net(Particle Network)的一個後續進展,只是具體任務更加複雜,但本質上仍然是基於粒子作為一個對環境的描述來學習向前的預測模型。我們的目標是預測不同工具對面團形狀的影響,比如在執行某種特定操作時,麵糰的形狀會發生怎樣的變化。這個過程本質上就是一個預測模型。
而這個預測模型不僅可以用於前向預測,還能用於解逆向問題。比如,學習策略函式(policy learning),進行軌跡規劃(trajectory optimization)等,都可以透過這個預測模型來解決。我們過去一系列的工作,主要集中在如何學習不同物體的預測模型,包括基於繩子的預測模型、基於衣物的預測模型、基於麵糰的預測模型,以及如何建立針對顆粒物體(如一堆咖啡豆、一堆方糖、胡蘿蔔丁等)的預測模型。我們的目標是利用這些預測模型,透過對環境的描述來預測物體在特定操作下的變化,並進一步應用於機器人的行為規劃。
3. 基於學習的動力學模型的狀態表示及模型選擇
預測模型的核心任務是基於當前的狀態和輸入的行為來預測下一個狀態。那麼,關鍵問題是:這個“狀態”應如何定義?它是一個影像,還是潛在空間的向量(latent vector)?它是否介於兩者之間,包含3D資訊,或是否包含一些語義資訊?如何定義狀態在很大程度上決定了模型的學習難易度、設計方式以及最終應用於planning和control時的能力。
我們之前開展了很多研究,探索了不同狀態描述(state representation)的優勢與劣勢,並分析了它們的能力。例如,對於剛體(rigid object)——即不可形變的固體——通常使用六自由度(6-DoF pose)描述,即物體的位置和旋轉角度。然而,這種六自由度的描述方法在處理像繩子或布料這樣的可形變物體時並不適用,必須使用其他描述方式。
在處理像繩子和布料這樣的物體時,我們發現使用粒子(particles)作為環境的描述非常有效。粒子可以直接從三維視覺資訊中獲取,用來描述物體的形狀;也可以描述物體內部的互動作用,例如繩子是否能彎折、是否能被拉伸;同樣,布料的粒子也能描述它們之間的相互作用。這種粒子表示方式不僅能描述物體的形態,還可以用於物體間的相互作用,例如剛體和布料之間的相互作用。因此,粒子作為環境的描述既通用(universal),又靈活(flexible)。
GS-Dynamics (CoRL 2024)
總的來說,世界狀態的描述對學習預測模型至關重要。狀態描述有多種選擇,如剛體(object)描述、粒子(particles)表示、畫素(pixel)表示或將環境對映到潛在空間的向量(latent vector)。這些都是有效的表示方式,甚至更稀疏的粒子,如關鍵點(key points),也可以作為狀態的描述。因此,選擇適當的世界狀態表示方式對於構建基於學習的預測模型是一個重要決策。

一旦確定了狀態描述,接下來就需要定義模型的結構。雖然模型本質上都是神經網路,但根據狀態描述的不同,模型的形式可能也有所不同。如果輸入是圖片(二維影像),模型通常是卷積神經網路(CNN)。而如果輸入是粒子集合,那麼模型可能需要能夠靈活處理這些粒子的模型,如圖神經網路(Graph Neural Networks,GNN)、Transformer模型,或像PointNet這樣的靈活結構。如果輸入是Latent Vector,由於缺乏顯式的物體、空間或時間的概念,通常採用多層感知器(MLP)進行處理。
換句話說,狀態描述的選擇直接影響後續模型的選擇,並決定了如何基於學到的模型來做出規劃和控制等決策。
4. 對可形變物體的建模——基於粒子的表示
粒子表示透過使用離散點來表示剛體和可變形物體的表面和體積,能夠準確建模三維幾何結構。這種方法使得互動建模更加精確,而明確的結構先驗則提高了樣本效率(sample efficiency)和泛化能力(generalization ability)。
傳統上,粒子廣泛用於基於物理的模擬技術,如基於位置的動力學(Position-Based Dynamics, PBD)、材料點方法(Material Point Method, MPM)等。這些技術為近年來的基於物理的模擬器提供了動力。然而,這些技術依賴於近似建模,可能會導致Sim2Real Gap,需要複雜的系統識別(system identification)來彌合。作為一種自然的替代方案,基於學習的粒子動力學模型直接從真實世界資料中學習預測動態行為,極大地減少了Sim2Real Gap。
什麼樣的模型結構處理粒子是最好的?
我們目前發現,圖神經網路(GNN)是處理粒子結構的最佳神經網路結構之一。圖作為一種資料結構,在許多應用中都非常有效,尤其是在描述物體和物體之間的關係時。圖結構相對來說是一種普遍且直觀的描述方式,世界上許多事物都可以被轉化為圖結構,例如社交網路中的人和人之間的關係。
DynRes (RSS 2023)
在圖神經網路中,每個節點可以儲存關於物體的豐富資訊,包括材質、語義以及幾何資訊,而節點之間的邊則能夠描述物體與物體之間的相互作用。例如,在基於物理的動力學模型(physics-based simulation)中,往往需要手動定義每種物體間的互動規則,這個過程十分繁瑣且複雜——例如,定義刀和牛排之間的相互作用、物體和物體之間的互動等等。如果你將環境描述為圖結構,那麼圖中節點之間的互動關係就可以透過邊來表示。這些邊不僅僅是連線節點,它們能夠編碼各種各樣的互動資訊,涵蓋物體與物體之間的不同型別的相互作用。這種方式使得圖神經網路能夠靈活地處理複雜的互動關係,而無需手動定義每一種互動。
5. Learning Dynamics與可微物理引擎有什麼區別?
這個問題非常好,它本質上是對比基於學習的預測模型和基於物理的模擬器(聊一聊“Sim”(上)——一覽機器人模擬器生態)的核心區別。實際上,這兩者在本質上是相似的,都是在學習一個預測函式,即基於當前狀態和行為,預測下一個時刻的狀態。可微分的物理模擬器(EP8對話淦創、周銜:RoboGen如何透過生成模型和可微分模擬大規模合成機器人示教資料(附可微分物理引擎論文綜述))實際上也在進行同樣的模擬計算任務。
不同之處在於,它們的模型結構是不同的。基於物理的可微分模擬器的模型通常由物理公式構成。而基於學習的預測模型則使用神經網路來代替這些物理公式。換句話說,物理規律在學習模型中被神經網路所替代,這是它們的本質區別。
兩者各有優勢。基於物理的模型具有較好的泛化能力,只要物理公式是正確的,它在多種情況下都能得到有效的預測,而且其可調引數相對較少,通常只有如物體剛度(stiffness)、粘度(viscosity)等具有明確物理意義的引數。而基於學習的預測模型,由於完全依賴神經網路,它們有更多的引數,引數量遠大於基於物理的模型,理論上泛化能力也會稍遜一籌。
基於學習的方案有許多優勢,其中最核心的一個優勢是它不需要知道環境的所有資訊,就能學習到一個足夠有效的預測模型。舉個例子,系紐扣,如果你使用可微分模擬器(differentiable simulator)來模擬系紐扣的過程,你需要知道衣物的所有資訊,包括衣物的材質、衣物與人體的接觸情況,甚至紐扣與衣物之間的區域性連線等細節。如果你不知道你模擬的世界中所有的狀態資訊的話,你是沒有辦法做這樣一個基於物理的預測的。
然而,人類是不需要知道環境中所有的物理資訊或互動公式。透過與環境的無數次互動,我們能夠在腦海中構建出一種直覺式的物理引擎。我們不需要詳細瞭解每個物體的物理特性,只需要透過經驗和觀察,就能對物體如何響應我們的行為做出合理的預測。這種能力是透過大量的資料—即我們與世界的互動—不斷積累和學習的,這也是基於學習的模擬器(learning-based simulation, intuitive physics, world models)希望達到的目標。
6. Transformer這種模型結構是否也適合基於學習的動力學模型?
目前我們發現,在相對較小規模的場景中,圖神經網路(GNN)表現得非常有效,儘管我們還沒有將其規模化,下一步計劃是將其拓展至更大的資料規模。就目前來看,在較為侷限的複雜場景中,比如包餃子任務(這類任務通常涉及桌面上的操作過程),我們發現圖神經網路比 Transformer 更為有效。
實際上,之前有研究指出,Transformer 與圖神經網路有很多相似之處,主要區別在於是否顯式編碼邊上的資訊。圖神經網路主動編碼邊的資訊,而 Transformer 並不會。因此,圖神經網路在某些應用中可能比 Transformer 更有優勢,尤其是在對邊資訊有需求的情況下。
接下來,我們計劃將圖神經網路規模化,考慮兩個主要方向。第一個方向是透過大規模資料學習,是否能夠構建一個通用的基於學習的模擬器,能夠模擬不同材質和互動的多樣性。目前,我們透過一組資料訓練得到一個特定模型,且在該資料分佈下表現良好,但對於不同的資料集或場景,可能需要重新訓練不同的模型。因此,下一步目標是研究是否能夠構建一個可以建模各種不同互動的通用模型。第二個方向是將其在空間和時間層面上進行大規模擴充套件,即從目前侷限於桌面場景的應用,擴充套件到房間級別,探索如何將圖神經網路與例如 SLAM等機器人模型結合,進行大規模環境建模。這些都是未來擴充套件的研究方向,仍有大量的探索空間。此外,GNN模型是一個非常容易擴充套件的結構,擴充套件方式僅僅是透過新增節點和邊而已。
7. Leaning Dynamics和RL怎麼結合?
這兩者之間並不矛盾,反而是一個互相促進的過程。簡單來說,我們最初提出的模型是一個前向預測模型,而無論是模仿學習還是強化學習,它們本質上都是在學習一個逆向的函式——即給定當前狀態,我們的動作是什麼?它們並不直接預測未來的結果,而是直接預測動作。
這可以看作是硬幣的兩面,互為補充。我們目前的方向實際上可以歸結為模型學習(model learning),模仿學習和強化學習可以成為模型學習基礎上的延伸。比如基於模型的強化學習(model-based reinforcement learning),它透過學習一個模型(model),再基於該模型學習策略(policy)。很多強化學習的實現是從物理模擬模擬器中學習策略,而我們完全可以將物理模擬器替換為一個基於學習的預測模型模擬器。這種方法已經被應用到我們的機器人做餃子的專案中,機器人透過這種基於學習的模擬器來學習策略。
可以舉個例子,這與自動駕駛中的一些方案非常相似。自動駕駛系統通常會使用預測模型,來預測其他車輛在你的車行為的影響下它們的行駛軌跡會如何變化。透過這樣的預測模型,就可以進行軌跡規劃,這就是所謂的模型預測控制(MPC)。基於一個能夠進行預測的模型來進行軌跡規劃的技術就是Model Predictive Control。
8. Leaning Dynamics和VLA?
我們學到的模型和模仿學習也有一個容易的結合點,即透過這個模型和模型預測控制(MPC)相結合。你可以基於這個模型,使用MPC方法優化出一個軌跡,而這個軌跡可以作為模仿學習的ground truth,用於訓練模仿學習的策略。它既可以是強化學習的模擬器,又可以是模仿學習的資料生成器。It can be the simulator for reinforcement learning. It can also be the data generator for imitation learning.
現在的VLA(視覺語言預訓練模型),本質上就是一個大型的模仿學習模型,輸入是視覺和語言資料,輸出是動作。目前,很多VLA方案都是透過模仿學習來實現的。如果你有一個高效的世界模型,它就可以作為資料生成器來幫助訓練VLA模型。
除了可以做data generator,這些學到的模型從另一方面講也可以作為一個evaluator。例如,在訓練一個大型的策略時,你可能需要評估它的效果。透過在真實環境中進行評估,往往會非常昂貴且噪聲較大。舉個例子,你早上和晚上進行同樣的測試,結果可能會因為光線的區別有較大的差異。我們可以利用學到的模型,作為現實世界的代理(proxy),雖然它不能完全替代真實世界,但相比之下,它更高效、成本更低。透過在學到的模型上進行測試,可以提前篩選出一些表現不佳的策略,從而極大程度上減少在真實環境中所需要做的測試量。簡而言之,我們學到的這個模型,不僅可以作為模仿學習的大型VLA的訓練資料生成器,也可以作為其評估工具。
9. 這個模型適用於模擬還是真實世界?
這個模型的訓練資料來源可以是模擬資料,也可以是來自真實世界的資料。理想情況下,如果你希望模型更貼合真實世界,最好是在真實世界中直接學習模型。當然,另一種方法是先在模擬環境中學習模型,再用真實世界的資料進行調整或精細化(finetune)。這樣,儘管生成的資料本身不是來自真實世界,它仍然有很大的可能性與真實世界的資料非常接近,因為模型本身會在真實世界的資料基礎上進行學習和最佳化的。
透過這種方式,儘管生成的“資料”是模擬出來的,但它能夠更好地反映真實世界的特徵,從而提高模型在實際應用中的表現。
10. Learning Dynamics+MPC與目前端到端模仿學習如何對比?
透過學習模型,你可以更清楚地理解當機器人在真實世界中出現問題時,問題出在哪裡。具體來說,當機器人無法正常工作時,你可以分析是因為感知不夠準確,導致世界狀態估計有誤;還是因為重建物體的幾何形狀不夠精準,影響了機器人對物體的理解;或者是因為預測模型本身不夠準確,導致失敗;又或者是最佳化過程中的問題,比如MPC未能有效地規劃軌跡。透過這種模組化的系統設計,你可以更容易地定位問題的根源。
這種模組化的系統在真實世界應用中具有很大的優勢,尤其是當機器人需要在複雜環境中進行大規模部署時。安全性和可除錯性(debuggability)變得尤為重要。透過這種方法,你能更清楚地知道每個模組(感知、預測、規劃)可能出現的故障,並且能夠有效地進行修復。在自動駕駛領域,也正是這種模組化的系統,使得機器人能夠在面對現實世界的挑戰時,更容易進行測試和除錯。
相比之下,如果採用端到端模仿學習(imitation learning)的方法,當機器人出現失誤時,很難追溯問題的根源。模仿學習更多依賴於資料驅動的方式,但如果沒有良好的模型和模組化結構,一旦系統失敗,就很難有效地進行分析和修復。
References:
李昀燭主頁
https://yunzhuli.github.io/
RoboCook
https://hshi74.github.io/robocook/
DPI-Net
http://dpi.csail.mit.edu/
DynRes
https://robopil.github.io/dyn-res-pile-manip/
GS-Dynamics
https://gs-dynamics.github.io/
原創不易,歡迎“點贊”“打賞”“在看”三連!
也歡迎加我微信交流!
