type
status
date
slug
summary
tags
category
icon
password
前置知识:
1 背景
生成模型期望将未知的数据分布与已知的先验分布建立起映射关系,从而实现从先验分布采样,映射到数据分布样本点,实现图片生成。生成模型通常包含两个过程:
1)前向过程
已知原始数据分布样本点,通过自定的规则,获取其对应的先验分布样本点。即为定义的映射规则。前向过程一般用于构造训练所用的pair数据集。
2)后向过程
从先验分布采样数据点,通过训练好的生成模型得到服从原始数据分布的样本点。即为生成模型。理想情况下,。
目前基于diffusion model的生成模型也和上述两个过程类似,只是将原始数据分布到先验分布的转移分成了多个时间步,可以视作2个随机过程。
SongYang博士从
Itô
型随机微分方程(Stochastic Differential Equation)的角度对扩散模型的前向、后向过程进行建模,并用该理论框架统一了DDPM
][1]和SMLD
[2],下面来看SDE是如何统一DDPM
和SMLD
!2 Itô
型SDE
视角下的diffusion model
在深入介绍
Itô
型SDE
前,有必要先介绍一下布朗运动。2.1 布朗运动Intro
布朗运动名于英国植物学家Robert Brown。1827年,Brown在用显微镜观察悬浮在水中的花粉时发现浸没在溶液中的微小粒子受到水分子连续撞击呈现出不规则运动。
1905年,爱因斯坦建立了布朗运动的分子理论,并开启了用随机过程描述自然现象的数理科学发展方向。
之后,Wiener对布朗运动做了大量的数学研究,对布朗运动的轨道性质进行了深入分析,提出了布朗运动上的Wiener积分,这为随机过程和随机积分的发展作出了巨大贡献。
1951年,
Itô
发表论文[3]创立了关于布朗运动的Itô
型随机微分方程(式2)。该论文对随机微分方程的发展具有划时代的意义[1,2]。式中:
- 称为漂移系数(drift coefficient),其为vector-valued function,实现的映射。
- 称为扩散系数(diffusion coefficient)。
- 是维纳过程(标准布朗运动)
2.1 布朗运动定义(布朗运动也称为Wiener过程)
若随机过程满足以下三条性质:
1️⃣ 轨迹连续。且是的连续函数
2️⃣ 增量服从正态分布。,增量
3️⃣ 增量独立。,随机变量 相互独立
则将随机过程称之为布朗运动(或Wiener过程)。当时,为标准的布朗运动。
2.2 前向SDE和后向SDE定义

2.2.1 前向过程随机微分方程
作者所采用的
Itô
型随机微分方程形式如下(简化了扩散系数,使其只与时间步有关),描述了样本从到的变化过程。2.2.2 后向过程随机微分方程
Anderson[4]给出了式(3)的逆向随机微分方程。描述了样本从到的变化过程。(注意:此时是逆时间步,从趋向)
这一项其实就是
SMLD
里面的score。2.3 SDE视角下的SMLD(VE-SDE)
2.3.1 SMLD简单回顾
生成模型的目标是: 通过采样数据来训练一个模型 (,是模型的参数空间),使得。
为了保证neural netowrk的输出符合标准概率分布的特征:
1) 非负; 2)概率分布的积分为1
我们可以将定义为
式中: 是一个归一化常数,使概率分布满足,不难得出。称为非归一化概率模型(unnormalized probabilistic model)或能量模型(energy-based model)。
由于难求解,可以通过对式(5)先取对数再对求梯度的方式规避
作者将定义为score based model,记为
我们可以最小化
fisher diverence
来训练score based model ,即估计的score和实际的score均方误差最小:由于不可知,需要利用score matching的方法进行变换。并且因为样本数据的存在低密度区域,在低密度区域拟合较差,score估计的不准,故采用对原始数据加噪的形式来扩大训练时的样本空间。作者定义了不同强度的高斯噪声噪声:,加噪数据定义如下:
式中:,显然,,当足够大时
此时的优化目标为
训练完毕后通过朗之万采样生成样本。
2.1.2 SMLD前向过程的SDE形式
从式(8)知
SMLD
的前向过程服从高斯分布: ,下角标0表示初始时刻,。不妨设置,此时可以用以下马尔可夫链表示前向过程
(用高斯分布可加性可以很方便证明)为了将式(10)写成连续形式,进行如下定义:
- let ,此时,不妨记做,同理不妨记做
式(10)可写作
当时, ;;;
因此,式(11)的可写成随机微分方程形式
回顾式(3),SMLD的前向过程是式(3)在的一个特例。因随的增大而增大,此时的SDE称之为variance explode SDE(
VE SDE
)2.1.3 SMLD反向过程的SDE形式
将带入式(4),得出SMLD reverse process的SDE形式
2.2 SDE视角下的DDPM(VP-SDE)
2.2.1 DDPM回顾
(一) 前向过程(加噪过程)
DDPM同样将前向过程定义成一个离散马尔可夫过程
,.随的增大而减小.通过式(14)我们还可以进一步推出。
前向过程是一个确定性过程,无训练参数,其作用是给diffusion model构建训练样本。

(二) 反向过程(去噪过程)
去噪过程也是我们做生成任务的目标:从某一先验分布采样一个数据点,通过生成模型获得服从期望数据分布的数据点。
DDPM将去噪过程同样定义为一个离散的马尔可夫过程
问题的关键时如何得到:,这里不妨将其建模为Gaussian。

根据前向过程的结论,是已知的,根据贝叶斯公式可以求出
既然未知,已知,那么我们可以用模型来估计,记为,以最小化KL散度来对齐这两个分布
通过推导,可以得出最优化式(17)等价于优化 (忽略了常数项)
根据前向过程:,即有:
所以,
因此. 此时对齐均值的问题就转化成:给定预测加入的噪声,
2.2.2 DDPM噪声预测模型与score based model的联系
这里需要利用一个数学结论:如果一个随机变量服从高斯分布,,那么根据Tweedie’s Formula,有
DDPM的前向公式,带入上式有:
根据Tweedie’s Formula,最佳的期望估计是均值,因此
式中的其实就是
SMLD
中定义的score又根据式(19)可知,,联合式(24)可知
式(25)也称之为
score function
。可见DDPM中估计的噪声就是SMLD估计的score。2.2.3 DDPM前向过程的SDE形式
根据
DDPM
的前向过程式14可知,(, 为了和SMLD的推导对应,不妨将记为)为了将式(26)写成连续形式,进行如下定义:
- let ,此时,不妨记做,同理不妨记做
因此,式26可以写作
为了将式27写成SDE形式,需要让,此时
不妨计算在处的泰勒展开进行估算,此时
此时
从而得到DDPM的前向SDE公式
回顾式(3),DDPM的前向过程是式(3)在的一个特例。因随的增大是有界的(DDPM中的上界为1)。因此,此时的SDE称之为variance Preserving SDE(
VP SDE
)2.2.4 DDPM反向过程的SDE形式
将带入式(4),得出DDPM reverse process的SDE形式
根据2.2.2的式25可知,,有
2.3 小结
通过上述讨论,分别得出
SMLD
与DDPM
的前向,反向SDEㅤ | forward SDE | reverse SDE |
SMLD (VE SDE) | ||
DDPM (VP SDE) |
同时也建立起
SMLD
与DDPM
的联系,score function3 SDE的求解
前文我们花大力气将diffusion model的两类主流方法用SDE来统一。在SDE框架下,可以利用现有的数值方法实现更高效的采样。以欧拉丸山法(”Euler-Maruyama”)为例,已知反向过程SDE(式4)如下:
以差分近似微分(注意此处是逆时间过程):
有:
记当前的迭代步为,
3.1 Predictor-Corrector (PC) sampling
作者随后提出PC-sampling将DDPM和SMLD的sampling方法进行统一。
PC-sampling分为2步:
1)predictor:通过reverse difusionSDE solver(式35)作为predictor,得出符合当前时间步分布的
2)corrector:通过annealed Langevin dynamics的方法对当前时间步的进行修正

再回过头来看原始DDPM和SMLD sampling的方法:
- DDPM相当于只有predictor无corrector
- SMLD相当于只做corrector,无predictor(下一个时间步的初始值用上一个时间步最终的修正值)
4 Probability Flow ODE
对于所有的diffusion process,都能找到边际概率密度(marginal probability density)相同的deterministic process,这个deterministic process能用一个ODE来描述(diffusion process对应的SDE为式3)
下面来看看式(36)是怎么来的。
根据Fokker–Planck equation可以写出式(3)SDE的Fokker–Planck equation如下:
令,我们找到新的SDE,其边际概率密度与式3相同,由于为0,此时式38为ODE。
同样参考式(4),可以得到式38后向过程对应的
ODE
式(4)与式(39)的score一致,因此可以用基于前向过程SDE(式3)构造score based model的训练样本,训练完成后用reverse diffusion ODE(式39)做生成。(DDIM是上式的一个特例)
用ODE采样过程有多个好处:首先目前数学界对ODE数值求解的研究更为深入,有更高阶、效果更好数值求解方法可以使用;其次ODE的没有引入随机性,初始值确定,采样生成的图片就是确定的,具备部分语义插值效应。
5 小结
本文相对系统介绍了SDE视角下的diffusion model,具体包括:
Itô
型SDE
的提出背景及布朗运动定义
- 用
Itô
型SDE
DDPM和SLMD进行统一
ㅤ | forward SDE | reverse SDE |
SMLD (VE SDE) | ||
DDPM (VP SDE) |
- 用predictor-corrector框架统一DDPM和SLMD的采样方法。
- 推导出score function将SMLD与DDPM的联系起来
- 通过
Fokker–Planck equation
推导ODE形式的反向过程。
如有疏漏、错误敬请指出。
参考文献
[1] 布朗运动100年
[2] 随机微分方程及其数值解
[3] It6K.On stochastic differentialequations[M].AmericanMathematicalSoc,1951
[4] Brian D O Anderson. Reverse-time diffusion equation models. Stochastic Process. Appl., 12(3): 313–326, May 1982
- 作者:莫叶何竹🍀
- 链接:http://www.myhz0606.com/article/sde_dm
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章