3、Stochastic Differential Equation(SDE)

3.1、Forward Brownian motion SDE(正时序加噪布朗运动随机微分方程)

d x = f ( x , t ) d t + g ( t ) d w dx=f(x,t)dt+g(t)dw

3.1.1、DDPM与Forward Brownian motion SDE等价性

x i = 1 − β i x i − 1 + β i z i − 1 x_i=\sqrt{1-\beta_i}x_{i-1}+\sqrt{\beta_i}z_{i-1}
β i ^ = β i N \hat{\beta_i}=\frac{\beta_i}{N} ，令 β ( i N ) = β i ^ \beta(\frac{i}{N})=\hat{\beta_i} x ( i N ) = x i x(\frac{i}{N})=x_i z ( i N ) = z i z(\frac{i}{N})=z_i

x ( i N ) = 1 − 1 N β ( i N ) x ( i − 1 N ) + 1 N β ( i N ) z ( i − 1 N ) x(\frac{i}{N})=\sqrt{1-\frac{1}{N}\beta(\frac{i}{N})}x(\frac{i-1}{N})+\sqrt{\frac{1}{N}\beta(\frac{i}{N})}z(\frac{i-1}{N})

x ( t i ) = 1 − △ t β ( t i ) x ( t i − 1 ) + △ t β ( t i ) z ( t i − 1 ) x( t_i)=\sqrt{1-\bigtriangleup t\beta( t_i)}x( t_{i-1})+\sqrt{\bigtriangleup t\beta( t_i)}z( t_{i-1})

x ( t + △ t ) = 1 − △ t β ( t + △ t ) x ( t ) + △ t β ( t + △ t ) z ( t ) x(t+\bigtriangleup t)=\sqrt{1-\bigtriangleup t\beta(t+\bigtriangleup t)}x(t)+\sqrt{\bigtriangleup t\beta(t+\bigtriangleup t)}z( t)

x ( t + △ t ) ≈ [ 1 − 1 2 △ t β ( t + △ t ) ] x ( t ) + △ t β ( t + △ t ) z ( t ) —— [ D D P M ] x(t+\bigtriangleup t)\approx[1-\frac{1}{2}\bigtriangleup t\beta(t+\bigtriangleup t)]x(t)+\sqrt{\bigtriangleup t\beta(t+\bigtriangleup t)}z( t)——[DDPM]
x ( t + △ t ) − x ( t ) ≈ − 1 2 △ t β ( t ) x ( t ) + △ t β ( t ) z ( t ) —— [ D D P M ] x(t+\bigtriangleup t)-x(t)\approx-\frac{1}{2}\bigtriangleup t\beta(t)x(t)+\sqrt{\bigtriangleup t\beta(t)}z(t)——[DDPM]

d x = − 1 2 β ( t ) x ( t ) d t + β ( t ) d w —— [ S D E ] ≈ [ D D P M ] dx=-\frac{1}{2}\beta(t)x(t)dt+\sqrt{\beta(t)}dw——[SDE]\approx[DDPM]

3.1.2、SGM与Forward Brownian motion SDE等价性

x i ～ N ( x 0 , σ i 2 I ) ， x i − 1 ～ N ( x 0 , σ i − 1 2 I ) x_i～N(x_0,\sigma_i^2I)，x_{i-1}～N(x_0,\sigma_{i-1}^2I)
x i x_i 可以视为从 x i − 1 x_{i-1} 处加上了一个独立的 N ( 0 , ( σ i 2 − σ i − 1 2 ) I ) N(0,(\sigma_i^2-\sigma_{i-1}^2)I) 来获得。

x i = x i − 1 + ( σ i 2 − σ i − 1 2 ) z i − 1 x_i=x_{i-1}+\sqrt{(\sigma_i^2-\sigma_{i-1}^2)}z_{i-1}
x ( i N ) = x i ， σ ( i N ) = σ i ， z ( i N ) = z i ， x i = x i − 1 + △ t x(\frac{i}{N})=x_i，\sigma(\frac{i}{N})=\sigma_i，z(\frac{i}{N})=z_i，x_i=x_{i-1}+\bigtriangleup t

x ( t + △ t ) = x ( t ) + ( σ 2 ( t + △ t ) − σ 2 ( t ) ) z t x(t+\bigtriangleup t)=x(t)+\sqrt{(\sigma^2(t+\bigtriangleup t)-\sigma^2(t))}z_{t}
x ( t + △ t ) − x ( t ) = ( σ 2 ( t + △ t ) − σ 2 ( t ) ) △ t △ t z t t —— [ S G M ] x(t+\bigtriangleup t)-x(t)=\sqrt{\frac{(\sigma^2(t+\bigtriangleup t)-\sigma^2(t))}{\bigtriangleup t}\bigtriangleup t}z_{t}t——[SGM]
x ( t + △ t ) − x ( t ) ≈ d ( σ 2 ( t ) ) d t △ t z t —— [ S G M ] x(t+\bigtriangleup t)-x(t)\approx\sqrt{\frac{d(\sigma^2(t))}{dt}\bigtriangleup t}z_t——[SGM]

d x = d ( σ 2 ( t ) ) d t d w —— [ S D E ] ≈ [ S G M ] dx=\sqrt{\frac{d(\sigma^2(t))}{dt}}dw——[SDE]\approx[SGM]

3.1.3、新性能SDE

d x = − 1 2 β ( t ) x ( t ) d t + β ( t ) d w —— [ S D E ] ≈ [ D D P M ] dx=-\frac{1}{2}\beta(t)x(t)dt+\sqrt{\beta(t)}dw——[SDE]\approx[DDPM]
d x = d ( σ 2 ( t ) ) d t d w —— [ S D E ] ≈ [ S G M ] dx=\sqrt{\frac{d(\sigma^2(t))}{dt}}dw——[SDE]\approx[SGM]
Song等人提出了一种表现性能更好的SDE方法作为代替：
d x = − 1 2 β ( t ) x ( t ) d t + β ( t ) ( 1 − 2 e − 2 ∫ o t β ( s ) d s ) d w —— [ N S D E ] dx=-\frac{1}{2}\beta(t)x(t)dt+\sqrt{\beta(t)(1-2e^{-2\int_o^t\beta(s)ds})}dw——[NSDE]

3.2、Reverse Brownian motion SDE(逆时序去噪布朗运动随机微分方程)

3.2.1、Reverse Brownian motion SDE

d x = [ f ( x , t ) − g 2 ( t ) ∇ x l o g ( p t ( x ) ) ] d t + g ( t ) d w ^ dx=[f(x,t)-g^2(t)\nabla_xlog(p_t(x))]dt+g(t)d\hat{w}

3.2.2、Probability Flow ODE(概率流常微分方程)与SDE的轨迹等价性。

Song等人证明了对于任何逆时序去噪声布朗运动随机微分方程的过程而言，存在着相应的确定性概率流常微分方程,相应的公式如下，由于证明比较复杂繁琐，限于长度限制，这里较难写下，笔者这里直接给出结论，详细证明请看原文的附录，需要利用随机过程和概率论的知识。
d x = [ f ( x , t ) − 1 2 g 2 ( t ) ∇ x l o g ( p t ( x ) ) ] d t dx=[f(x,t)-\frac{1}{2}g^2(t)\nabla_xlog(p_t(x))]dt

3.3、 SDE训练

①采用Langevin Monte Carlo迭代更新+采样(SGM,SDE均适用)(不懂请见第二讲)
②Numerical SDE solvers(数值SDE求解)(仅适用SDE)
③Numerical ODE solvers(数值ODE求解)(仅适用SDE)

3.3.1、SDE训练方法

L o s s = E t ∈ [ 0 , T ] , x 0 , x t [ ∣ ∣ s θ ( x t , t ) − ∇ x l o g ( p 0 ～ t ( x t ∣ x 0 ) ) ∣ ∣ 2 ] Loss=E_{t\in[0,T],x_0,x_t}[||s_\theta(x_t,t)-\nabla_xlog(p_{0～t}(x_t|x_0))||^2] 其中 p 0 ～ t ( x t ∣ x 0 ) ) p_{0～t}(x_t|x_0)) 的获取通过对Forward Brownian motion SDE求解获得， t t [ 0 , T ] [0,T] 中进行均匀采样,并不要求为整数

d x = [ f ( x , t ) − 1 2 g 2 ( t ) s θ ( x t , t ) ] d t —— ( 1 ) dx=[f(x,t)-\frac{1}{2}g^2(t)s_\theta(x_t,t)]dt——(1)
d x = [ f ( x , t ) − g 2 ( t ) s θ ( x t , t ) ] d t + g ( t ) d w ^ —— ( 2 ) dx=[f(x,t)-g^2(t)s_\theta(x_t,t)]dt+g(t)d\hat{w}——(2)