跳过正文
  1. Notes/

简单理解 DP(Diffusion Policy)

· loading · loading · ·
Robot VLA
目录

简单理解 DP(Diffusion Policy)

0. 前言
#

随着具身智能的发展,各种 VLA 方法层出不穷,而 Diffusion Policy(DP) 就是其中一类方法。顾名思义,DP 就是应用 Diffusion 方法在机器人动作生成中的一种 Policy,在 2023 年《Diffusion Policy: Visuomotor Policy Learning via Action Diffusion》中提出。

如果想了解 Diffusion Model,可以阅读这篇文章:

简单理解扩散模型(Diffusion Model)
loading · loading
AI CV

如果想了解 VLA,可以阅读这篇文章:

如图所示,在模仿学习中,大致有 3 种动作生成策略:显式策略(Explicit Policy)、隐式策略(Implicit Policy)、扩散策略(Diffusion Policy)

显式策略:直接将观测映射到动作;隐式策略:基于观测和动作学习的能量函数进行优化;扩散策略:端到端,建模动作分布的梯度场。

1. 多模态动作分布(Multimodal action distributions)问题
#

现实世界中,解决一个任务的方法可能不是唯一的,或许有不止一种较优解,用函数表示的话就具有多个峰,这就是多模态动作分布问题,也叫多峰性问题。

前馈神经网络本质上是一个函数,对于给定输入,只能有一个输出。然而在某些情况下,一个输入可以有多种不同的输出,因此难以用普通的前馈神经网络训练。而引入了概率分布,就使得神经网络不再是单个输出的函数,而是可以有多个输出的函数,只是各个输出的概率不同,这就是使得结果变得更加灵活。

显式策略将观测直接映射到动作,就是一个输入对应一个输出,容易陷入死循环。而 DP 可以表示任意的归一化分布,可以解决此问题,如图所示:要将 T 型物体推到指定位置,DP 的策略是两条路径,而其他的只倾向于一条或是不收敛。

2. 高维空间中的闭环动作序列(Closed-loop action sequences)问题
#

在预测多模态动作时,人们倾向于离散预测,将连续值问题转换为分类问题,这样高维空间中动作预测的计算量就会很大。而且如果采用分类方法,每一步都需要预测下一步执行动作,而不是预测一个连续的动作序列,因此又会出现动作一致性问题。

由于 DP 的自回归性质,它可以一次性生成一个动作序列;并且结合论文中引入的滚动时域控制(receding-horizon control),可以产生一条闭环实时的动作序列(类似与 MPC)。每次预测几个时刻的动作序列,但只执行第一步,来实现实时更新,如图所示:

3. 训练稳定性(Training stability)问题
#

直接从目标分布中进行学习,避免了在非目标分布中进行负采样,因此使得 DP 的训练十分稳定。

4. 核心算法及公式
#

DP 之所以叫做 DP,就是因为它还是使用了 Diffusion 的核心算法,先回顾一下 DDPM 的核心公式:

$$ \mathbf{x}^{k-1}=\alpha(\mathbf{x}^k-\gamma\varepsilon_\theta(\mathbf{x}^k,k))+\mathcal{N}(0,\sigma^2I) $$

$$ L=MSE(\varepsilon^k,\varepsilon_\theta(\mathbf{x}^0+\varepsilon^k,k)) $$

而 DP 只是将 DDPM 的输出从图像变成了机器人的动作,而且将观测 $O$ 作为条件加入到去噪过程中,即观测数据是条件分布而不是联合分布:

$$ \mathbf{A}^{k-1}_t=\alpha(\mathbf{A}^k_t-\gamma\varepsilon _\theta(\mathbf{O}_t,\mathbf{A}^k_t,k))+\mathcal{N}(0,\sigma^2I) $$

$$ L=MSE(\varepsilon^k,\varepsilon_\theta(\mathbf{O}_t,\mathbf{A}^0_t+\varepsilon^k,k)) $$

结果如图所示:

可以看到,输入的观测值有摄像机捕捉的图像,还有对于机器人位姿的观测;而输出的动作序列是由一个充满噪声的动作分布逐渐去噪成为一条清晰的轨迹。

5. 网络架构
#

论文中设计了两种架构:基于 CNN 的架构和基于 Transformer 的架构,如图所示:

两种架构都是将动作编码和观测值相结合,迭代 K 次训练梯度场。

6. 参考文献
#

1.最适合入门的diffusion policy - 上交IWIN-FINS实验室 - bilibili

2.Diffusion Policy 论文精读:从Diffusion到Policy – Devon’s Blog

3.Diffusion Policy—基于扩散模型的机器人动作生成策略 - 知乎