时间 t∈[0,T],X0∼pdata,XT 近似噪声(如标准高斯)。通式:
dXt=ft(Xt)dt+gtdWt.- 常见取法(如 VP-SDE):ft(x)=−2βtx,gt=βt,即 (todo)
dXt=−2βtXtdt+βtdWt.
密度 pt 满足 Fokker–Planck(ft≡μt,gt≡σt):
∂tpt=−∇⋅(ftpt)+2gt2Δpt.
t∈[0,T] 或 [0,1] ,时间从 0 到 T,通式:
dXt=ut(Xt)dt密度 pt 满足 Fokker–Planck:
∂tpt=−∇⋅(utpt).
- 沿同一动力学反向积分即可:时间从 T 到 0,等价于
dXt=−ut(Xt)dt(t 从 T 减到 0).
或令 τ=T−t,则 dτdXτ=−uT−τ(Xτ)。无随机项,故反向 = 前向速度场取反。
以下均对同一前向时间方向,使转换后的 SDE/ODE 与原来的 ODE/SDE 有相同的边际分布族 pt。
- 采样时可用该 ODE 替代 SDE,得到相同 pt 但无随机性的轨迹。
- 已知前向 SDE dXt=μt(Xt)dt+σtdWt 及其边际 pt。与之同 - pt 的确定性 ODE(概率流 ODE)为:
dXt=[μt(Xt)−2σt2∇logpt(Xt)]dt.
- 对前向扩散 SDE dXt=ftdt+gtdWt,对应概率流 ODE 为
dXt=[ft(Xt)−2gt2∇logpt(Xt)]dt.
- 符号:ut = Flow 速度场;ft,gt = 扩散 SDE 漂移与扩散系数;μt,σt = 一般 SDE 漂移与扩散;∇logpt = score,常用 sθ(x,t) 拟合。
| 类别 | 方向 | 动力学 | 密度方程 |
|---|
| Flow (ODE) | 前向 | dXt=ut(Xt)dt | ∂tpt=−∇⋅(utpt) |
| Flow (ODE) | 反向 | dXt=−ut(Xt)dt | 同上(时间反向) |
| Diffusion (SDE) | 前向 | dXt=ft(Xt)dt+gtdWt | ∂tpt=−∇⋅(ftpt)+2gt2Δpt |
| Diffusion (SDE) | 反向 | dXt=[ft−gt2∇logpt]dt+gtdWˉt | 与前向 pt 在反向时间一致 |
| ODE→SDE(同 pt) | — | dXt=[uttarget+2σt2∇logpt]dt+σtdWt | — |
| SDE→ODE(同 pt) | — | dXt=[μt−2σt2∇logpt]dt | — |
前文中的 Flow(ODE) 与 Diffusion(SDE) 均为连续时间 t∈[0,T]。实际实现(如 DDPM)多为离散时间 t∈{0,1,…,T}。下面给出离散形式及其与连续形式的对应与极限关系。
| 类型 | 时间 | 状态 | 动力学描述 |
|---|
| 离散过程 | t=0,1,…,T(整数步) | x(0),x(1),…,x(T) | 转移核 q(x(t)∣x(t−1)) 或确定性映射 x(t)=Ft(x(t−1)) |
| 连续过程 | t∈[0,T](实数) | Xt | SDE dXt=μtdt+σtdWt 或 ODE dXt=utdt |
离散过程无“密度演化 PDE”,只有转移概率/映射与多步边际(如 q(x(t)∣x(0)));连续过程有 Fokker–Planck / 连续性方程。
与连续 SDE 的对应:当步数 T→∞ 且 βt 按连续时间 t/T 设计时,离散链在适当缩放下收敛到连续 VP-SDE 等形式(见 6.4)。
前向(数据 → 噪声):马尔可夫链,单步转移为高斯
q(x(t)∣x(t−1))=N(x(t); αtx(t−1), βtI),αt=1−βt.多步边际(给定 x(0)):
q(x(t)∣x(0))=N(x(t); αˉtx(0), (1−αˉt)I),αˉt=s=1∏tαs.反向(噪声 → 数据):无闭式,用网络拟合
pθ(x(t−1)∣x(t))=N(x(t−1); μθ(x(t),t), β~tI),其中 μθ 由 score / 噪声预测 ϵθ 表出,β~t=βt(1−αˉt−1)/(1−αˉt)。
与连续 ODE 的对应:T→∞、Δt→0 时,离散欧拉步收敛到 ODE dXt=ut(Xt)dt。
前向:每步确定性映射
x(t)=Ft(x(t−1)),t=1,…,T.例如欧拉步:x(t)=x(t−1)+Δtut(x(t−1)),其中 Δt=1/T,ut 为速度场。
反向:若 Ft 可逆,则
x(t−1)=Ft−1(x(t)).若由 ODE 离散化得到(如 x(t)=x(t−1)+Δtut(x(t−1))),则反向为
x(t−1)=x(t)−Δtut(x(t))或用 ut(x(t−1)) 的近似.
将离散步 k∈{0,1,…,T} 对应到连续时间 t∈[0,1]:令 tk=k/T,Δt=1/T。记离散状态为 x(k),若存在连续时间过程 Xt,则约定在 t=tk 处 Xtk 与 x(k) 对应(可理解为对 x(k) 做常数或线性插值得到 Xt(T),再讨论 T→∞ 的极限)。
- 离散前向(DDPM):
x(k)=1−βkx(k−1)+βkεk,εk∼N(0,I)
- 连续前向为(VP-SDE,时间 t∈[0,1]):
dXt=−2β(t)Xtdt+β(t)dWt.
离散前向(DDPM):
x(k)=1−βkx(k−1)+βkεk,εk∼N(0,I), i.i.d.单步增量可写为
x(k)−x(k−1)=(1−βk−1)x(k−1)+βkεk.当 βk 较小时,1−βk≈1−βk/2,故
x(k)−x(k−1)≈−2βkx(k−1)+βkεk.时间与系数缩放:为在 T→∞ 时得到非平凡连续极限,需要:
- 每步漂移量约为 O(Δt),即 −2βkx(k−1) 与 Δt 同阶;
- 每步噪声的方差约为 O(Δt),这样在 [0,1] 上累积方差为 O(1),极限为布朗运动。
取连续时间调度 β(τ),τ∈[0,1],令
βk=β(tk)Δt=Tβ(k/T),tk=Tk.- 漂移项:−2βkx(k−1)=−2Tβ(tk)x(k−1),即每步漂移 =−2β(tk)x(k−1)Δt;
- 噪声项:βkεk=β(tk)/Tεk,单步方差 =β(tk)/T=β(tk)Δt。
对 k=1,…,T 累加并令 T→∞(在适当正则性下):
- 漂移和 ∑k−2β(tk)x(k−1)Δt→∫0t−2β(s)Xsds;
- 噪声和 ∑kβ(tk)Δtεk 在分布意义下收敛到 ∫0tβ(s)dWs(独立同分布、方差为 Δt 的随机项在 T→∞ 下收敛到布朗运动的随机积分)。
因此连续极限为(VP-SDE,时间 t∈[0,1]):
dXt=−2β(t)Xtdt+β(t)dWt.即前文中的 ft(x)=−2β(t)x,gt=β(t)。若将时间区间取为 [0,T],则可将 β(t) 写为 β(t/T) 或直接使用 t 上的调度。
反向的对应:离散反向的均值 μθ 由 score / ϵθ 给出;在连续极限下,pt 的 score ∇logpt 与离散的 ϵθ 通过 x(t)=αˉtx(0)+1−αˉtϵ 相联系。连续反向 SDE 的漂移为 ft−gt2∇logpt,与离散中“用 ϵθ 估计 ϵ 再代入 μ~t”在 T→∞ 下一致。
- 离散前向(欧拉离散化):
x(k)=x(k−1)+Δtuk(x(k−1)),Δt=T1.
- 连续前向为(ODE,时间 t∈[0,1]):
dXt=ut(Xt)dt.
离散前向(欧拉离散化):
x(k)=x(k−1)+Δtuk(x(k−1)),Δt=T1.这里 uk 为第 k 步的速度场(可与连续时间 tk=k/T 对应,即 uk(x)=u(tk,x))。等价于
Δtx(k)−x(k−1)=uk(x(k−1)).这正是 ODE dtdXt=ut(Xt) 的欧拉格式。在 ut(x) 关于 x Lipschitz、关于 t 连续等标准条件下,对 x(0)=X0 做线性插值得到的 Xt(T)(满足 Xk/T(T)=x(k))在 T→∞ 时一致收敛到 ODE 的解 Xt,即
dXt=ut(Xt)dt.反向:离散反向为 x(k−1)=x(k)−Δtuk(x(k))(或用 x(k−1) 的近似),即连续 ODE 反向 dXt=−ut(Xt)dt 的欧拉离散化;T→∞ 时同样收敛到连续反向 ODE。
对比表:
| 离散过程 | 缩放 / 条件 | 连续极限 |
|---|
| DDPM 前向 x(k)=1−βkx(k−1)+βkεk | βk=β(k/T)/T,T→∞ | dXt=−2β(t)Xtdt+β(t)dWt |
| 离散 Flow x(k)=x(k−1)+Δtuk(x(k−1)) | Δt=1/T,uk=u(k/T,⋅),T→∞ | dXt=ut(Xt)dt |
离散 Diffusion 的漂移来自 1−βk−1≈−βk/2,噪声来自 βkεk;取 βk=O(1/T) 使单步漂移与噪声方差均为 O(1/T),从而极限为连续 SDE。
离散 Flow 的步长 Δt=1/T 直接对应 ODE 的 dt,欧拉格式收敛性为标准数值分析结论。
| 类别 | 离散形式 | 连续形式 |
|---|
| Diffusion 前向 | q(x(t)∣x(t−1))=N(αtx(t−1),βtI);q(x(t)∣x(0))=N(αˉtx(0),(1−αˉt)I) | dXt=ftdt+gtdWt;∂tpt=−∇⋅(ftpt)+2gt2Δpt |
| Diffusion 反向 | pθ(x(t−1)∣x(t)),均值 μθ、方差 β~t | dXt=[ft−gt2∇logpt]dt+gtdWˉt |
| Flow 前向 | x(t)=Ft(x(t−1)) 或 x(t)=x(t−1)+Δtut(x(t−1)) | dXt=ut(Xt)dt;∂tpt=−∇⋅(utpt) |
| Flow 反向 | x(t−1)=Ft−1(x(t)) 或 x(t−1)=x(t)−Δtut(⋅) | dXt=−ut(Xt)dt |
下面由 随机微分方程(SDE) 出发,推导其密度 pt 所满足的 Fokker–Planck 方程(也称 Kolmogorov 前向方程)。先在一维情形写出完整推导,再给出高维形式。
考虑(可先设一维 Xt∈R):
dXt=μt(Xt)dt+σtdWt.其中 μt(x) 为漂移,σt≥0 为扩散系数(可与 x 有关,下面为书写简单取仅与 t 有关),Wt 为标准布朗运动。
设 Xt 有密度 pt(x),目标是得到 pt 满足的 PDE。
对任意光滑紧支撑函数 φ(x),Itô 引理给出:
dφ(Xt)=(μt(Xt)φ′(Xt)+2σt2φ′′(Xt))dt+σtφ′(Xt)dWt.对时间取期望,dWt 项均值为 0,故
dtdE[φ(Xt)]=E[μt(Xt)φ′(Xt)+2σt2φ′′(Xt)].用密度写开:E[φ(Xt)]=∫φ(x)pt(x)dx,且
E[μt(Xt)φ′]=∫μt(x)φ′(x)pt(x)dx,E[φ′′(Xt)]=∫φ′′(x)pt(x)dx.于是
∫φ(x)∂tpt(x)dx=∫μt(x)φ′(x)pt(x)dx+2σt2∫φ′′(x)pt(x)dx.对右边两项做分部积分(边界项在紧支撑或无穷远处为 0):
- ∫μtφ′ptdx=−∫φ∂x(μtpt)dx;
- ∫φ′′ptdx=∫φ∂xxptdx(即 ∫φΔptdx 在一维为 ∫φpt′′dx)。
代入得
∫φ∂tptdx=−∫φ∂x(μtpt)dx+2σt2∫φ∂xxptdx.由 φ 任意,得弱形式:对任意光滑紧支撑 φ,
∫φ(∂tpt+∂x(μtpt)−2σt2∂xxpt)dx=0.由 φ 任意,被积函数(在分布意义下)为 0,即
∂tpt=−∂x(μtpt)+2σt2∂xxpt=−∇⋅(μtpt)+2σt2Δpt.一维时 ∇⋅(μtpt)=∂x(μtpt),Δpt=∂xxpt;高维时 ∇⋅ 为散度,Δ 为拉普拉斯算子,推导相同(对 φ(Xt) 用高维 Itô 公式,再分部积分)。
对
dXt=μt(Xt)dt+σtdWt,Xt∈Rd,其中 Wt 为 d 维布朗运动,σt 为标量或矩阵,在标量扩散系数 σt 且与 x 无关时,密度 pt(x) 满足
∂tpt=−∇⋅(μtpt)+2σt2Δpt.若扩散系数为矩阵 Gt(dXt=μtdt+GtdWt),则扩散项为 21∑i,j(GtGt⊤)ij∂ijpt;当 Gt=σtI 时仍为 2σt2Δpt。
- SDE dXt=μtdt+σtdWt 与 Fokker–Planck ∂tpt=−∇⋅(μtpt)+2σt2Δpt 一一对应:给定 SDE 可推出 pt 满足的 PDE;反之,若 pt 满足该 PDE 且与 SDE 的初始分布一致,则 pt 即为该 SDE 解的边际密度。
- 推导路径:SDE → Itô 引理(对 φ(Xt))→ 取期望并分部积分 → Fokker–Planck。