数学原理提供了对扩散模型透彻的理解,并将其与其他生成模型技术联系起来。这些原理涵盖了DDPM和DDIM的离散时间公式。这种关联,特别是通过分数匹配和微分方程,说明了这些模型运作的原因,并使得更先进的技术成为可能,包括定制噪声调度和精密采样器。
分数匹配:引导逆向过程
扩散模型的核心在于逆转一个逐渐向数据添加噪声的过程。这种逆转所需的主要元素是,在任何噪声水平t下,知道向哪个方向迈步才能使数据xt的噪声略微减少,使其更接近原始数据分布。这个方向在数学上由带噪数据的对数概率密度的梯度捕捉,这被称为分数函数:
∇xtlogq(xt)
分数函数指向时间t时带噪数据分布q(xt)中数据密度更高的区域。如果我们可以获得所有t的分数函数,就可以用它来引导一个逆向过程,从纯噪声开始并逐渐去除它,以生成逼真数据。
分数匹配是训练一个模型(我们称之为sθ(xt,t))以逼近这个真实分数函数的一个原理。目标是最小化模型输出与真实分数之间的差异:
EtExt∼q(xt)[∣∣sθ(xt,t)−∇xtlogq(xt)∣∣22]
尽管直接计算真实分数∇xtlogq(xt)通常难以处理,但像去噪分数匹配这样的技术表明,这个目标等价于训练一个模型来对样本进行去噪。
具体而言,对于扩散模型中常用的高斯噪声扰动,可以表明,DDPM中使用的去噪目标(其中模型ϵθ(xt,t)被训练来预测从x0得到xt所添加的噪声ϵ)正在隐式地学习分数函数。这种关系非常简单:
sθ(xt,t)≈∇xtlogq(xt)≈−σtϵθ(xt,t)
此处,σt表示时间t时噪声的标准差。这种根本关联表明,DDPM中的神经网络 (neural network),尽管被描述为预测噪声,实际上是在学习噪声扰动数据分布的分数。这种视角为模型的架构和目标函数提供了坚实的理论支撑。
连续时间视角:随机微分方程 (SDEs)
DDPM前向过程q(xt∣xt−1)的离散步骤可以看作是由随机微分方程(SDE)描述的连续时间过程的近似。SDE描述了一个变量在确定性力(漂移)和随机波动(扩散)的双重影响下,如何在连续时间内演化。
对应许多DDPM变体的一种常见SDE公式是方差保持(VP)SDE:
dx=f(x,t)dt+g(t)dw
如下:
- dx 是数据x在无穷小时间步dt内的无穷小变化。
- f(x,t) 是漂移系数,决定变化的确定性部分。对于通常与DDPM关联的VP-SDE,这通常是f(x,t)=−21β(t)x,将数据推向原点。
- g(t) 是扩散系数,缩放所添加随机噪声的幅度。对于VP-SDE, g(t)=β(t),其中β(t)是连续时间噪声调度。
- dw 表示标准维纳过程(布朗运动)的无穷小步骤,提供随机性。
这个SDE描述了一个连续的加噪过程,其中数据逐渐漂移向零均值,同时累积高斯噪声,其速率由β(t)控制。DDPM的离散前向过程q(xt∣x0)可以通过从t=0到t=T求解此SDE来获得。
使用ODE逆转时间:概率流
SDE视角的真正价值在于考虑逆向过程时显现。SDE理论中有一个已知的结果(归因于Anderson,1982),即前向SDE有一个对应的逆时间SDE,它将噪声映射回数据。这个逆向SDE也有漂移项和扩散项,并且其漂移项直接依赖于前向SDE生成的边缘分布qt(x)的分数函数∇xtlogqt(xt)。
VP-SDE的逆向SDE示例如下:
dx=[f(x,t)−g(t)2∇xtlogqt(xt)]dt+g(t)dw
此处,dw是一个逆时间维纳过程,我们将时间从T反向积分到0。这个SDE告诉我们如何使用分数随机去除噪声。
此外,Song et al. (NeurIPS 2020) 表明,与任何由SDE定义的扩散过程相关联,都存在一个由常微分方程(ODE)描述的确定性过程,其轨迹在时间上共享相同的边缘密度qt(x)。这通常被称为概率流ODE。对于VP-SDE,这个ODE是:
dx=[f(x,t)−21g(t)2∇xtlogqt(xt)]dt
注意缺少随机项dw。这个ODE提供了一条从噪声到数据的确定性路径。
连接ODE、分数模型和采样
这个ODE极为重要:
-
确定性生成: 如果我们从噪声分布qT(x)(通常是标准高斯分布)中选择一个样本xT,并从t=T到t=0反向求解这个ODE,则得到的x0是数据分布中的一个样本。
-
需要分数: 这个ODE需要分数函数∇xtlogqt(xt)。
-
实际实施: 我们不知道真实分数,但我们已经训练了一个模型sθ(xt,t)(或等价地,ϵθ(xt,t))来逼近它!通过将我们学习到的分数模型sθ代入ODE,我们获得了一种生成样本的实用方法:
dx≈[f(x,t)−21g(t)2sθ(xt,t)]dt
代入f(x,t)=−21β(t)x、g(t)2=β(t)以及sθ(xt,t)≈−ϵθ(xt,t)/σt(其中σt2是时间t的方差),就将其直接关联回扩散模型采样中执行的操作。
-
高级采样器的支撑: DDIM采样可以被解释为求解此概率流ODE的一种特定数值方法(具体来说,是一阶离散化)。这说明了其确定性以及比DDPM使用更大步长的能力。此外,这种ODE公式使我们能够应用更精密的数值ODE求解器(如Runge-Kutta方法、DPM-Solver、UniPC等),从而可能以更少的函数评估(即更少的模型推理 (inference)步骤)获得更高的精度,从而实现更快的采样,我们将在第6章中讨论。
图示了前向SDE、分数函数、学习到的分数模型、逆向SDE和用于采样的概率流ODE之间的关系。
这种视角,通过分数匹配将离散扩散步骤与底层的连续时间SDE和ODE关联起来,是理解许多高级技术的根基。它阐明了噪声调度的作用(与β(t)或g(t)相关),并激励人们寻找更好的ODE求解器以实现更快、更准确的采样。当我们继续讨论定制噪声调度和学习到的方差时,请牢记这个SDE/ODE框架,将其视为离散实现旨在有效逼近的连续时间理想模型。