擴散策略(Diffusion Policy)

定義

擴散策略(Diffusion Policy)把擴散模型——也就是影像生成常用的技術——拿來生成機器人的動作序列。模型以觀察(影像、機器人狀態)為條件,從隨機雜訊出發,經過多步去噪,得到接下來一段時間要執行的動作。

運作方式

訓練時,對示範動作 a0\mathbf{a}^0 逐步加雜訊,讓網路學會預測雜訊:

L=E[∥ϵ−ϵθ ⁣(ak, k, o)∥2]\mathcal{L} = \mathbb{E}\left[\left\| \boldsymbol{\epsilon} - \epsilon_\theta\!\left(\mathbf{a}^k,\, k,\, \mathbf{o}\right) \right\|^2\right]

推論時從高斯雜訊 aK\mathbf{a}^K 開始,反覆用 ϵθ\epsilon_\theta 去噪到 a0\mathbf{a}^0,得到動作序列。

優點

  • 多峰分佈:能保留示範中多種合理的做法。
  • 動作序列預測:一次輸出一段平滑的軌跡,降低抖動與累積誤差。
  • 訓練穩定:不像對抗式方法容易崩潰。

使用情境

  • 模仿學習的操作任務:倒水、擺放、雙臂協作。
  • VLA 動作頭:π0 等模型以 flow matching 的動作專家輸出連續動作。
  • 抓取生成:CGDF、DAGDiff 等方法用擴散模型生成六自由度抓取姿態。

延伸閱讀

常見問題

faq_01.log
為什麼擴散策略比直接回歸動作更好?
同一個情境下,人類示範可能有好幾種合理做法(例如從左邊或右邊繞過障礙)。直接用均方誤差回歸會把這些做法平均,得到一個兩邊都不是的錯誤動作;擴散模型能表示多峰分佈,每次取樣出其中一種合理做法。
faq_02.log
擴散策略推論會不會太慢?
原始做法需要數十步去噪,速度確實是瓶頸。常見對策包括一次預測一段動作序列(action chunk)、使用 DDIM 等少步數取樣器,以及改用 flow matching 或一致性模型縮短生成步數。

相關文章

相關術語