news 2026/4/28 4:42:35

扩散模型之(四)SDE 扩散模型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
扩散模型之(四)SDE 扩散模型

1.背景

为了寻求一个更统一、更强大、更灵活的框架来解释和扩展已有的DDPM、Score-Based Model(下文简称SBM), stochastic differential equation (SDE)模型被提出,通过统一离散的DDPM和SBM,为扩散模型建立更一般化、更严谨的连续数学基础。

SDE成功地将领域从离散的、经验的“技巧”提升到了连续的、有坚实数学基础的范畴,同时解决了离散模型采样慢、步骤固定、灵活性差的问题,实现更快的采样、可控的图像编辑与插值

具体来说,SDE涉及到维纳过程、伊藤过程与福克-普朗克方程,下文分别介绍。

2.维纳过程与伊藤过程

2.1 维纳过程

维纳过程Wiener process,又称标准布朗运动,是数学中最基本的随机过程之一,在数学、物理学、工程学等领域有着广泛的应用。该过程以诺伯特·维纳(Norbert Wiener)的名字命名,他在 20 世纪 20 年代严谨地提出了这一过程,为连续时间随机现象的建模提供了一个数学框架。

维纳过程是一个连续时间随机过程𝑊(𝑡),满足以下条件:

  1. 初始条件:𝑊(0) = 0.
  2. 独立增量:对于任意增量都是独立随机变量。
  3. 平稳增量:∆W =𝑊(𝑡 + ∆t) − 𝑊(𝑡) 的分布仅取决于 ∆t,而不取决于 𝑡。
  4. 正态分布:增量∆W= 𝑊(𝑡 + ∆t) − 𝑊(𝑡) 遵循正态分布,即 𝑊(𝑡 +∆t) − 𝑊(𝑡) ∼ 𝑁(0, ∆t)
  5. 连续性:在时间上关于t几乎肯定是连续的。

简化上述维纳过程表述形式,

则:

,可得到连续时间的随机过程,表示为如下连续时间随机微分方程:

2.2 广义维纳过程

广义维纳过程是一种均值与方差可不为 0 和 1 的维纳过程,其形式可表示为:

其中表示均值随时间保持线性变化,则是经过尺度变换的维纳过程。

换言之,广义维纳过程可类比维纳过程的形式进行理解,这意味着在任意时间跨度内,相应的变化量满足:

通过对上述维纳过程添加均值与标准差参数,即可实现广义维纳过程的抽样模拟。

2.3 伊藤过程

伊藤过程(Ito process)可看作更为一般化的维纳过程,它直接把广义维纳过程的系数表示为变量的函数形式,其随机微分方程的表示如下:

也可以表示为:

​​​​​​

它对应的逆过程(Anderson公式)可以描述为:

具体推导过程,可参考 Deriving Reverse-Time Stochastic Differential Equations (SDEs)

2.4Fokker–Planck 方程

其中,表示 变量的概率密度。

Fokker–Planck 方程作为扩散方程的一个推广,描述了概率分布如何随时间变化。福克-普朗克方程的意义在于,概率密度随时间的变化可以完全用坐标的导数来表示。

该方程的演变由来及其与扩散模型的关联与泛化,可参考 Fokker-Planck_Equations 与The-Fokker-Planck-Equation-and-Diffusion-Models 。

3.SDE引入

噪声尺度对于基于分数的生成模型(SBM)的成功至关重要。通过将噪声尺度的数量推广到无穷大,不仅获得了更高质量的样本,而且还获得了精确的对数似然计算可控的逆问题求解生成

当噪声尺度数量趋近于无穷时,我们实际上是在用连续增强的噪声水平扰动数据分布。在这种情况下,噪声扰动过程可表示为连续时间随机过程,如下所示。

这里可以将有限噪声尺度的概念扩展至无限连续噪声尺度,通过将该过程建模为扩散过程来实现。这一过程可形式化为随机微分方程(SDE),其表达式形如伊藤过程,如下所示:

此处,表示漂移系数,用于建模随机微分方程(SDE)的确定性部分,决定了过程随时间变化的平均预期速率。

称为扩散系数,代表SDE的随机部分,决定了加噪过程随时间变化的强度。最后,是布朗运动,也就是上述的维纳过程。因此表示加噪过程。

希望设计的扩散过程满足:
为原始数据分布,为与独立的高斯噪声分布。由于每个SDE都存在对应的逆向SDE,我们可以从最终噪声分布出发,通过运行以下逆向时间SDE来恢复的样本,该过程由以下方程描述(Anderson公式),具体推导可参考 ReverseTimeAnderson:

注意:表示从终止时刻 T反向流动至初始时刻 0 的逆向布朗运动(维纳过程),标记上标是为了说明这个维纳过程不同于正向流动从0到T时刻的维纳过程,部分文献表示为dt为无穷小的负时间步长。

此时,基于随机微分方程的分数匹配目标函数可表述为:

4. 扩散模型的SDE形式

( Song等人,2021)研究了两类基于分数的生成模型,它们采用随机微分方程(SDE)进行生成建模。一种称为基于朗之万动力学的分数匹配(SMLD),该方法通过在不同噪声尺度下进行分数估计,随后采用噪声尺度递减的朗之万动力学进行采样,另一种是去噪扩散概率模型(DDPM)。

(Ho等人,2020),它使用参数化的马尔可夫链,通过证据下界(ELBO)的加权变体进行训练——这属于变分推断的范畴。该马尔可夫链被训练用于逆转噪声扩散过程,从而可以通过标准马尔可夫链蒙特卡罗方法从链中采样。

( Song等人,2021)揭示了SMLD和DDPM实际上分别对应方差爆炸(VE)和方差保持(VP)两类随机微分方程的离散化形式,这将是接下来两节的重点内容。我们认为对此展开阐述将具有启发性,因为它能凸显随机微分方程与实际应用中离散化方法之间的内在联系。

汇总的离散形式如下表所示,具体内容后面章节详细展开。

4.1 SMLD的SDE形式

通过采用几何级数形式的噪声尺度,参数N为噪声的尺度,将其叠加到数据分布上。定义,可以看成是的离散随机过程,逐级添加噪声,可以递归地定义每个噪声尺度对应的扰动数据分布:

且满足,

其中,

此时,有:

进一步将式(4)改写成 SDE 的形式 (即令):

(即),有:

此时噪声尺度视为随时间连续变化的过程,得到方差爆炸型随机微分方程 VE-SDE(Variance Exploding SDE): ​​​​​​​

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

(该过程)得名于其几何级数增长特性:当时,会使的方差趋向无穷大,此时的方差不会像DDPM模型稳定在一个合理的区间内,故而得名。

由SDE的模版伊藤公式:

​​​​​​​ ​​​​​​​

此时,

​​​​​​​ ​​​​​​​ ​​​​​​​

逆向的SDE形式如下:

​​​​​​​ ​​​​​​​

类似于DDPM,根据欧拉-丸山法写出SMLD的逆扩散方程离散化的迭代形式:

​​​​​​​ ​​​​​​​

4.2 概率视角下的SDE

根据上述等式(1)表示SDE前向过程离散化形式如下

用条件概率表示为:

利用bayes定理

对于上式中对数项进行Taylor展开得到:

注意:实际上是“时刻随机变量等于的概率密度”,而实际上是“时刻随机变量等于的概率密度”,,也就是说实际上同时是的函数,所以要多一项的偏导数(标记红色)。

将式(12)带入式(11),配方得到(详细推导见附录二):

不起作用,由此得到:

的极限,那么就此得到反向过程的SDE

近似一个均值为、协方差为的正态分布,取的极限,那么对应于SDE:

​​​​​​​

4.3 DDPM的SDE形式

类似地,DDPM的扰动 kernel 对应的马尔可夫链由以下公式给出(因本部分的变量有自己的含义,故而将DDPM的改成,都是表示第步的意思):

​​​​​​​ ​​​​​​​

将递归的变量进行替换:

则上述式(16)改写为:

​​​​​​​ ​​​​​​​ ​​​​​​​

进一步得到:

,有:

​​​​​​​ ​​​​​​​ ​​​​​​​

其中第二项由一阶泰勒近似可以得到,第二项和 SMLD 中的推理是类似的。

最后, 可以总结为如下的 Wiener process,即取极限就得到了方差保持型随机微分方程VP-SDE(Variance Preserving SDE):

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

DDPM 的 ancestral采样(bayes后验)匹配其反向扩散对象(反向SDE),当时,对于所有,存在:

​​​​​​​​​​​​​​

相应地,逆向SDE方程如下:

​​​​​​​

离散化的DDPM采样形式如下:

​​​​​​​ ​​​​​​​

附录一

可视化表示整个维纳过程如下:

附录二

对式(12)移项得:

的极限时,

​​​​​​​

所以:

带入到式(11),得到:

其中,

​​​​​​​ ​​​​​​​

式(26)改写为:

式(27)平方项展开得:

舍弃,这一项是高阶小,属于,由此得:

由此,指数项内部变为:

​​​​​​​

结合前两项,配方可得:

回到式(26),可得:

与式(13)一致.

参考资料

https://royalsocietypublishing.org/doi/full/10.1098/rsta.2024.0503

https://jmtomczak.github.io/blog/17/17_sbgms.html

https://antarina.tech/posts/notes/articles/%E7%AC%94%E8%AE%B0sde.html#_6-4-sampling-with-predictor-corrector-methods

https://andrewcharlesjones.github.io/journal/stochastic-processes.html

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 4:42:23

React Boilerplate时区处理终极指南:moment.js与date-fns时间库对比

React Boilerplate时区处理终极指南:moment.js与date-fns时间库对比 【免费下载链接】react-boilerplate 🔥 A highly scalable, offline-first foundation with the best developer experience and a focus on performance and best practices. 项目地…

作者头像 李华
网站建设 2026/4/28 4:41:24

HTML 符号

HTML 符号 引言 HTML(超文本标记语言)是构建网页的基础,它允许开发者使用各种标签来构建和格式化网页内容。在HTML中,符号(Symbol)是一种特殊的字符,用于表示各种概念,如货币、数学运算、特殊符号等。这些符号在网页中有着广泛的应用,本文将详细介绍HTML符号的用途、…

作者头像 李华
网站建设 2026/4/28 4:36:59

os-tutorial设备驱动:硬件抽象层设计的终极指南

os-tutorial设备驱动:硬件抽象层设计的终极指南 【免费下载链接】os-tutorial How to create an OS from scratch 项目地址: https://gitcode.com/gh_mirrors/os/os-tutorial os-tutorial项目是一个从零开始创建操作系统的开源教程,其中设备驱动的…

作者头像 李华
网站建设 2026/4/28 4:35:52

聚类算法实战:K-means + DBSCAN + 层次聚类对比

文章目录 聚类算法实战:K-means + DBSCAN + 层次聚类对比 一、任务 二、数据 (鸢尾花) 三、K-means 3.1 原理 3.2 肘部法选 k 3.3 训练 3.4 结果 四、DBSCAN 4.1 原理 4.2 月牙形数据 4.3 参数调优 五、层次聚类 六、评估 七、对比总结 八、选择指南 九、调试 十、总结 代码链…

作者头像 李华
网站建设 2026/4/28 4:32:39

小型语言模型在金融价格预测中的高效实践

1. 项目背景与核心价值在金融科技领域,价格预测一直是个充满挑战的课题。传统方法主要依赖统计模型和时间序列分析,但随着语言模型技术的发展,我们开始探索新的可能性。SLM Pricer这个项目尝试用小型语言模型(Small Language Model)来解决价格…

作者头像 李华
网站建设 2026/4/28 4:31:35

Windows 10安卓子系统完整安装指南:在旧系统上运行Android应用

Windows 10安卓子系统完整安装指南:在旧系统上运行Android应用 【免费下载链接】WSA-Windows-10 This is a backport of Windows Subsystem for Android to Windows 10. 项目地址: https://gitcode.com/gh_mirrors/ws/WSA-Windows-10 还在为无法在Windows 1…

作者头像 李华