SDE框架

参考文献

Papers

  1. Score-Based Generative Modeling Through Stochastic Differential Equations

  2. The Principles of Diffusion Models

Blogs

  1. Generative Modeling by Estimating Gradients of the Data Distribution

正向 SDE

NCSN 的前向过程

NCSN 使用一系列递增的噪声水平 。 扰动过程为:

由于 都是由同一个干净样本 加上高斯噪声得到的,可以将 表示为 加上一个额外的噪声项

其中,,且 是独立的,我们希望求解这个系数

根据定义:

现在,我们通过 来构造

由于 是固定样本, 是独立的,因此,在给定 的条件下,它们的方差应该满足:

所以:

那么将 定义为: 其中,

那么有:

时,我们使用微分近似

DDPM 的前向过程

DDPM 通过一个方差调度 逐步注入噪声: 对于从 的连续化近似,利用近似 (此时 为速率):

统一:共同的结构模式

这两种离散过程都遵循共同的结构模式:

其中

该离散过程对应的高斯转移概率为:

统一SDE

时,离散时间过程收敛到一个正向演化的连续时间SDE: 其中 是标准维纳过程的微分,满足

NCSN对应的SDE

DDPM对应的SDE

由动力方程转向密度变换

image

仿真自由

考虑通用的 SDE 形式:

当漂移项 假设 的仿射形式时:

在这种仿射漂移结构下,条件概率分布 保持高斯分布:

在给定初始状态 时的期望值:

由于协方差矩阵是对角形式 ,其中 是标量,我们关注这个方差项:

对 SDE 两边取条件期望

由于 是维纳过程,,且利用期望的线性性质:

所以:

定义中心化过程 ,根据 SDE 和均值演化 ODE,计算得:

目标是求解协方差 ,根据 Itô 乘法法则

代入上式中的三个项:

第一项

第二项

第三项

合并:

对两边取条件期望 ,且布朗过程期望为0:

因此得到协方差演化方程:

解均值演化方程

对两边积分:

对两边取指数:

使用初始条件

代回方程,得到最终的闭式解:

解方差演化方程

条件方差 满足以下一阶线性非齐次 ODE:

初始条件为

项移到左侧:

积分因子 定义为: 定义: 则积分因子为:

将方程两边乘以

所以,方程变为:

对时间 区间上积分:

得:

代入初始条件:

乘到右侧,即 移入积分号内:

代入 的定义:

最终得到条件方差 的闭式解:

这种情况被称为仿真自由,意味着我们可以通过直接采样

边缘密度

时间边缘密度

通过适当选择系数 ,前向过程逐步添加噪声,直到初始状态 的影响被有效遗忘

变得较大时,条件分布 不再强烈依赖于 ,因为其均值 演化为:

前提是 非正,使得指数因子衰减

与此同时,方差不断增长并稳定下来,以匹配选定的先验分布:

其最初表示数据样本上的复杂混合分布,收敛到一个简单的先验 ,通常为高斯分布,所以有近似:

因此,前向过程将任意数据分布 映射到一个易于处理的先验分布 ,为反向过程和生成提供了方便的起点

Reverse SDE

image

核心洞察是:因为随机项的存在,单条随机轨迹不可逆转,但是轨迹上的概率分布是可以被精确反转的

特性 常微分方程 随机微分方程
前向过程
反向过程 沿着相同的路径,反方向追踪 不沿着原轨迹反向追踪
可逆性 轨迹可逆 分布可逆,轨迹不可逆
反转方法 时间反转置换 引入一个额外的修正项

前向 SDE(原过程):

逆向 SDE(生成过程):

为何Reverse SDE有效

Reverse SDE的严格推导是需要对于福克-普朗克方程有极为深入的探讨,此处我们仅给出三个由浅入深的理解方式

理解:NAIVE

在逆向SDE中:

  • 得分驱动项(去噪):
  • 扩散项(探索):
  • 平衡: 得分项提供方向和结构,将样本推向数据流形;而扩散项提供能量和广度,避免样本陷入狭窄的路径,两者协作,既能确保样本最终具有数据分布的结构,又保证了生成过程中的多样性和鲁棒性。

理解:朗之万直觉

当漂移项 时:

通过时间反转置换 ,将逆向SDE从反向时间 演化转化为一个正向时间 演化的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)相同的边缘分布,该过程 称为概率流常微分方程(PF-ODE):

与 SDE 情况类似,可以用学成的近似得分代替真实得分,并从 积分到 的反向时间 ODE 以生成样本,生成的样本具有如下形式:

其中初始条件为 ,实际生成过程依赖于数值求解器

PF-ODE有两个关键优势:

  • 常微分方程可以朝任一方向进行积分,而随机微分方程只能进行前向时间积分
  • 常微分方程有着广泛且成熟的数值求解器

PF-ODE的提出满足扩散模型中的潜在原理:边缘分布的对齐与匹配

前向/后向时间 SDE 与 PF-ODE 中边缘分布的匹配

image

扩散模型的一个核心概念:不同的过程可能导致相同的边缘分布序列

Question > 如何确保不同过程产生相同的边缘分布?

前向SDE中的边缘分布

按如下前向 SDE 演化: 初始条件为 ,则其边缘密度 满足 Fokker–Planck 方程

现在定义:

利用 ,计算得:

所以说,等价地,Fokker-Planck 方程可以等价地重写为连续性方程形式:

PF-ODE中的边缘分布

正向路径:

沿着 PF-ODE 演化。定义流映射 满足:

由于 ,根据输运理论,其密度 满足连续性方程:

初始条件 ,且 满足相同的偏微分方程,在 足够光滑的前提下,由解的唯一性可知:

反向路径:

开始逆向演化。令 ,则反向 ODE 变为:

密度 满足:

时, 满足:

由于 ,上式变为:

初始条件,且满足相同的方程,由唯一性可知 ,因此对于所有,反向轨迹的密度依然符合

后向时间 SDE 的边缘分布

由反向时间随机微分方程:

其中 ,我们需要证明

已知 ,代入反向 SDE:

,SDE 转化为关于 的正向形式:

其对应的Fokker-Planck 方程为:

已知

假设 ,将 代入上述 FP 方程右边:

观察后两项:

此处的推导中,一个是FP中的扩散算子,一个是漂移项的散度展开,来源不同可以相互抵消:

因此, 满足该方程,结合初始条件 ,由唯一性得证

此时,PF-ODE 与逆时间 SDE 均产生相同的分布族

  • PF-ODE : 若从 开始并沿 正向运行,或等价地从 开始并沿 逆向运行,则对所有 具有边缘分布

  • 逆时间 SDE :

固定边缘分布下的多重条件分布

为了描述数据分布 如何随时间演化,定义流映射 ,该映射表示从时间 的状态 出发,沿着PF-ODE演化到时间的位置:

其中速度场定义为:

该积分捕捉了沿轨迹 累积的位移。在速度场 满足适度光滑性假设下,流映射 是一个光滑双射

对于任意 ,定义前推密度 在映射 作用下的分布,记作

上述一致性表明,存在无穷多个条件转移核 可以产生相同的边缘分布 ,常见的形式包括:

  • 纯随机形式:

这对应于标准的前向 SDE

  • 纯确定性形式:

这对应于概率流 ODE 轨迹

  • 混合形式: 对于任意

的非唯一性源于边缘约束无法唯一确定联合分布或条件分布,这一概念在模型的加速采样和最优传输中至关重要

特别是,存在一整个族反向时间 SDE,它们与相同的边际 一致

训练与采样

训练

类似于Score-based Model的方法,我们使用一个时间相关的神经网络来近似最优得分,在所有上,通过最小化得分匹配目标来实现:

其中为某种时间分布,为时间权重函数。

为了避免依赖难以处理的得分,在给定数据点的条件下,该方法可利用解析上易处理的得分

其中

最小化器满足:

采样

image

学习之后,

经验型SDE

通过用训练好的得分模型得到了反向时间经验SDE:

从先验分布 中抽取一个初始值 ,然后通过欧拉–马鲁亚玛方法进行数值求解:

其中

经验型PF-ODE

将得分进行替换,得到经验PF-ODE:

此过程等价于如下积分:

采样

采用欧拉法进行数值求解:

这等价为扩散模型采样速度缓慢的问题,这些微分方程的数值求解器本质上都是迭代的,需要很多步骤才能近似轨迹

反演

对于 ODE 来说,一个确定性的过程可以帮助整个过程在时间上进行反演,而这也满足一个编码器/解码器的功用,这为可控生成等技术打下基础

进行确切对数似然计算

PF-ODE可以被视为Flow的一种变体,该变体仅参数化得分函数,而非完整的速度场,这种形式使得可以通过变量变换公式实现确切对数似然计算

通过PF-ODE,我们定义速度场为

其中为学成的得分函数

由连续性方程:

为了评估数据点 的似然,我们从增广微分方程组:

其中累积了随时间变化的对数密度变化量

在将系统求解至后,我们得到终止状态:

在模型下,原始样本 的对数似然可以被评估为

Rethinking Forward Kernels in Score-Based and Variational Diffusion Models

DDPM 和 Score SDE 通常通过前向转移核 引入,然而,在实际应用中,最为相关的是从数据出发的累积转移核

我们换一个思路,首先定义这提供了一个更简洁、更直接的视角

image

一个通用的仿射前向过程

我们首先定义一个通用的前向扰动核: 其中 ,以及 是关于 的非负标量函数,满足:

  • 对所有 (允许
  • 通常,

可以被采样为:

实例:

  • VE(NCSN)核函数:

  • VP(DDPM)核:,使得

  • FM 核:

与得分 SDE 的连接

前提:对于得分 SDE,以线性形式指定 会自然地诱导出具有仿射系数的SDE,我们先假定具有仿射系数的SDE为:

那么前向扰动核和SDE之间有如下关系:

定义,给定前向扰动核:

对应的线性随机微分方程

其系数为

若某个线性 SDE 的条件转移分布为

且对所有 ,则其系数 必须满足上式

一些进一步的思考

为确切地匹配终端时刻的高斯先验,该过程必须完全遗忘 并达到目标方差,这要求 等于先验方差

得,在有限时刻 强制实现 将要求:

这意味着当 时,漂移项必须以无穷大的速度收缩

同时,扩散项必须发散以维持设定的方差, 这体现为

在区间 上保持有界,则必然有 且存在对 的残余依赖

此时,高斯先验仅能渐近达到:

  • 要么在极限情形 下实现(无法精确)
  • 要么通过适当的 时间重参数化,在无限时域上精确实现

我们也得出结论:

定义 等价于指定线性 SDE 的系数

证明

由仿真自由我们可以进行证明:

其中

代入求解即可得到

与基于变分的扩散模型连接

在 DDPM 中,由贝叶斯法则推导得到:

其中 通常取

DDPM 通常首先定义增量核 ,但累积转移 往往能提供更具可解释性和实用性的表述

从扰动核推导转移核

为两个时间点,给定扰动核 ,我们可以对任意计算反向条件

,则反向条件转移核为

由扰动核重参数化:

消去得到:

均值:

方差:根据公式

所以,根据贝叶斯法则:

最终得到:

其中:

反向过程建模、训练与采样

我们采用 -prediction,记为 ,等价的-prediction同样有效,记为

建模与扩散损失

与 DDPM 类似,用可学习的预测器 替代干净信号,从而参数化如下的模型:

其中:

KL 散度与回归形式的扩散损失

在给定前向核的条件下, 中的 KL 散度可简化为加权回归损失:

进一步可化简为

其中

并定义时间处的信噪比为

时得到上述损失的连续时间极限

采样过程