Diffusion8-SDE框架
SDE框架
参考文献
Papers
Blogs
正向 SDE
NCSN 的前向过程
NCSN 使用一系列递增的噪声水平
由于
其中,
根据定义:
现在,我们通过
由于
所以:
那么将
那么有:
当
DDPM 的前向过程
DDPM 通过一个方差调度
统一:共同的结构模式
这两种离散过程都遵循共同的结构模式:
其中
该离散过程对应的高斯转移概率为:
统一SDE
当
NCSN对应的SDE
DDPM对应的SDE
由动力方程转向密度变换

仿真自由
考虑通用的 SDE 形式:
当漂移项
在这种仿射漂移结构下,条件概率分布
由于协方差矩阵是对角形式
对 SDE 两边取条件期望
由于
所以:
定义中心化过程
目标是求解协方差
将
第一项:
第二项:
第三项:
合并:
对两边取条件期望
因此得到协方差演化方程:
解均值演化方程
对两边积分:
对两边取指数:
使用初始条件
代回方程,得到最终的闭式解:
解方差演化方程
条件方差
初始条件为
将
积分因子
将方程两边乘以
所以,方程变为:
对时间
得:
代入初始条件:
将
最终得到条件方差
这种情况被称为仿真自由,意味着我们可以通过
边缘密度
时间边缘密度
通过适当选择系数
当
前提是
与此同时,方差不断增长并稳定下来,以匹配选定的先验分布:
其最初表示数据样本上的复杂混合分布,收敛到一个简单的先验
因此,前向过程将任意数据分布
Reverse SDE

核心洞察是:因为随机项的存在,单条随机轨迹不可逆转,但是轨迹上的概率分布是可以被精确反转的
| 特性 | 常微分方程 | 随机微分方程 |
|---|---|---|
| 前向过程 | ||
| 反向过程 | 沿着相同的路径,反方向追踪 | 不沿着原轨迹反向追踪 |
| 可逆性 | 轨迹可逆 | 分布可逆,轨迹不可逆 |
| 反转方法 | 时间反转置换 |
引入一个额外的修正项 |
前向 SDE(原过程):
逆向 SDE(生成过程):
为何Reverse SDE有效
Reverse SDE的严格推导是需要对于福克-普朗克方程有极为深入的探讨,此处我们仅给出三个由浅入深的理解方式
理解:NAIVE
在逆向SDE中:
- 得分驱动项(去噪):
- 扩散项(探索):
- 平衡: 得分项提供方向和结构,将样本推向数据流形;而扩散项提供能量和广度,避免样本陷入狭窄的路径,两者协作,既能确保样本最终具有数据分布的结构,又保证了生成过程中的多样性和鲁棒性。
理解:朗之万直觉
当漂移项
通过时间反转置换
且
代入逆向 SDE 得到:
这正是随时间
其中
理解:从DDPM出发的启发式推导
从贝叶斯定理开始:
使用在
因此,指数项简化为:
将前向转移核和泰勒展开结果代入:
将指数部分以
令
配方得到:
平方产生的附加项
离散时间的反向转移核可以写成高斯分布的形式:
在
将这些进行代入:
所以有:
SDE的两个常用特例:VE-SDE与VP-SDE
| 特性 | Variance Explosion (VE) SDE | Variance Preserving (VP) SDE |
|---|---|---|
| 漂移项 |
||
| 扩散项 |
||
| SDE 公式 | ||
| 转移概率 |
||
| 先验分布 |
VE-SDE
随着时间 t 增加,噪声的方差不断增大(爆炸),而数据的均值保持不变
- 漂移项:
- 扩散项:
- 微扰核:
典型应用 (NCSN): 使用几何级数增加噪声,
VP-SDE
通过引入向原点收缩的“漂移项”,使得样本在加噪过程中总方差维持在一定范围内
- 漂移项:
- 扩散项:
- 微扰核:
典型应用 (DDPM): 使用线性噪声调度,
VE vs. VP
| 特性 | VE-SDE (NCSN 风格) | VP-SDE (DDPM 风格) |
|---|---|---|
| 均值变化 | 保持不变 ( |
向 0 衰减 ( |
| 方差变化 | 无界增加 | 有界,趋近于 1 ( |
| 先验分布 |
微扰核的推导
在仿真自由的前提下,我们可以对于微扰核进行推导
仿真自由时,对:
考虑:
有:
进而有:
VE-SDE
代入得:
所以:
VP-SDE
代入得:
注意到:
所以有:
所以:
PF-ODE
Question > 是否必须使用随机微分方程进行采样?
尝试引入了一个确定性过程,即一个常微分方程,该过程演化样本时保持与前向随机微分方程(SDE)相同的边缘分布,该过程
与 SDE 情况类似,可以用学成的近似得分代替真实得分,并从
其中初始条件为
PF-ODE有两个关键优势:
- 常微分方程可以朝任一方向进行积分,而随机微分方程只能进行前向时间积分
- 常微分方程有着广泛且成熟的数值求解器
PF-ODE的提出满足扩散模型中的潜在原理:边缘分布的对齐与匹配
前向/后向时间 SDE 与 PF-ODE 中边缘分布的匹配

扩散模型的一个核心概念:不同的过程可能导致相同的边缘分布序列
Question > 如何确保不同过程产生相同的边缘分布?
前向SDE中的边缘分布
设
现在定义:
利用
所以说,等价地,Fokker-Planck 方程可以等价地重写为连续性方程形式:
PF-ODE中的边缘分布
正向路径:
令
由于
初始条件
反向路径:
令
密度
在
由于
初始条件
后向时间 SDE 的边缘分布
由反向时间随机微分方程:
其中
已知
令
其对应的Fokker-Planck 方程为:
已知
假设
观察后两项:
此处的推导中,一个是FP中的扩散算子,一个是漂移项的散度展开,来源不同可以相互抵消:
因此,
此时,PF-ODE 与逆时间 SDE 均产生相同的分布族
PF-ODE
: 若从 开始并沿 正向运行,或等价地从 开始并沿 逆向运行,则对所有 具有边缘分布逆时间 SDE
:
固定边缘分布下的多重条件分布
为了描述数据分布
其中速度场定义为:
该积分捕捉了沿轨迹
对于任意
上述一致性表明,存在无穷多个条件转移核
- 纯随机形式:
这对应于标准的前向 SDE
- 纯确定性形式:
这对应于概率流 ODE 轨迹
- 混合形式: 对于任意
:
特别是,存在一整个族反向时间 SDE,它们与相同的边际
训练与采样
训练
类似于Score-based Model的方法,我们使用一个时间相关的神经网络
其中
为了避免依赖难以处理的得分
其中
最小化器
采样

学习之后,
经验型SDE
通过用训练好的得分模型
从先验分布
经验型PF-ODE
将得分进行替换,得到经验PF-ODE:
此过程等价于如下积分:
采样
采用欧拉法进行数值求解:
这等价为扩散模型采样速度缓慢的问题,这些微分方程的数值求解器本质上都是迭代的,需要很多步骤才能近似轨迹
反演
对于 ODE 来说,一个确定性的过程可以帮助整个过程在时间上进行反演,而这也满足一个编码器/解码器的功用,这为可控生成等技术打下基础
进行确切对数似然计算
PF-ODE可以被视为Flow的一种变体,该变体仅参数化得分函数,而非完整的速度场,这种形式使得可以通过变量变换公式实现确切对数似然计算
通过PF-ODE,我们定义速度场为
其中
由连续性方程:
为了评估数据点
其中
在将系统求解至
在模型下,原始样本
Rethinking Forward Kernels in Score-Based and Variational Diffusion Models
DDPM 和 Score SDE 通常通过前向转移核
我们换一个思路,首先定义

一个通用的仿射前向过程
我们首先定义一个通用的前向扰动核:
且 对所有 (允许 )- 通常,
,
即
实例:
VE(NCSN)核函数:
,VP(DDPM)核:
,使得FM 核:
,
与得分 SDE 的连接
前提:对于得分 SDE,以线性形式指定
那么前向扰动核和SDE之间有如下关系:
定义
对应的线性随机微分方程
其系数为
若某个线性 SDE 的条件转移分布为
且对所有
一些进一步的思考
为确切地匹配终端时刻的高斯先验,该过程必须完全遗忘
由
这意味着当
同时,扩散项必须发散以维持设定的方差, 这体现为
若
此时,高斯先验仅能渐近达到:
- 要么在极限情形
下实现(无法精确) - 要么通过适当的
时间重参数化,在无限时域上精确实现
我们也得出结论:
定义
证明
由仿真自由我们可以进行证明:
其中
代入求解即可得到
与基于变分的扩散模型连接
在 DDPM 中,由贝叶斯法则推导得到:
其中
DDPM 通常首先定义增量核
从扰动核推导转移核
设
令
由扰动核重参数化:
消去
均值:
方差:根据公式
所以,根据贝叶斯法则:
最终得到:
其中:
反向过程建模、训练与采样
我们采用
建模与扩散损失
与 DDPM 类似,
其中:
KL 散度与回归形式的扩散损失
在给定前向核的条件下,
进一步可化简为
其中
并定义时间
当











