前置
1. 记号与前向 SDE
对标量函数 ϕ : R d → R ,∇ ϕ 是梯度;对向量场
ϕ : R d → R d ,
∇ ⋅ ϕ ( x ) = i = 1 ∑ d ∂ x i ∂ ϕ i
是散度。对矩阵场
A : R d → R d × d ,本文按行定义
( ∇ ⋅ A ) i := j = 1 ∑ d ∂ x j ∂ A ij .
Score-SDE (Song et al., 2020) 以如下正向 Itô SDE 统一连续状态扩散:
d X t = f ( X t , t ) d t + G ( X t , t ) d W t , 0 ≤ t ≤ T ,
并记
A ( x , t ) := G ( x , t ) G ( x , t ) ⊤ .
假设系数、密度 p t 及边界衰减满足反向时间公式所需的正则条件。前向 Fokker—Planck 方程为
∂ t p t = − ∇ ⋅ ( f p t ) + 2 1 i , j ∑ ∂ x i ∂ x j ( A ij p t ) .
2. 逆向时间 SDE
2.1 沿原时间坐标反向积分
若仍用原时间变量 t ,但从 T 积分到 0 ,则
d X t = [ f − ∇ ⋅ A − A ∇ x log p t ] ( X t , t ) d t + G ( X t , t ) d W t
其中积分方向满足 d t < 0 。W 是相对于逆向滤过 的 reverse-time Brownian motion;其反向增量在长度
∣ d t ∣ 的区间上协方差为 ∣ d t ∣ I 。它不是把同一条前向 Brownian 路径简单倒放。
2.2 改用递增的逆向时钟
令 τ = T − t 、Y τ = X T − τ 。此时 τ 从 0 增加到 T ,公式等价写为
d Y τ = [ − f + ∇ ⋅ A + A ∇ x log p T − τ ] ( Y τ , T − τ ) d τ + G ( Y τ , T − τ ) d B τ .
两种约定只能选一种贯穿推导;若把第一式的漂移与正的 d t 混用,所有符号都会反转。
当 G ( x , t ) = g ( t ) I 时,A = g ( t ) 2 I 且
∇ ⋅ A = 0 ,沿递减 t 的逆向 SDE 简化为
d X t = [ f ( X t , t ) − g ( t ) 2 ∇ log p t ( X t ) ] d t + g ( t ) d W t .
3. Probability-flow ODE
与正向 SDE 具有相同一时边缘密度 ( p t ) t ∈ [ 0 , T ] 的确定性 ODE 是
d X t = [ f − 2 1 ∇ ⋅ A − 2 1 A ∇ log p t ] ( X t , t ) d t .
从 T 向 0 解该 ODE 可将先验样本确定性地输运到数据分布。这里的“等价”只表示它与 SDE 共享每个时刻的边缘分布 ;随机 SDE 与确定性 ODE 不共享样本轨迹,也通常不共享多时联合分布或路径测度。
4. 分数网络的训练
训练时间依赖网络
s θ ( x , t ) ≈ ∇ x log p t ( x ) .
可操作的主要方法是去噪分数匹配;目标、等价性证明、权重和训练伪代码统一见
分数匹配 。
4.1 Sliced score matching
若 v 独立于 x 且
E [ v v ⊤ ] = I ,sliced score matching 的单样本项为
v ⊤ ( ∇ x s θ ( x , t ) ) v + 2 1 ( v ⊤ s θ ( x , t ) ) 2 .
第一项含的是分数向量场的 Jacobian
∇ x s θ ,不能写成
v ⊤ s θ v 。对 t 、x ∼ p t 和
v 取期望,并乘时间权重 λ ( t ) ,即可用随机向量估计经典 score matching 中的散度项。
5. 条件逆过程
给定条件 y ,把无条件分数替换为
∇ x log p t ( x ∣ y ) :
d X t = [ f − ∇ ⋅ A − A ∇ x log p t ( x ∣ y ) ] d t + G d W t .
贝叶斯恒等式给出
∇ x log p t ( x ∣ y ) = ∇ x log p t ( x ) + ∇ x log p t ( y ∣ x ) .
分类器指导、classifier-free guidance、loss guidance 与 model guidance 的训练和近似边界统一见
条件扩散 。
6. VP-SDE:DDPM 的连续极限
离散 DDPM 一步为
X n + 1 = 1 − β n X n + β n ϵ n .
要取得非退化的连续极限,离散方差必须随步长缩放:
β n = β ( t n ) Δ t + o ( Δ t ) .
利用 1 − z = 1 − 2 1 z + o ( z ) ,
X n + 1 − X n = − 2 1 β ( t n ) X n Δ t + β ( t n ) Δ t ϵ n + o ( Δ t ) X n + o ( Δ t ) ϵ n ,
其中第二个余项来自 β n ,一般不能并入 o ( Δ t ) 。
在 Euler—Maruyama 意义下,漂移与条件协方差分别收敛,故极限 SDE 为
d X t = − 2 1 β ( t ) X t d t + β ( t ) d W t .
它的扰动核是
X t ∣ X 0 ∼ N ( a ( t ) X 0 , [ 1 − a ( t ) 2 ] I ) , a ( t ) = exp ( − 2 1 ∫ 0 t β ( s ) d s ) .
对应的逆向 SDE(递减 t )为
d X t = [ − 2 1 β ( t ) X t − β ( t ) ∇ log p t ( X t ) ] d t + β ( t ) d W t .
因此,DDPM 表中的单步 β n 与 VP-SDE 的速率 β ( t ) 数值范围不可直接比较:前者约等于后者乘 Δ t 。
7. VE-SDE
VE-SDE 无漂移:
d X t = g ( t ) d W t .
Itô 积分解为
X t = X 0 + ∫ 0 t g ( s ) d W s .
注意积分必须含 d W s ,不能写成普通积分
∫ 0 t g ( s ) d s 。条件方差为
Var ( X t ∣ X 0 ) = ( ∫ 0 t g ( s ) 2 d s ) I .
若 σ 2 绝对连续且非减,并令
g ( t ) = d t d σ ( t ) 2 ,
即 ( σ 2 ) ′ ( t ) ≥ 0 几乎处处,则
X t ∣ X 0 ∼ N ( X 0 , [ σ ( t ) 2 − σ ( 0 ) 2 ] I ) .
只有在 σ ( 0 ) = 0 时,该方差才等于 σ ( t ) 2 。经典 VE 实现常令
σ ( t ) = σ m i n ( σ m i n σ m a x ) t
的几何形式;此时若
σ ( 0 ) = σ m i n > 0 ,严格的 SDE 增量方差是
σ ( t ) 2 − σ m i n 2 。若直接把扰动核定义成
N ( X 0 , σ ( t ) 2 I ) ,则起点已经含
σ m i n 级噪声,这是另一种边界约定,必须明确。对上述几何日程,
g ( t ) = σ ( t ) 2 log σ m i n σ m a x .
在离散网格上,与该 SDE 增量一致的一步为
X t i = X t i − 1 + σ ( t i ) 2 − σ ( t i − 1 ) 2 ϵ i .
Song, Y., Sohl-Dickstein, J., Kingma, D. P., Kumar, A., Ermon, S., & Poole, B. (2020). Score-Based Generative Modeling through Stochastic Differential Equations. arXiv Preprint arXiv:2011.13456 .