從噪聲到動作:Diffusion Policy 如何改變機器人學習?
引言
在機器人手臂操作方面一直存在諸多挑戰。我們熟悉的工業場景中的組裝機械臂,往往依賴于寫死的程序指令進行控制,具有高度規范化與高精度的特點。而當機械臂需要在復雜、多變的環境中與外界進行交互時,就不得不涉及學習策略、協同性以及時間序列決策等難題。如今,在工業高精度場景下的機械臂已日漸成熟,精度也越來越高,但在更復雜的任務中,依然存在效率低下、動作連貫性不足以及學習策略不佳等問題(論文中對此有具體例子)。
針對這些問題,Diffusion Policy 框架提出了一種全新的解決思路:它將機器人動作生成建模為條件擴散過程,在逐步去噪中得到連貫、合理的動作序列,從而有效改善動作的多模態建模能力、時序一致性和訓練穩定性。實驗證明,Diffusion Policy 在多項機器人任務中均顯著超越了現有方法,展現出更強的學習能力與表現力。
Diffusion 驅動下的機械手 展現了極強的學習能力與連貫性,而在 CoRL 座談會 上,研究者們對其討論也非常熱烈。讀完論文后,我也不得不感嘆一句:Diffusion Policy is SOTA!
1. 什么是 Diffusion Policy?
Diffusion Policy 是一種基于 條件擴散模型(Conditional Denoising Diffusion Process)的機器人視覺-運動策略學習方法。
Diffusion Policy其實解決的是一個機器人輸出的問題,過往的很多工作大家都注重在解決輸入的問題,但機器人最終要執行,我們的工作就在于解決機器人動作和輸出的問題。更確切地說,我們的創新聚焦于機器人的動作端而非輸入端,在輸入端使用的是非常普通的東西。盡管輸入端有很多可以提高的地方,但機器人學習方法必須注重輸出端,先前的算法在輸出端的表現都不夠好。因此,無論輸入端有多么創新,如果輸出端表現不佳,就像"茶壺煮餃子倒不出"一樣,將無法發揮潛力。
它的基本思想是:
-
不直接預測動作,而是從隨機噪聲出發,經過多步去噪,逐漸生成符合任務要求的動作序列;
-
使用視覺觀測作為條件,保證生成的動作與環境狀態相匹配;
-
生成的是高維動作序列,而非單步動作,能確保動作的時序一致性和連貫性。
它的優勢主要體現在:
-
表達多模態分布:可以學到不同的合理操作方式;
-
適配高維動作空間:能生成完整的動作序列,而不是單步預測;
-
訓練穩定:避免了能量模型訓練中的負采樣問題。
2. 與傳統方法區別
2.1 解決了機器人Multi-Modal
的問題
簡單理解,現實世界中解決某一特定任務的方式是多樣的,而不是唯一的。但神經網絡預測只能給出單一的方式,無法應對可能有多種方式的任務情況。
什么是機器人Multi-Moda問題,假設我現在在開車,前面有一棵樹。比如說,我雇傭了100個司機來解決這個問題。在這種情況下,有可能有50個司機選擇往左拐,繞過樹的左邊,還有50個司機選擇從樹的右邊繞過去。在這種情況下,往左繞和往右繞都是完全合理的。然而,當我們將所有這些解決方案合并為一個時,問題就變成了一個多模態分布,即我看到的相同場景有兩種不同的選擇。這對傳統神經網絡的預測來說并不友好,因為它通常使用均方誤差(MSE
)損失進行訓練,而這無法有效處理Multi-Modal
情況。
為了解決這個問題,引入了概率分布,使得神經網絡不再是一個輸入一個輸出的函數,而是一個輸入可以有多個輸出的函數。這種方法提供了更大的靈活性,可以表示各種概率分布,解決了原有方法的限制。
2.2 解決了Action Space Scalabiltiy
或者sequential correlation
問題
數據預測有兩種方法:一是直接輸出一個數值,另一種是將可能的數值分成幾個區間,進行離散預測。在預測Multi-Modal Action的時候,人們傾向于采用離散預測,將連續值問題轉化為分類問題,但這樣做涉及的算力成本很高,尤其在處理高維空間時。此外,針對機器人控制問題,如果采用分類方法,每一步都需要預測下一步要執行的動作,而實際需求是希望一次性預測多步動作,這就涉及到了連續控制中的動作一致性問題。解決這個問題的挑戰在于平衡成本和對高維連續控制的需求。
假設我要控制的是一個具有六個自由度的機械手,甚至考慮到夾爪開關,有七個自由度,這時如果我要對其進行分類,就不再是在一個維度上切分成100份,而是每個維度都要切分成1000份。然后,將所有這些切分的部分相乘,才能得到我們整個空間的方法。如果采用這種方法,成本將會非常非常高。隨著維度的增加,成本會呈指數級增長
由于它們預測高維空間的成本非常高,因為它們只能預測一步,接下來的步驟是什么。如果再加上更多的步驟,維度就會變得越來越高,它們就無法勝任。然而,實際上我們現在追求的是具有以下特性的方法:不僅可以預測每一步,而且可以在高維連續控制中實現。對于我們來說,我們可以直接預測未來每一步,無論是接下來的20步還是100步,是向左還是向右,而不是在每一步預測之后再執行,再決定下一步該怎么走。
2.3 解決了Training Stability問題
Diffusion Policy和其他使用生成式模型(LSTM-GMM、BET、IBC)的策略比,他的最大特點是訓練過程非常穩定。
關于訓練穩定性,遲宬的進一步解釋是:在Robot Learning領域,機器人動作執行主要有三種方法:包括直接回歸、分類預測和生成式模型。第一類回歸,即將神經網絡視為一個函數,輸入是圖片,輸出是一個動作。這是最常見的方法,絕大多數強化學習都采用這種方式。然而,這種方法存在一些問題,正如之前提到的。第二類分類預測,這種方法通過預測分類來生成動作,前文已經大致描述,不再詳細贅述。第三類生成模型,理論上所有的生成模型都可以預測連續的多模態分布,但很多生成模型的問題是訓練不穩定。
基于Diffusion Model的第三類方法具有一個重要的優勢,即訓練非常穩定。這也是為什么Diffusion Model當前在圖像生成方面取得了成功,而當時的生成對抗網絡(GAN)并沒有成功的原因。在當時,GAN在學術界能夠產生一些不錯的效果,但當你真的將其應用于產品時,你會發現非常困難。要訓練一個有效的GAN,你需要瘋狂地調整參數,然后才能訓練出可用的生成器。
而Diffusion方法的強大之處在于,它的性能不遜色于GAN,但其訓練過程非常穩定。基本上,你可以隨便調整參數,生成器就能夠輸出結果,可能效果不是最優的,但基本上都能work。同時,這也解釋了為什么像Stable Diffusion這樣的方法,以及現在各種圖像生成模型能夠在如此龐大的數據集上進行訓練,這是因為它們的訓練非常穩定。如果你在如此大規模的數據上使用其他方法進行訓練,可能會在訓練一段時間后出現奇怪的問題,模型無法進一步優化。
3. 模型架構梳理
Diffusion Policy 的架構主要由三部分組成:
3.1 視覺輸入(Visual Encoder)
使用 ResNet
作為基礎結構;
修改:全局平均池化替換為 空間 Softmax 池化;BatchNorm 改為 GroupNorm;
輸入:多視角圖像和機器人自身狀態;
輸出:觀測特征 OtO_tOt?。
3.2 動作擴散(Action Diffusion)
從隨機噪聲動作序列 AtKA_t^KAtK? 出發,逐步去噪得到最終動作 At0A_t^0At0?;
每次推理預測 TpT_pTp? 步動作,但只執行其中 TaT_aTa? 步,然后重新規劃;
保證動作的時序一致性,同時具有實時響應能力。
3.3 Transformer 時序結構
CNN 適合低頻任務,但容易過度平滑;
Transformer 更適合需要快速動作變化的任務;
輸入:帶噪動作 embedding + 擴散步數 embedding;
融合:通過跨注意力融合視覺特征 OtO_tOt?;
輸出:噪聲預測 ?θ\epsilon_\theta?θ?,逐步修正動作序列。
4. 數學推導
Diffusion Policy 的數學基礎來源于 去噪擴散概率模型(DDPM)。它的關鍵思想是:從高斯噪聲出發,通過逐步去噪的方式,生成符合分布的動作序列。
4.1 擴散過程公式
標準的 DDPM 去噪更新公式為:
xk?1=α(xk?γ?θ(xk,k))+N(0,σ2I)x_{k-1} = \alpha \big(x_k - \gamma \, \epsilon_\theta(x_k, k)\big) + \mathcal{N}(0, \sigma^2 I) xk?1?=α(xk??γ?θ?(xk?,k))+N(0,σ2I)
其中:
- xkx_kxk?:含噪動作;
- ?θ\epsilon_\theta?θ?:神經網絡預測的噪聲;
- γ\gammaγ:學習率/步長;
- α,σ\alpha, \sigmaα,σ:噪聲調度參數。
4.2 梯度解釋
該過程等價于在能量函數 E(x)E(x)E(x) 上執行帶噪聲的梯度下降:
x′=x?γ?E(x)x' = x - \gamma \nabla E(x) x′=x?γ?E(x)
因此 ?θ\epsilon_\theta?θ? 可以理解為學習了能量函數的梯度場,保證采樣的穩定性。
4.3 條件擴散策略
為了讓生成動作與機器人觀測相一致,Diffusion Policy 在擴散過程中引入觀測 OtO_tOt?,形成條件擴散:
Atk?1=α(Atk?γ?θ(Ot,Atk,k))+N(0,σ2I)A_{t}^{k-1} = \alpha \big(A_t^k - \gamma \, \epsilon_\theta(O_t, A_t^k, k)\big) + \mathcal{N}(0, \sigma^2 I) Atk?1?=α(Atk??γ?θ?(Ot?,Atk?,k))+N(0,σ2I)
其中:
- AtkA_t^kAtk?:第 kkk 步含噪動作序列;
- OtO_tOt?:當前的視覺與狀態觀測。
4.4 訓練目標
在訓練中,Diffusion Policy 會隨機選擇一個擴散步數 kkk,并為真實動作 At0A_t^0At0? 添加噪聲 ?k\epsilon_k?k?,訓練網絡去預測這個噪聲:
L=E[∥?k??θ(Ot,At0+?k,k)∥2]L = \mathbb{E} \big[ \|\epsilon_k - \epsilon_\theta(O_t, A_t^0 + \epsilon_k, k)\|^2 \big] L=E[∥?k???θ?(Ot?,At0?+?k?,k)∥2]
該損失函數本質上是一個 MSE(均方誤差),它保證了模型在所有擴散步數上都能有效學習,從而得到穩定的訓練過程。
5. 與其他學習策略的比較
5.1 顯式策略 (Explicit Policy)
-
直接從觀測到動作的回歸或分類。
-
優點:實現簡單、推理速度快。
-
缺點:難以處理多模態動作分布,容易平均化導致動作模糊。
5.2 隱式策略 (Implicit Policy, EBM)
-
通過能量函數建模動作分布,選擇能量最小的動作。
-
優點:可以表達多模態分布。
-
缺點:訓練依賴負采樣,往往不穩定;推理時開銷較大。
5.3 Diffusion Policy 的創新
-
使用擴散模型迭代生成動作,自然支持多模態;
-
動作序列預測:提升時序一致性,避免抖動和不連貫;
-
視覺條件化:顯著加快推理速度,適合實時控制;
-
閉環控制:結合 receding horizon,讓機器人既能長遠規劃又能及時響應。
5.4 不足
-
推理速度較慢,需要多次去噪迭代;
-
依賴高質量演示數據;
-
相比簡單的行為克隆方法,計算開銷更大。
6. 提到的其他問題
6.1 Diffusion Policy和RL以及Imitational Learning是什么關系?
在Robot Learning領域,機器人操作比較常用的兩個路徑是強化學習(Reinforcement Learning)和模仿學習(Imitation Learning),Diffusion policy并不與強化學習和模仿學習沖突,它可以應用于兩者。該方法是一種策略邏輯,適用于輸入圖像并輸出相應動作的情境。在論文中,我們使用了模仿學習,即由人類遙控機器人執行動作,收集數據,并通過學習將其轉化為策略。這種學習過程通過遙控機器人完成一系列動作開始,然后將其遷移到機器人身上。輸入數據包括過去幾幀的圖像,而輸出涉及對未來動作的預測。
很多強化學習的人,他們使用強化學習在模擬器中生成大量數據。在這個過程中,為了加速訓練,RL policy的輸入不是圖片,而是一些低維度的底層狀態信息。但是由于這些狀態信息在現實環境里是無法獲得的,因此這個RL policy不能直接用于驅動機器人。這個時候,他們會把RL policy生成的數據用于訓練一個圖片作為輸入的模仿學習策略,這被稱為蒸餾。在這種情況下,模仿的對象并非人類,而是一個強化學習“代理”(Agent)。這也是這種方法的應用之一。
6.2 操作(Manipulation)和移動(Locomotion)的訓練有什么不同?
RL在移動有更好的效果,Sim2Real Gap的問題相對好解決;但在操作,RL存在最大的問題是Sim2Real Gap沒法很好的解決。對于操控而言,需要考慮的因素較多,其中一個關鍵區別是在機器人操作中除了需要考慮機器人本身的物理特性,同時還要適應復雜多變的環境和被操作物體。操控涉及與各種各樣的物體進行交互,每個物體都具有獨特的物理特性,如重心、摩擦力和動力學。這些在模擬器中難以準確模擬,即便能夠模擬,精度通常較低,速度較慢。相比之下,對于locomotion,外界環境大多可以視為一個剛體,物理特性基本可以忽略。這使得可以花費更多時間來建立機器人本體的精確物理模型,以及設計更復雜的物理引擎。這是為什么RL更適合Locomotion,而對有物理機器人部署Manipulation沒有那么好的效果。
6.3 Diffusion Policy目前會存在什么問題,未來有哪些工作?
目前最大的問題不是Policy本身,而是數據。訓練數據對于機器人執行特定任務至關重要。盡管我們已經積累了一些關于遙控機器人執行任務的數據,但要將其部署到實際應用中,比如設計一個家用機器人來洗碗,就需要更大規模、更豐富多樣的數據集,類似于ChatGPT的規模。確保機器人能夠在各種家庭環境中表現出足夠的穩健性。目前,最大的挑戰在于如何有效地收集大量、多樣化的數據。這是下一步研究的關鍵,通過數據收集和訓練,期望能夠解決當前面臨的問題,同時也認識到可能會有新的挑戰隨著數據規模的增加而浮現。
7. References:
知乎
宋舒然RSS 2023報告
Princeton Robotics - Russ Tedrake - Dexterous Manipulation with Diffusion Policies
Cheng Chi Github
Diffusion Policy Project Page