扩散模型
一般框架SDE
扩散模型的前向过程是由随机微分方程(SDE)描述的线性扩散
其中,、为输入数据的维度,、分别为漂移系数和扩散系数,为标准的为维纳过程
目前对SDE的研究较为成熟,前向过程对应的反向过程可由式所示的SDE函数族表示:
其中,,当时,即为式对应的SDE反向过程
而当时,反向过程中的方差为0,SDE退化为概率流ODE。
在实际应用中,通过对网络训练得到的近似值,借助离散化的方式对式实现数值求解,完成扩散模型的反向过程
拟合误差
概率流ODE
概率流ODE为确定性的微分方程,
Euler解法
指数积分(EI)解法
DDIM
在DDIM中,作者提出,分解为马尔可夫过程不是必须的,只要保证和与DDPM是相同的就可以得到DDPM的等价模型。文中,作者将的分布定义为:
其中,
为可调节的参数,使用网络估计得到的替换得到
DPM-Solver
半线性公式
DPM-Solver提出,ODE方程是一个半线性的方程,线性项是可以准确的计算的,之前的采样算法忽略了这一点,从而导致对ODE方程的数值解法会产生较大的拟合误差,算法的加速性能不好。因此,在DPM-Solver中,作者将线性项与非线性项分开,对非线性项采用数值解法,从而减少了拟合误差。
引入参数将表示为的函数:
对式进行参数替换,同时代入VP-SDE前向过程对应的参数,得到:
考虑到为前向过程中信噪比的一半,是严格单调递减的,因此存在一个函数使得,因此,对式进行变量替代后,得到:
式给出了ODE解法的新视角——只需要对指数积分项进行估计,从而避免了估计线性项带来的误差。
数值估计
在对非线性项的估计中,DPM-Solver对进行泰勒展开(式)得到式:
其中,表示的阶导数。可以发现,对于任意的泰勒展开阶数,都是可以准确计算出结果的,因此,只要估计的导数,即可实现对非线性部分的估计,而对于其导数的估计已经在现有的文章中有较好的研究。
考虑到比较大时需要引入过多的中间点来进行导数的估计,因此作者只使用了,三种不同阶数的DPM-Solver。
与DDIM联系
DDIM是较早提出的确定性采样算法,但是一直没有较好的理论将其与ODE联系起来,将带入到一阶DPM-Solver(式)中可以得到DDIM对应的微分表达式(待引用DDIM)
因此,DDIM可以看作是DPM-Solver的一种特殊情况,由于充分利用了半线性的特点,因此DDIM相比于传统的Euler数值解法,具有更好的性能。
DEIS
Diffusion Exponential Integrator Sampler (DEIS)同样利用了ODE方程的半线性的性质,该方法与DPM-Solver最本质的区别在于对非线性项的估计中使用端点处的代替积分区间内的,同时构建阶项式减少估计的估计误差:
因此,DEIS的采样过程为:
其中,
同时,DEIS还提出利用进行参数替换,消除ODE方程的非线性,从而使现有成熟的ODE数值解法具有更好的表现。
拟合误差
模型训练
方差估计
Analytic-DPM
SN-DPM
NPR-DPM
乔列斯基(Cholesky)分解
##
Latent Diffusion Model(LDM)
LDM在原本的DDPM的基础上使用预训练的VAE将输入压缩到潜空间,模型被训练用来生成图像在潜空间的表示。
VAE编码
潜空间训练
Blurring Diffusion Model(BDM)
BDM利用DCT将模型定义在了频率空间,对图像在频率空间的表征进行扩散模型的训练,令,,其中表示DCT变换矩阵,则前向过程重构为式所示:
同时,由于对噪声的估计在标准的像素空间表现更好,因此在使用网络去噪时,使用逆变换将频率空间内的图像表示转换到像素空间输入网络进行噪声预测,如式所示:
其中,,表示DCT逆变化,在频率空间的采样过程与原DDPM保持相同。