DDPM对应了diffusion SDE的maximum likelihood SDE solver,并且最优方差由Analytic-DPM来解析地给出。 maximum likelihood SDE solver: 某种一阶近似,而一阶近似其实存在无数种
从(1)中可以看出,DDIM 并没有显式定义前向过程,而是在保证 与 DDPM 中一样的情况下,定义了逆向过程 (事实上,这个值在 DDPM 的推导中也要用到,作为逆向过程的 baseline)。在这个框架下,DDIM 和 DDPM 分别是 取 0 和 的特例。
因为其中有条件项 ,所以上面的都还只是前向过程,该过程的逆向过程(也就是只给定 的生成过程)一般定义为马尔可夫过程:
其中,令 具有和 相同的形式,只需要通过 score function 首先预测出 。
而对于逆向过程的 ,DDIM 取 ,而 DDPM 取 。都是人为设计的。
作者证明了这个优化目标的解析解:
均值和原来的一样(也就是沿用 是对的),但方差却有着不同的形式。
这些其实都是定死的, 可以通过模型训练结果 来估计,所以需要解决的只有 。用一个 Monte Carlo 采样近似一下即可:
写成表达式就长这样:
实验证明,M 取 10、100 也能获得不错的效果。
方差的估计值和最优值的 bias (?)如上。注意到 approximation error 其实是固定的,而较短的去躁路径会导致系数项很大。为此,作者推导出了最优方差理论解的上下界,来对估计值进行裁切(上下界可以较为准确地计算,这样在实际计算方差时,可以直接算上下界),详见原论文。
对于 DDIM 中 ,共 个时间步的跳步,其均值、方差的最优解解析式如下:
相较于之前的算法,这里对于固定的 可以写出解析解,那么我们就可以进一步求解最优的 :
其中, ,注意以下几点:
- c 是一个和路径选择无关的常量
- 可以通过MC来估计,从而使得 可计算
因此,这个问题就是一个计算 的最短路径的 DP 问题。
基本是跟着这篇文章读论文的,这里就不复述了。Take away message:将原本的微分方程,在一系列近似的基础上写成确定解的形式,从而摆脱了步长对误差的影响。如图中蓝线所示,步长会放大 的误差,而改用 DPM-Solver 之后,误差可以看作是确定解基础上的偏移,与步长无关。
Figure 1: 12.24 组会总结的 DPM-Solver 的重点