论文阅读笔记——Diffuser,Diffusion Policy
Diffuser
Diffuser 论文
将轨迹预测问题转化为基于扩散模型的条件生成问题,通过概率框架统一了动力学约束与目标优化。
轨迹表示(state,action):
τ = ( s 0 s 1 … … s T a 0 a 1 … … a T ) \tau = \begin{pmatrix}s_0s_1……s_T\\a_0a_1……a_T\end{pmatrix} τ=(s0s1……sTa0a1……aT)
Diffuser采用了一种非自回归的轨迹建模方法,它不需要严格遵循时间顺序或马尔可夫性,而是基于局部时间窗口进行预测。如图2所示,模型通过迭代去噪生成轨迹,每一步仅根据邻近的几个状态-动作对(红色区域)来更新当前预测,这种局部处理方式最终能合成出全局一致的完整轨迹。
基于时间局部性的设计原则,Diffuser 的神经网络架构需要满足三个关键条件:
1)采用非自回归的全局轨迹预测方式(通过感受野机制实现);
2)确保去噪过程的每一步都具有时间局部性;
3)轨迹表示需保持沿规划时维度的等变性,而不要求状态-动作特征间的等变性。
这些条件共同保证了模型既能捕捉局部动态,又能生成全局一致的轨迹。
如图,采用了堆叠 时序卷积残差块,整体类似 U-Net,将二维空间卷积替换成了一维时序卷积,并且全部由卷积构成可以让输入时域长度可变。
损失函数类比扩散模型可得:
L
(
θ
)
=
E
i
,
ϵ
,
τ
0
[
∣
∣
ϵ
−
ϵ
θ
(
τ
i
,
i
)
∣
∣
2
]
\mathcal{L}(\theta)=\mathbb{E}_{i,\epsilon,\tau_0}[||\epsilon-\epsilon_\theta(\tau^i,i)||^2]
L(θ)=Ei,ϵ,τ0[∣∣ϵ−ϵθ(τi,i)∣∣2]
将强化学习表示为条件分布
借助控制即推断模型(control-as-inference graphical model),令
O
t
\mathcal{O}_t
Ot 为一个二元随机变量,将奖励函数转换为概率形式,通过贝叶斯公式可得
p
(
O
t
=
1
)
=
e
r
(
s
t
,
a
t
)
P
~
θ
(
τ
)
=
p
(
τ
∣
O
1
:
T
=
1
)
∝
p
(
τ
)
p
(
O
1
:
T
=
1
∣
τ
)
\begin{aligned} p(\mathcal{O}_t=1)=e^{r(s_t,a_t)} \\\tilde{P}_\theta(\tau)=p(\tau|\mathcal{O}_{1:T}=1) \propto p(\tau)p(\mathcal{O}_{1:T}=1|\tau) \end{aligned}
p(Ot=1)=er(st,at)P~θ(τ)=p(τ∣O1:T=1)∝p(τ)p(O1:T=1∣τ)
通过高斯分布近似
p
(
τ
i
∣
τ
i
+
1
)
p(\tau^i|\tau^{i+1})
p(τi∣τi+1) 可以获得采样结果,类比 Classifier-guidance:
本质上是通过扩散模型的迭代细化过程,在保持轨迹物理合理性的同时优化累积奖励。
p
θ
(
τ
i
∣
τ
i
+
1
)
=
N
(
μ
,
Σ
)
log
p
θ
(
τ
i
∣
τ
i
+
1
)
=
−
1
2
(
τ
i
−
μ
)
T
Σ
−
1
(
τ
i
−
μ
)
+
C
\begin{aligned} p_{\theta}(\tau^{i}|\tau^{i+1}) & =\mathcal{N}(\mu,\Sigma) \\ \log p_{\theta}(\tau^{i}|\tau^{i+1}) & =-\frac{1}{2}(\tau^{i}-\mu)^{T}\Sigma^{-1}(\tau^{i}-\mu)+C \end{aligned}
pθ(τi∣τi+1)logpθ(τi∣τi+1)=N(μ,Σ)=−21(τi−μ)TΣ−1(τi−μ)+C
在
x
t
=
μ
x_t=\mu
xt=μ 泰勒展开得到:
l
o
g
p
(
O
1
:
T
∣
τ
i
)
≈
l
o
g
p
(
O
1
:
T
∣
τ
i
)
∣
τ
i
=
μ
+
(
τ
i
−
μ
)
∇
τ
i
l
o
g
p
(
O
1
:
T
∣
τ
i
)
∣
τ
i
=
μ
=
(
τ
i
−
μ
)
g
+
C
1
g
=
∇
τ
i
l
o
g
p
(
O
1
:
T
∣
τ
i
)
∣
τ
i
=
μ
=
∑
t
=
0
T
∇
s
t
,
a
t
r
(
s
t
,
a
t
)
∣
(
s
t
,
a
t
)
=
μ
t
=
∇
J
(
μ
)
\begin{aligned} &logp(\mathcal{O}_{1:T}|\tau^{i}) \approx logp(\mathcal{O}_{1:T}|\tau^{i})|_{\tau^{i}=\mu}+(\tau^{i}-\mu)\nabla_{\tau^{i}}logp(\mathcal{O}_{1:T}|\tau^{i})|_{\tau^{i}=\mu}=(\tau^i-\mu)g+C_1 \\ &g=\nabla_{\tau^i}logp(\mathcal{O}_{1:T}|\tau^i)|_{\tau^i=\mu}=\sum_{t=0}^T\nabla_{s_t,a_t}r(s_t,a_t)|_{(s_t,a_t)=\mu_t}=\nabla\mathcal{J}(\mu) \end{aligned}
logp(O1:T∣τi)≈logp(O1:T∣τi)∣τi=μ+(τi−μ)∇τilogp(O1:T∣τi)∣τi=μ=(τi−μ)g+C1g=∇τilogp(O1:T∣τi)∣τi=μ=t=0∑T∇st,atr(st,at)∣(st,at)=μt=∇J(μ)
l
o
g
p
(
(
τ
i
∣
τ
i
+
1
)
p
(
O
1
:
T
∣
τ
i
)
)
≈
−
1
2
(
τ
i
−
μ
)
T
Σ
−
1
(
τ
i
−
μ
)
+
(
τ
i
−
μ
)
g
+
C
2
=
−
1
2
(
τ
i
−
μ
−
Σ
g
)
T
Σ
−
1
(
τ
i
−
μ
−
Σ
g
)
+
1
2
g
T
Σ
g
+
C
2
=
−
1
2
(
τ
i
−
μ
−
Σ
g
)
T
Σ
−
1
(
τ
i
−
μ
−
Σ
g
)
+
C
3
=
l
o
g
p
(
z
)
+
C
4
,
z
∼
N
(
μ
+
Σ
g
,
Σ
)
\begin{aligned} logp((\tau^{i}|\tau^{i+1})p(\mathcal{O}_{1:T}|\tau^{i})) & \approx-\frac{1}{2}(\tau^{i}-\mu)^{T}\Sigma^{-1}(\tau^{i}-\mu)+(\tau^{i}-\mu)g+C_{2} \\ & =-\frac{1}{2}(\tau^i-\mu-\Sigma g)^T\Sigma^{-1}(\tau^i-\mu-\Sigma g)+\frac{1}{2}g^T\Sigma g+C_2 \\ & =-\frac{1}{2}(\tau^{i}-\mu-\Sigma g)^{T}\Sigma^{-1}(\tau^{i}-\mu-\Sigma g)+C_{3} \\ & =logp(z)+C_4,z\sim\mathcal{N}(\mu+\Sigma g,\Sigma) \end{aligned}
logp((τi∣τi+1)p(O1:T∣τi))≈−21(τi−μ)TΣ−1(τi−μ)+(τi−μ)g+C2=−21(τi−μ−Σg)TΣ−1(τi−μ−Σg)+21gTΣg+C2=−21(τi−μ−Σg)TΣ−1(τi−μ−Σg)+C3=logp(z)+C4,z∼N(μ+Σg,Σ)
Diffusion Policy
Diffusion Policy 论文
- 显式策略(a)直接输出确定性动作或参数化分布(如高斯混合),计算高效但难以建模复杂多模态动作;
- 隐式策略(b)通过能量函数定义动作概率,需迭代优化生成动作,理论表达能力强但训练不稳定且计算代价高;
- 扩散策略(c)创新性地将动作生成转化为条件去噪过程,通过噪声预测网络学习梯度场并配合随机采样,兼具多模态建模、高维序列输出和训练稳定性三重优势.
将 Diffuser 中
p
(
A
t
,
O
t
)
p(A_t,O_t)
p(At,Ot) 使用 DDPM 改进为
p
(
A
t
∣
O
t
)
p(A_t|O_t)
p(At∣Ot) ,无需像 Diffuser 显示输出 state,仅输出 action sequence,保证动作上时间一致性,防止单个动作输出导致的摇摆不定。
传统 EBM 建模:
p
(
x
)
=
e
−
E
(
x
)
Z
Z
=
∫
e
−
E
(
x
)
d
x
(
1
)
p(x)=\frac{e^{-E(x)}}{Z} \quad Z=\int e^{-E(x)}dx \qquad \qquad (1)
p(x)=Ze−E(x)Z=∫e−E(x)dx(1)
其中归一化常数
Z
Z
Z 因为高维积分难解,故而选择学习其梯度场
Δ
x
log
p
(
x
)
\Delta_x\log p(x)
Δxlogp(x)
采用 Langevin 动力学采样,迭代执行:扩散模型的噪声预测
ϵ
θ
\epsilon_\theta
ϵθ 实际隐式建模了
∇
x
log
p
(
x
)
\nabla_x\log p(x)
∇xlogp(x)
x
t
+
1
=
x
t
+
η
∇
x
log
p
(
x
t
)
+
2
η
ϵ
t
(
2
)
x_{t+1}=x_t+\eta\nabla_x\log p(x_t)+\sqrt{2\eta\epsilon_t} \qquad \qquad (2)
xt+1=xt+η∇xlogp(xt)+2ηϵt(2)
DP:
基于 EMB 表示动作分布:
p
θ
(
a
∣
o
)
=
e
−
E
θ
(
o
,
a
)
Z
(
o
,
θ
)
(
3
)
p_\theta(\mathbf{a}|\mathbf{o})=\frac{e^{-E_\theta(\mathbf{o},\mathbf{a})}}{Z(\mathbf{o},\theta)} \qquad \qquad (3)
pθ(a∣o)=Z(o,θ)e−Eθ(o,a)(3)
为了训练用于隐式策略的 EMB,使用 infoNCE 风格损失函数,相当于式(3)的负对数似然:
L
i
n
f
o
N
C
E
=
−
log
(
e
−
E
θ
(
o
,
a
)
e
−
E
θ
(
o
,
a
)
+
∑
j
=
1
N
n
e
g
e
−
E
θ
(
o
,
a
~
j
)
)
(
4
)
\mathscr{L}_{infoNCE}=-\log(\frac{e^{-E_{\theta}(\mathbf{o},\mathbf{a})}}{e^{-E_{\theta}(\mathbf{o},\mathbf{a})}+\sum_{j=1}^{N_{neg}}e^{-E_{\theta}(\mathbf{o},\widetilde{\mathbf{a}}^{j})}}) \qquad \qquad (4)
LinfoNCE=−log(e−Eθ(o,a)+∑j=1Nnege−Eθ(o,a
j)e−Eθ(o,a))(4)
通过建模相同动作分布的得分函数,避免了
Z
(
a
,
θ
)
Z(a,\theta)
Z(a,θ) 的估计问题:
∇
a
log
p
(
a
∣
o
)
=
−
∇
a
E
θ
(
a
,
o
)
−
∇
a
log
Z
(
o
,
θ
)
⏟
=
0
≈
−
ε
θ
(
a
,
o
)
\nabla_\mathbf{a}\log p(\mathbf{a}\mid\mathbf{o})=-\nabla_\mathbf{a}E_\theta(\mathbf{a},\mathbf{o})-\underbrace{\nabla_\mathbf{a}\log Z(\mathbf{o},\theta)}_{=0}\approx-\varepsilon_\theta(\mathbf{a},\mathbf{o})
∇alogp(a∣o)=−∇aEθ(a,o)−=0
∇alogZ(o,θ)≈−εθ(a,o)
CNN & Transformer
CNN:
通过 FiLM 层将观测特征
O
t
O_t
Ot 和去噪步数 k 作为条件输入,仅建模条件分布
p
(
A
t
∣
O
t
)
p(A_t|O_t)
p(At∣Ot) ,在动作快速剧变(如速度指令空间)时表现欠佳,这源于时序卷积偏好低频信号的固有偏置以及局部感受野。
Transformer:
输入为
[
k
,
O
b
s
E
m
b
,
A
E
M
b
]
[k,Obs Emb, A EMb]
[k,ObsEmb,AEMb] ,k 为扩散步骤的正弦,
O
t
O_t
Ot 通过共享的 MLP 转换为
O
b
s
E
m
b
Obs Emb
ObsEmb,但是 Transformer 对超参数敏感。