← 返回列表

DAPS: Decoupled Annealing Posterior Sampling

作者 Bingliang Zhang, Wenda Chu, Julius Berner, Chenlin Meng, Anima Anandkumar, Yang Song
年份 2024
会议/期刊 arXiv 2024
评分
标签 扩散模型 逆问题 图像恢复
摘要 解耦扩散采样步间依赖 + 退火式 MCMC 后验采样,在非线性逆问题(相位恢复)上比 DPS 高 13dB PSNR

核心思想

利用扩散模型解决逆问题(从退化观测 $y$ 恢复原始图像 $x_0$)时,传统方法在每一步去噪都保持相邻样本紧密耦合($x_t \approx x_{t+\Delta t}$),导致无法纠正早期错误——尤其在非线性逆问题中。

DAPS(解耦退火后验采样) 的核心创新:解耦相邻采样步的依赖关系,在每个噪声水平独立地从边缘后验 $p(x_t y)$ 采样,允许样本在步间发生大幅度变化来修正全局错误。

背景知识

什么是逆问题

给定退化观测 $y = \mathcal{A}(x_0) + \text{noise}$,恢复原始信号 $x_0$。

类型 例子 $\mathcal{A}$ 是什么
线性 超分辨率 下采样矩阵
线性 去模糊 卷积核
线性 修复 掩码矩阵
非线性 相位恢复 取绝对值(丢失相位信息)
非线性 高动态范围 裁剪函数
非线性问题特别难——后验分布 $p(x_0 y)$ 往往是多模态的(多个解都能解释观测)。

传统方法的问题

传统方法(如 DPS)在反向 SDE 中注入数据一致性项:

\[x_{t-\Delta t} \sim p(x_{t-\Delta t} | x_t, y)\]

这要求 $x_{t-\Delta t}$ 与 $x_t$ 紧密耦合($\Delta t \to 0$ 时几乎一样)。问题是:

  • 如果 $x_T$(初始噪声)碰巧指向了错误的模式 → 后续所有步骤都无法逃脱
  • 在非线性问题中,这种”局部困住”特别严重

方法详解

1. 核心理论:解耦采样

命题 1:如果 $x_{t_1} \sim p(x_{t_1} y)$,则通过以下过程可以得到 $x_{t_2} \sim p(x_{t_2} y)$:
\[x_{t_2} \sim \mathbb{E}_{x_0 \sim p(x_0 | x_{t_1}, y)}\left[\mathcal{N}(x_0, \sigma_{t_2}^2 \mathbf{I})\right]\]

直觉

  1. 从当前含噪样本 $x_{t_1}$ 出发
  2. 先”去噪”到干净样本 $x_0$(考虑观测 $y$ 的约束)
  3. 再”加噪”到下一个噪声水平 $t_2 < t_1$

由于步骤 2 不受 $x_{t_1}$ 的紧密约束(通过 MCMC 充分采样),$x_{t_2}$ 可以与 $x_{t_1}$ 大不相同

2. 三步迭代过程

每次迭代执行三步:

步骤 1:反向扩散 通过概率流 ODE 从 $x_t$ 估计干净样本 $\hat{x}_0(x_t) = \mathbb{E}[x_0 | x_t]$。

步骤 2:MCMC 采样 从条件后验 $p(x_0 | x_t, y)$ 采样。利用条件独立性($y \perp x_t | x_0$):

\[p(x_0 | x_t, y) \propto \underbrace{p(x_0 | x_t)}_{\text{扩散先验}} \cdot \underbrace{p(y | x_0)}_{\text{似然}}\]
用高斯近似先验:$p(x_0 x_t) \approx \mathcal{N}(x_0; \hat{x}_0(x_t), r_t^2 \mathbf{I})$。

Langevin 动力学更新

\[x_0^{(j+1)} = x_0^{(j)} - \eta \nabla_{x_0} \frac{\|x_0 - \hat{x}_0(x_t)\|^2}{2r_t^2} - \eta \nabla_{x_0} \frac{\|\mathcal{A}(x_0) - y\|^2}{2\beta_y^2} + \sqrt{2\eta} \cdot \varepsilon_j\]

其中:

  • 第一项:拉向扩散模型的估计(先验
  • 第二项:拉向观测的一致性(似然
  • 第三项:Langevin 噪声(确保探索性)
  • $\eta$:步长
  • $\beta_y$:观测噪声标准差

步骤 3:前向扩散 向 $x_0$ 添加噪声到下一个噪声水平:$x_{t_\text{next}} = x_0 + \sigma_{t_\text{next}} \cdot \varepsilon$。

3. 退火调度

随着迭代进行,噪声水平从大到小递减——这就是”退火”(annealing):

  • 高噪声时:$r_t$ 大 → 先验约束弱 → MCMC 可以大范围探索
  • 低噪声时:$r_t$ 小 → 先验约束强 → 精细调整细节

4. 为什么解耦有效

以 2D 高斯混合为例(论文 Figure 4):

  • DPS:相邻样本紧密耦合 → 轨迹无法逃离局部模式 → 收敛到错误后验
  • DAPS:步间大幅变化 → 探索多个模式 → 准确逼近真实后验

5. 扩展到潜在空间:LatentDAPS

对于潜在扩散模型(编码器 $\mathcal{E}$、解码器 $\mathcal{D}$):

\[z_0^{(j+1)} = z_0^{(j)} + \eta \nabla_{z_0} \log p(z_0 | z_t) + \eta \nabla_{z_0} \log p(y | \mathcal{D}(z_0)) + \sqrt{2\eta} \cdot \varepsilon_j\]

似然项通过解码器 $\mathcal{D}$ 反传梯度到潜在空间。

实验结果

非线性逆问题(FFHQ 256×256)

方法 相位恢复 PSNR 高动态范围 PSNR 非线性去模糊 PSNR
DPS 17.64 dB 22.73 dB
RED-diff 15.60 dB 22.16 dB
DAPS 30.63 dB 27.12 dB

相位恢复上 DAPS 比 DPS 高 13 dB——巨大差距。

线性逆问题(FFHQ 256×256)

方法 超分辨率 PSNR 高斯去模糊 PSNR
DDRM 26.58 dB 27.38 dB
DPS 25.86 dB 25.51 dB
DAPS 29.07 dB 29.40 dB

线性问题上也有 2-4 dB 的提升。

医学影像:压缩感知 MRI

欠采样率 DPS PSNR DAPS PSNR
26.13 dB 31.48 dB
20.82 dB 29.01 dB

消融:高斯近似 vs 扩散分数估计

方法 高斯去模糊 PSNR 运行时间
高斯近似 29.40 dB 64.7 秒
扩散分数估计 29.57 dB 462.3 秒

高斯近似损失 0.17 dB,但快 7 倍——极佳的精度/速度权衡。

计算配置

配置
DAPS-1K(线性问题) 44 NFE × 250 退火步
DAPS-4K(非线性问题) 10 NFE × 400 退火步
Langevin 步数 100(像素空间)/ 50(潜在空间)

个人思考

  1. “解耦”是核心洞察:传统方法的 $\Delta t \to 0$ 约束看似理论优美,实际上限制了纠错能力——DAPS 打破这个约束后性能暴涨。
  2. 退火思想的自然性:从粗到细逐步降噪 + 每步独立 MCMC → 这本质上是模拟退火的思想用在扩散模型上。
  3. 非线性问题的 13 dB 提升说明现有方法在非线性问题上几乎完全失效——不是小改进而是质变。
  4. 高斯近似的高效性:用简单的高斯近似 $p(x_0 x_t)$ 而非精确的扩散分数,损失微小但速度快 7 倍——说明扩散模型的去噪估计本身就很好。
  5. 通用性强:无缝扩展到像素空间、潜在空间、离散扩散和文本条件模型——框架设计的通用性值得学习。
← 返回列表