SDE与DDPM

以 DDPM 为例,DDPM的通项公式为
x t ∼ N ( α ‾ t x 0 , ( 1 − α ‾ t ) I ) x_t \sim \mathcal N(\sqrt{\overline{\alpha}_t}x_0, (1-\overline{\alpha}_t) I) xt​∼N(αt​ ​x0​,(1−αt​)I)
当我们固定 t t t 的取值时, x t x_t xt​ 是定义在样本空间上的函数,即为一随机变量,当我们固定 x x x的随机性时,即为关于变量 t t t 的一个函数,因此 x t x_t xt​ 是一随机过程,而对于一组确定的 { x t } t = 0 T \{x_t\}_{t=0}^T {xt​}t=0T​,称为随机过程的一个实现,或是一条轨迹/轨道,而随机过程可以使用随机微分方程(Stochastic Differential Equation)进行描述

SDE定义为
d X t = b ( t , X t ) d t + σ ( t , X t ) d B t dX_t = b(t,X_t)dt + \sigma(t,X_t)dB_t dXt​=b(t,Xt​)dt+σ(t,Xt​)dBt​
其中 B t B_t Bt​ 表示布朗运动,此方程的解称为伊藤(Itô)过程或是扩散过程。如果我们将 DDPM的迭代式从离散扩展到连续区间,即 x t → x t + Δ t ( Δ t → 0 ) x_t\rightarrow x_{t+\Delta t}\;\;(\Delta t\rightarrow 0) xt​→xt+Δt​(Δt→0),即可得到SDE形式的扩散过程,论文中表示为
d x = f ( x , t ) d t + g ( t ) d w dx = f(x,t)dt + g(t)dw dx=f(x,t)dt+g(t)dw
其中 w w w 表示一个标准布朗运动, f ( ⋅ , t ) f(\cdot,t) f(⋅,t) 称作是漂移系数 (drift coefficient),描述了确定性的变化过程, g ( ⋅ ) g(\cdot) g(⋅) 称作是扩散系数 (diffusion coefficient),描述了不确定的变化过程

SDE视角下的生成模型

SDE的离散形式表示如下所示
x t + Δ t − x t = f ( x , t ) Δ t + g ( t ) Δ t ε x_{t+\Delta_t}-x_t = f(x,t)\Delta t + g(t)\sqrt{\Delta t} \varepsilon xt+Δt​​−xt​=f(x,t)Δt+g(t)Δt ​ε
其中 ε ∼ N ( 0 , I ) \varepsilon \sim \mathcal N(0,I) ε∼N(0,I),因此有条件概率分布
x t + Δ t ∣ x t ∼ N ( x t + f ( x t , t ) Δ t , g 2 ( t ) Δ t I ) x_{t+\Delta_t}|x_t \sim \mathcal N(x_t+f(x_t,t)\Delta t, g^2(t)\Delta t I) xt+Δt​​∣xt​∼N(xt​+f(xt​,t)Δt,g2(t)ΔtI)
考虑逆过程 x t ∣ x t + Δ t x_t|x_{t+\Delta t} xt​∣xt+Δt​,有
p ( x t ∣ x t + Δ t ) = p ( x t + Δ t ∣ x t ) p ( x t ) p ( x t + Δ t ) = p ( x t + Δ t ∣ x t ) exp ⁡ ( log ⁡ p ( x t ) − log ⁡ p ( x t + Δ t ) ) ≈ p ( x t + Δ t ∣ x t ) exp ⁡ { − ( x t + Δ t − x t ) ▽ x t log ⁡ p ( x t ) − Δ t ∂ ∂ t log ⁡ p ( x t ) } ∝ exp ⁡ { − ∣ ∣ x t + Δ t − x t − f ( x t , t ) Δ t ∣ ∣ 2 2 2 g 2 ( t ) Δ t − ( x t + Δ t − x t ) ▽ x t log ⁡ p ( x t ) − Δ t ∂ ∂ t log ⁡ p ( x t ) } = exp ⁡ { − 1 2 g 2 ( t ) Δ t ∣ ∣ ( x t + Δ t − x t ) − ( f ( x t , t ) − g 2 ( t ) ▽ x t log ⁡ p ( x t ) ) Δ t ∣ ∣ 2 2 − Δ t ∂ ∂ t log ⁡ p ( x t ) − f 2 ( x t , t ) Δ t 2 g 2 ( t ) + ( f ( x t , t ) − g 2 ( t ) ▽ x t log ⁡ p ( x t ) ) 2 Δ t 2 g 2 ( t ) } = Δ t → 0 exp ⁡ { − 1 2 g 2 ( t + Δ t ) Δ t ∣ ∣ ( x t + Δ t − x t ) − ( f ( x t + Δ t , t + Δ t ) − g 2 ( t + Δ t ) ▽ x t + Δ t log ⁡ p ( x t + Δ t ) ) Δ t ∣ ∣ 2 2 } \begin{align} p(x_t|x_{t+\Delta t}) &= \frac{p(x_{t+\Delta t}|x_t)p(x_t)}{p(x_{t+\Delta t})} \nonumber \\&= p(x_{t+\Delta t}|x_t)\exp(\log p(x_t)-\log p(x_{t+\Delta t})) \nonumber \\&\approx p(x_{t+\Delta t}|x_t)\exp \{ - (x_{t+\Delta t}-x_t)\triangledown_{x_t} \log p(x_t)-\Delta t \frac{\partial }{\partial t}\log p(x_{t})\} \nonumber \\&\propto \exp \{-\frac{||x_{t+\Delta t}-x_t - f(x_t,t)\Delta t||_2^2}{2g^2(t)\Delta t} - (x_{t+\Delta t} - x_t)\triangledown_{x_t}\log p(x_t)- \Delta t \frac{\partial }{\partial t}\log p(x_t)\} \nonumber \\&= \exp \left\{ -\frac{1}{2g^2(t)\Delta t}||(x_{t+\Delta t}-x_t)-(f(x_t,t)-g^2(t)\triangledown_{x_t}\log p(x_t))\Delta t||_2^2 -\Delta t \frac{\partial }{\partial t}\log p(x_t) - \frac{f^2(x_t,t)\Delta t}{2g^2(t)} + \frac{(f(x_t,t)-g^2(t)\triangledown_{x_t}\log p(x_t))^2\Delta t}{2g^2(t)} \right\} \nonumber \\&\overset{\Delta t\rightarrow 0}{=} \exp \left\{ -\frac{1}{2g^2(t+\Delta t)\Delta t}||(x_{t+\Delta t}-x_t)-(f(x_{t+\Delta t},t+\Delta t)-g^2(t+\Delta t)\triangledown_{x_{t+\Delta t}}\log p(x_{t+\Delta t}))\Delta t||_2^2 \right \} \nonumber \end{align} p(xt​∣xt+Δt​)​=p(xt+Δt​)p(xt+Δt​∣xt​)p(xt​)​=p(xt+Δt​∣xt​)exp(logp(xt​)−logp(xt+Δt​))≈p(xt+Δt​∣xt​)exp{−(xt+Δt​−xt​)▽xt​​logp(xt​)−Δt∂t∂​logp(xt​)}∝exp{−2g2(t)Δt∣∣xt+Δt​−xt​−f(xt​,t)Δt∣∣22​​−(xt+Δt​−xt​)▽xt​​logp(xt​)−Δt∂t∂​logp(xt​)}=exp{−2g2(t)Δt1​∣∣(xt+Δt​−xt​)−(f(xt​,t)−g2(t)▽xt​​logp(xt​))Δt∣∣22​−Δt∂t∂​logp(xt​)−2g2(t)f2(xt​,t)Δt​+2g2(t)(f(xt​,t)−g2(t)▽xt​​logp(xt​))2Δt​}=Δt→0exp{−2g2(t+Δt)Δt1​∣∣(xt+Δt​−xt​)−(f(xt+Δt​,t+Δt)−g2(t+Δt)▽xt+Δt​​logp(xt+Δt​))Δt∣∣22​}​

因此, x t ∣ x t + Δ t x_t|x_{t+\Delta t} xt​∣xt+Δt​ 服从均值方差如下的高斯分布
μ = x t + Δ t − ( f ( x t + Δ t , t + Δ t ) − g 2 ( t + Δ t ) ▽ x t + Δ t log ⁡ p ( x t + Δ t ) ) Δ t σ 2 = g 2 ( t + Δ t ) Δ t \mu = x_{t+\Delta t}-(f(x_{t+\Delta t},t+\Delta t)-g^2(t+\Delta t)\triangledown_{x_{t+\Delta t}}\log p(x_{t+\Delta t}))\Delta t \\\sigma^2 = g^2(t+\Delta t)\Delta t μ=xt+Δt​−(f(xt+Δt​,t+Δt)−g2(t+Δt)▽xt+Δt​​logp(xt+Δt​))Δtσ2=g2(t+Δt)Δt
因此,有SDE表示逆过程离散形式与连续形式如下所示
x t + Δ t − x t = ( f ( x t + Δ t , t + Δ t ) − g 2 ( t + Δ t ) ▽ x t + Δ t log ⁡ p ( x t + Δ t ) ) Δ t + g ( t + Δ t ) Δ t ε d x = [ f ( x , t ) − g 2 ( t ) ▽ x t log ⁡ p ( x t ) ] + g ( t ) d w \begin{align} x_{t+\Delta t}-x_t &= (f(x_{t+\Delta t},t+\Delta t)-g^2(t+\Delta t)\triangledown_{x_{t+\Delta t}}\log p(x_{t+\Delta t}))\Delta t + g(t+\Delta t)\sqrt{\Delta t}\varepsilon \\dx &= [f(x,t)-g^2(t)\triangledown_{x_t}\log p(x_t)]+g(t)dw \end{align} xt+Δt​−xt​dx​=(f(xt+Δt​,t+Δt)−g2(t+Δt)▽xt+Δt​​logp(xt+Δt​))Δt+g(t+Δt)Δt ​ε=[f(x,t)−g2(t)▽xt​​logp(xt​)]+g(t)dw​​

考虑 NCSN 与 DDPM,两种形式均可以统一到SDE的理论表示形式下面,分别称为 VE-SDE (Variance Exploding) 与 VP-SDE (Variance Preserving),对应 NCSN 与 DDPM

对于NCSN,正向过程(加噪声)如下所示
x t = x 0 + σ t ε x t + 1 = x t + σ t + 1 2 − σ t 2 ε x_t = x_0 + \sigma_t\varepsilon \\ x_{t+1} = x_t+\sqrt{\sigma_{t+1}^2 - \sigma_t^2}\varepsilon xt​=x0​+σt​εxt+1​=xt​+σt+12​−σt2​ ​ε
因此,对应的SDE表示形式中
f ( x t , t ) = 0 g ( t ) = d d t σ t 2 f(x_{t},t)=0 \\g(t)= \frac{d}{dt}\sigma_t^2 f(xt​,t)=0g(t)=dtd​σt2​

对于 DDPM,正向过程(加噪声)如下所示
x t = α ‾ t x 0 + 1 − α ‾ t ε x t + 1 = 1 − β t + 1 x t + β t + 1 ε x_t = \sqrt{\overline{\alpha}_t}x_0 + \sqrt{1-\overline{\alpha}_t}\varepsilon \\ x_{t+1} = \sqrt{1-\beta_{t+1}}x_t + \sqrt{\beta_{t+1}}\varepsilon xt​=αt​ ​x0​+1−αt​ ​εxt+1​=1−βt+1​ ​xt​+βt+1​ ​ε
我们令 β : [ 0 , 1 ] → R \beta:[0,1]\rightarrow \R β:[0,1]→R 代替 β t \beta_{t} βt​,满足 β ( i T ) = T β i \beta(\frac{i}{T}) = T\beta_i β(Ti​)=Tβi​, Δ t = 1 T \Delta t = \frac{1}{T} Δt=T1​,则有
x t + 1 = 1 − β ( t + Δ t ) Δ t x t + β ( t + Δ t ) Δ t ε = Δ t → 0 ( 1 − 1 2 β ( t ) Δ t ) x t + β ( t ) Δ t ε \begin{align} x_{t+1} &= \sqrt{1-\beta(t+\Delta t)\Delta t}x_t +\sqrt{\beta(t+\Delta t)\Delta t}\varepsilon \\&\overset{\Delta t\rightarrow 0}{=}(1-\frac{1}{2}\beta(t)\Delta t)x_t+\sqrt{\beta(t)}\sqrt{\Delta t}\varepsilon \end{align} xt+1​​=1−β(t+Δt)Δt ​xt​+β(t+Δt)Δt ​ε=Δt→0(1−21​β(t)Δt)xt​+β(t) ​Δt ​ε​​
因此,对应的SDE表现形式中,有
f ( x t , t ) = − 1 2 β ( t ) x t g ( t ) = β ( t ) f(x_{t},t)=-\frac{1}{2}\beta(t)x_t \\g(t)= \sqrt{\beta(t)} f(xt​,t)=−21​β(t)xt​g(t)=β(t) ​

当我们希望 t → T t\rightarrow T t→T 时,图像为纯粹的噪声图像,那么 σ t → ∞ \sigma_t\rightarrow \infty σt​→∞,但 α ‾ t → 0 \overline{\alpha}_t \rightarrow 0 αt​→0 即可,因此分别称作是 VE-SDE 和 VP-SDE

DDPM Denoiser ϵ θ ( x t , t ) \epsilon_\theta(x_t,t) ϵθ​(xt​,t) 与 NCSN Estimator s θ ( x t , t ) s_\theta(x_t,t) sθ​(xt​,t) :在 DDPM 正向过程中,有 x t ∼ N ( α ‾ t x 0 , ( 1 − α ‾ t ) I ) x_t \sim \mathcal N(\sqrt{\overline \alpha}_t x_0, (1-\overline \alpha_t)I) xt​∼N(α ​t​x0​,(1−αt​)I),代入 s θ ( x t , t ) = ▽ x t log ⁡ p ( x t ) s_\theta(x_t,t) = \triangledown_{x_t} \log p(x_t) sθ​(xt​,t)=▽xt​​logp(xt​),可以得到
s θ ( x t , t ) = − x t − α ‾ t x 0 1 − α ‾ t = − 1 1 − α ‾ t ϵ θ ( x t , t ) s_\theta(x_t,t) = -\frac{x_t-\sqrt{\overline \alpha}_t x_0}{1-\overline \alpha_t} = -\frac{1}{\sqrt{1-\overline \alpha_t}} \epsilon_\theta(x_t,t) sθ​(xt​,t)=−1−αt​xt​−α ​t​x0​​=−1−αt​ ​1​ϵθ​(xt​,t)

PC Sampling

最后,从算法实现的角度来回顾一下 DDPM 和 NCSN,DDPM基于的假设是 Markov 假设,假定不同时间的采样之间服从条件概率分布,因此 DDPM 采用称作是祖先采样(Ancestral Sampling)的方式去求解 SDE 方程,给出的算法如下所示

而 NCSN 依赖于 Langevin Dynamics 进行同一噪声分布下的迭代优化,对于不同的噪声大小,得到的采样之间并没有进行任何的依赖关系,其采样方式如下所示

前者可以看作是对于 SDE 方程的离散形式求解,称为Predictor,后者可以看作是进一步的优化过程,称为 Corrector,作者结合这两部分,给出了 Predictor-Corrector Sampling Method

参考资料

Score-based Generative Modeling Through Stochastic Differential Equations

扩散模型 Diffusion Model SDE

【理论推导】随机微分方程(SDE)视角下的Diffusion Model与Score-based Model相关推荐

  1. 多模态理论张德禄_观点 | 多模态视角下二语语用道歉行为研究

    多模态视角下二语语用道歉行为研究 裴晓宇 杨连瑞 闫海娟 中国海洋大学外国语学院 摘要:二语语用能力是二语学习者在社会环境中进行恰当交流的能力,而交流则涉及不同模态的相互作用.在道歉言语行为研究中引入 ...

  2. UA MATH565C 随机微分方程V 算子半群理论简介

    UA MATH565C 随机微分方程V 算子半群理论简介 Banach空间中的算子半群 Hille-Yosida定理 Shift Operator 上一讲提到Homogeneous Markov Fa ...

  3. UA MATH565C 随机微分方程I SDE的定义与例子

    UA MATH565C 随机微分方程I SDE的定义与例子 随机微分方程的定义 白噪声过程 SDE的一般形式 例子:Ornstein-Uhlenbeck过程 随机微分方程的定义 经典力学中描述一个确定 ...

  4. UA MATH565C 随机微分方程III Ito积分的构造下

    UA MATH565C 随机微分方程III Ito积分的构造下 Progressively Measurable 从step process到一般随机过程 Progressively Measurab ...

  5. 【SDE】随机微分方程(2)

    导航 前文链接 等价SDE Ornstein-Uhlenbeck Process Ito Process Distribution 一般线性SDE 参考资料 前文链接 随机微分方程(1) 等价SDE ...

  6. 能量视角下的GAN模型(二):GAN=“分析”+“采样”

    作者丨苏剑林 单位丨广州火焰信息科技有限公司 研究方向丨NLP,神经网络 个人主页丨kexue.fm 在这个系列中,我们尝试从能量的视角理解 GAN.我们会发现这个视角如此美妙和直观,甚至让人拍案叫绝 ...

  7. UA MATH565C 随机微分方程II Wiener过程简介

    UA MATH565C 随机微分方程II Wiener过程简介 Wiener过程的简单性质 Wiener过程的定义 在上一讲我们定义了WtW_tWt​: dWt=ηtdt⇔Wt=∫0tηsdsdW_t ...

  8. 参数估计_随机微分方程的参数估计(一)

    随机微分方程,俗称SDE,相信点进来的同学们肯定对这个概念不感到陌生.SDE呢,是对现实生活中一些随机波动的事物的建模,比如可以用几何布朗运动(GBM)来模拟股价变化,用CIR模型来模拟利率波动. 然 ...

  9. 计算广告(一)【Ad Click Prediction: a View from the Trenches】工程实践视角下的广告点击率预估

    计算广告(一)Ad Click Prediction: a View from the Trenches --工程实践视角下的广告点击率预估 这是谷歌发表于KDD2013的一篇文章,从年份来看,已经有 ...

最新文章

  1. JavaScript 工作原理之五-深入理解 WebSockets 和带有 SSE 机制的HTTP/2 以及正确的使用姿势(译)...
  2. PostSharp的AOP设计在.NET Remoting中的应用
  3. 检查一列数据的重复项 vba_01.VBA自动化办公——数据的局部加和
  4. 谷歌Colab也搞“超级会员”,普通会员云GPU被降级,想用高端得加钱
  5. AttributeError: 'str' object has no attribute 'decode' django问题
  6. LoadCursor 加载不同的鼠标光标
  7. 阿里云服务器安全设置
  8. 【渝粤教育】广东开放大学 文学创意写作 形成性考核 (58)
  9. greenplum 查询出来的数字加减日期_POLA宝丽美白精华怎么查看生产日期保质期?保质期时间是几年的?查批号在哪里查?...
  10. Unity3D笔记 愤怒的小鸟四 实现Selelction界面
  11. 剑指offer——复习1:二叉树三种遍历方式的迭代与递归实现
  12. STM32 IWDG时间计算方法
  13. 怎么用计算机知道密码,如何用电脑看到自家路由器的密码
  14. Alt属性和Title属性
  15. Qt中mouseMoveEvent在MainWindow中使用
  16. 桂花网蓝牙路由器Cassia X1000产品介绍
  17. 37、T5L迪文屏C51开发之绘制2D形状
  18. 复现KDL:使用Msnhnet实现串联机器人运动数值逆解(一)
  19. 周文强做客《逐梦年代》与主持人李思思讲述创业背后的秘密
  20. NAS和AutoML

热门文章

  1. 【020】翼辉信息董事长韩辉先生受北京工业大学邀请发表学术演讲
  2. 华一:5年资深工具控告诉你 “ AI 时代” 最重要的技能是什么?
  3. php mysql 上一页 下一页 分页代码片段
  4. 东北大学计算机学院保研去向,东北大学计算机科学与工程学院(专业学位)计算机技术保研条件...
  5. L2-026 小字辈
  6. windows环境下,强力删除文件
  7. 新书推荐 | Flutter技术入门与实战(第2版)
  8. 网络虚拟化 SDN NFV 和企业骨干网的演化
  9. 2021年中国乙二酸产能格局及进出口贸易分析:华峰化工己二酸产能全国排名第一[图]
  10. python中fig_Matplotlib画图中fig,ax,plt的区别和联系