扩散模型和numercially SDE

扩散模型的具体过程

扩散模型(Diffusion Models)是一种生成模型,其核心思想是通过逐步添加噪声(正向过程)将数据分布转化为高斯噪声,然后学习如何从噪声中逐步恢复数据(反向过程)。具体步骤如下:

  1. 正向过程(Forward Process)

    • 数据 $ x_0 $ 通过逐步添加高斯噪声,经过 $ T $ 步后变为纯噪声 $ x_T $。
    • 正向过程可以用随机微分方程(SDE)描述:

      \[dx = f(x,t) dt + g(t) dW_t \]

      其中:
      • $ f(x,t) $ 是漂移项(通常设为 $ -\frac{1}{2}\beta(t)x $)。
      • $ g(t) $ 是扩散系数(通常为 $ \sqrt{\beta(t)} $)。
      • $ dW_t $ 是布朗运动的增量。
    • 例如,VP-SDE(Variance Preserving SDE)的形式为:

      \[dx = -\frac{1}{2} \beta(t)x dt + \sqrt{\beta(t)} dW_t \]

      • 其中 $ \beta(t) $ 控制噪声强度,$ W_t $ 是布朗运动。
        该SDE描述数据 $ x $ 如何随时间 $ t $ 逐渐被噪声扰动,最终趋向高斯分布 $ \mathcal{N}(0,I) $。
  2. 反向过程(Reverse Process)

    • 从噪声 $ x_T $ 出发,逐步去噪恢复数据 $ x_0 $。

    • 反向过程也是一个 SDE,形式为:

      \[dx = [f(x,t) - g(t)^2 \nabla_x \log p_t(x)] dt + g(t) dW_t \]

      其中 $ \nabla_x \log p_t(x) $ 是 score function,通常用神经网络(如 UNet)预测噪声 $ \epsilon $ 来近似:

      \[\nabla_x \log p_t(x) \approx -\frac{1}{\sigma(t)} \epsilon_\theta(x_t, t) \]

      扩散模型的训练目标:通过Denoising Score Matching学习Score Function。

      对应的 ODE:

      \[\frac{dx}{dt} = f(x,t) - \frac{1}{2} g(t)^2 \nabla_x \log p_t(x) \]

      两者唯一的区别是 ODE 去掉了随机项 $ g(t) dW_t $

  3. 概率流 ODE(Probability Flow ODE)

    • 反向过程可以转换为确定性 ODE:

      \[\frac{dx}{dt} = f(x,t) - \frac{1}{2} g(t)^2 \nabla_x \log p_t(x) \]

      这种形式不含随机噪声,适合确定性采样(如 DDIM 或 DPM-Solver++)。
      示例:DPM-Solver++

      DPM-Solver++ 是一种基于 ODE 的高效采样方法,其核心步骤如下:

    1. 将时间步映射为噪声标准差 $ \sigma(t) = e^{-t} $。
    2. 使用二阶更新规则:

    \[ \hat{\epsilon}_{2M} = \left(1 + \frac{1}{2r}\right)\epsilon_i - \frac{1}{2r}\epsilon_{i-1} \]

    \[x_{i+1} = \frac{\sigma_{i+1}}{\sigma_i} x_i - \left(e^{-(t_{i+1}-t_i)} - 1\right) \hat{\epsilon}_{2M} \]

    其中 $ \epsilon_i $ 是模型预测的噪声。



  • 扩散模型可以用于任何连续数据分布,如图像、音频、文本嵌入等,常见的图像数据集包括 CIFAR-10、ImageNet、CelebA 等。

  • 训练集是原始数据 $ x_0 $,例如图像数据集的图片。

  • 扩散模型是无监督学习,不需要显式标签。训练目标是让模型预测添加到数据中的噪声 $ \epsilon $(即“标签”是噪声)。
    损失函数为:

    \[\mathbb{E}_{x_0, \epsilon,t} \left[ \|\epsilon_\theta(x_t, t) - \epsilon\|^2 \right] \]

    其中 $ x_t = x_0 + \sigma(t) \epsilon , \epsilon \sim \mathcal{N}(0,I) $


为什么 SDE 可以用 ODE 替代?

  1. 理论基础

    • 根据 Anderson (1982),任何 SDE 的反向过程也是一个 SDE,但可以通过去除随机噪声项转换为确定性 ODE(概率流 ODE)。
    • 概率流 ODE 的轨迹分布与原 SDE 一致,但采样过程是确定性的。
  2. 优势

    • 计算效率:ODE 避免了随机噪声的采样,减少了计算复杂度。
    • 稳定性:确定性过程更容易控制和调试。
    • 高阶求解器:ODE 可以使用高阶数值方法(如 DPM-Solver++)加速采样。
  3. 核心公式

    • 反向 SDE:

      \[dx = [f(x,t) - g(t)^2 \nabla_x \log p_t(x)] dt + g(t) dW_t \]

    • 对应的 ODE:

      \[\frac{dx}{dt} = f(x,t) - \frac{1}{2} g(t)^2 \nabla_x \log p_t(x) \]

      两者唯一的区别是 ODE 去掉了随机项 $ g(t) dW_t $。

数值求解SDE与扩散模型采样

(1)SDE的离散化方法

扩散模型的采样过程本质上是数值求解反向SDE,常用方法包括:

  • Euler-Maruyama方法(一阶离散):

    \[x_{t-\Delta t} = x_t + \left[ f(x_t,t) - g(t)^2 \nabla_x \log p_t(x_t) \right] \Delta t + g(t) \sqrt{\Delta t}\,z \]

    • $ z \sim \mathcal{N}(0,I) , \Delta t $ 是步长。
    • 对应DDPM的随机采样($ \sigma_t > 0 $)。
  • 概率流ODE(确定性采样)
    若去除随机项 $ g(t)dW_t $,反向SDE退化为ODE:

    \[\frac{dx}{dt} = f(x,t) - \frac{1}{2}g(t)^2 \nabla_x \log p_t(x) \]

    • 对应DDIM的确定性采样($ \sigma_t = 0 $)。

(2)DDPM与SDE求解器的关系

  • DDPM:可视为对反向SDE的一阶离散化(Euler-Maruyama),每步更新:

    \[x_{t-1} = x_t + \left( -\frac{\beta_t}{2} x_t - \beta_t \nabla_x \log p_t(x_t) \right) \Delta t + \sqrt{\beta_t} z \]

    • 其中 $ \Delta t = 1, \beta_t \approx g(t)^2 $。
  • DDIM:对应SDE的确定性积分方法,通过跳步加速采样。

(3)高阶求解器(如DPM-Solver)

基于SDE/ODE的高阶数值方法(如Runge-Kutta)可进一步加速扩散模型:

  • DPM-Solver++:利用二阶泰勒展开近似Score Function,减少采样步数(如10~20步)。

为什么SDE框架重要?

(1)统一理论视角

  • SDE将DDPM、DDIM、Score-Based Models等统一为同一框架的不同离散化方式。
  • 正向SDE:数据扰动过程。
  • 反向SDE:生成过程。

(2)灵活性与扩展性

  • 通过设计不同的 $ f(x,t) $ 和 $ g(t) $,可控制扩散过程(如VE-SDE、VP-SDE)。
  • 基于SDE的改进(如冷扩散、带约束扩散)可直接修改漂移/扩散项。

(3)理论保证

  • SDE的解在连续时间下收敛到目标分布,离散化误差可通过数值分析控制。

示例:从SDE到DDPM和DDIM**

(1)DDPM(随机采样)

  • 对应SDE:VP-SDE($ f(x,t) = -\frac{1}{2}\beta(t)x $, $ g(t) = \sqrt{\beta(t)} $)。
  • 离散化:Euler-Maruyama方法,每步添加噪声。

(2)DDIM(确定性采样)

  • 对应ODE:概率流ODE(去除 $ dW_t $ 项)。
  • 离散化:隐式多步法,跳步更新。

总结

  • 扩散模型是SDE的数值实现:正向/反向过程分别对应SDE的离散化求解。
  • 采样方法的选择
    • 随机采样(DDPM:Denoising Diffusion Probabilistic Models):SDE + Euler-Maruyama。
    • 确定性采样(DDIM:Denoising Diffusion Implicit Models):ODE + 高阶积分。
  • SDE框架的优势:理论严谨、灵活性高,支持后续改进(如加速采样、条件生成)。

通过SDE的视角,扩散模型的训练和采样可视为对连续时间动态系统的离散逼近,这为理解和优化模型提供了强大工具。

posted @ 2025-04-10 12:42  光辉233  阅读(256)  评论(1)    收藏  举报