SDE
约 1101 字大约 4 分钟
扩散模型生成模型理论SDE
2024-08-11
- 扩散模型发展过程中最重要的工作
- 将之前两类扩散模型进行了理论上的统一
- 本质还是估计 Score
用 SDE 描述扩散模型
xt t 固定 -> 随机变量 xt∼N(αˉx0,(1−αˉt)I)
x 固定 -> xT, xT−1,...,x1,x0 轨迹(采样)
xt 是一个随机过程,所以可以用 SDE 描述
SDE-based diffusion process
离散过程
graph LR
C(x0)-->x1-->x2-->A[...]-->B(xT)
B-->xT_1-->D[...]-->C
t∈{0,1,2,...,T}
连续过程
t∈[0,1] xt→xt+Δt, Δt→0
dx=确定性f(x,t)dt+不确定性g(t)dw
f(x,t): drift coefficient
g(t):diffusion coefficient
w :Brownian motion
菲克第二定律,郎之万动力学
xt+Δt−xtxt+Δtp(xt+Δt∣xt)xt+Δt→xt, logp(xt+Δt)p(xt∣xt+Δt)≈exp{=f(xt,t)Δt+g(t)Δtε, ε∼N(0,I)=xt+f(xt,t)Δt+g(t)Δtε∼N(xt+f(xt,t)Δt,g2(t)Δt)p(xt∣xt+Δt)=p(xt+Δt)p(xt+Δt∣xt)p(xt)=p(xt+Δt∣xt)exp{logp(xt)−logp(xt+Δt)}≈logp(xt)+(xt+Δt−xt)∇xtlogp(xt)+Δt∂t∂logp(xt)=p(xt+Δt∣xt)exp{−(xt+Δt−xt)∇xtlogp(xt)−Δt∂t∂logp(xt)}∝exp{2g2(t)Δt∥xt+Δt−xt−f(xt,t)Δt∥22−(xt+Δt−xt)∇xtlogp(xt)−Δt∂t∂logp(xt)}=exp{−2g2(t)Δt1((xt+Δt−xt)2−(2f(xt,t)Δt−2g2(t)Δt∇xtlogp(xt))(xt+Δt−xt))−Δt∂t∂logp(xt)−2g2(t)f2(xt,t)Δt}=exp{−2g2(t)Δt1(xt+Δt−xt)−(f(xt,t)−g2(t)∇xtlogp(xt))Δt22−Δt∂t∂logp(xt)−2g2(t)f2(xt,t)Δt+2g2(t)(f(xt,t)−g2(t)∇xtlogp(xt))2Δt}Δt→0,xt+Δt→xt−2g2(t)Δt1(xt+Δt−xt)−(f(xt+Δt,t+Δt)−g2(t+Δt)∇xt+Δtlogp(xt+Δt))Δt22}
p(xt∣xt+Δt) dx采样:xt+Δt−xt均值:方差:=[f(x,t)−g2(t)∇xtlogp(xt)]+g(t)dw=[f(xt+Δt,t+Δt)−g2(t+Δt)∇xt+Δtlogp(t+Δt)]Δt+g(t+Δt)Δtε
总结:扩散过程与采样过程
{dx=f(x,t)dt+g(t)dwdx=[f(x,t)−g2(t)∇xlogp(x)]dt+g(t)dw
与之前工作的联系
VE-SDE
- variance exploding
- NCSN,noise-conditioned score networks
- xt=x0+σtε
- xt+1=xt+σt+12−σt2ε
- xT=x0+σTε
- σT↑
VP-SDE
- variance preserving
- DDPM
- xt=αˉtx0+1−αˉtε
- xt+1=1−βt+1xt+βt+1ε
- xT=αˉTx0+1−αˉTε
- αˉT→0
dx=f(x,t)dt+g(t)dw, xt→xt+Δt
xt+Δt=xt+f(xt,t)Δt+g(t)Δtε
VE:
xt+Δt=xt+σt+Δt2−σt2ε=xt+Δtσt+Δt2−σt2Δtε=xt+dtd[σt2]Δtε
- f(xt,t)=0, g(t)=dtd[σt2]
VP:
xt+1{βi}i=1T,xt+1T→∞, β(Ti)=βˉi, xt+Δt=1−βt+1xt+βt+1ε 令{βˉi=Tβi}i=1T=1−Tβˉt+1xt+Tβˉt+1ε{βi}i=1T→β(t),t∈[0,1]Δt=T1=1−β(t+Δt)Δtxt+β(t+Δt)Δtε≈(1−21β(t+Δt)Δt)xt+β(t+Δt)Δtε≈(1−21β(t)Δt)xt+β(t)Δtε
- f(xt,t)=−21β(t)Δt)xt, g(t)=β(t)
SDE 通过不同的 f() g(),来实现 NCSN,DDPM