DDPM根据xt-1求xt---->p(xt|xt-1),意味着是求相邻两步之间的关系,这样太慢了。DDIM去掉p(xt|xt-1)这个条件,因此可是实现跳步采样,即p(xs|sk, x0),这样就实现了加速采样。
以下所有公式满足s< k。DDIM的一般采样公式为:
可以理解为,DDMP去掉约束p(xt|xt-1)就可以推出DDIM,而DDIM加一个约束p(xt|xt-1)就可以推出DDPM。
DDIM的推导流程如下:
给定p(xt|x0)和p(xt-1|x0),不能用p(xt|xt-1),要推导q(xt-1|xt,x0)。
DDIM去马尔科夫化,当前状态不再只依赖于前一状态,可以跳采样,采样速度快,但是缺点是生成过程是确定性的,导致多样性略差。
DDIM不是网络上的创新,而是采样方式的创新,它与DDPM的训练目标和训练方式都是一样的。
采样分布概率密度函数为
公式右边只有p(xk|xs, x0)是未知的,
首先假设p(xs|xk, x0)为正态分布,且xs是是xk和x0的线性函数:则该正态分布可以为:
即
由于 ,因此代入上式得:
由于 ,因此可得出
从而计算出未知数m和k
由于 ,因此将m和k代入得
这就是DDIM的反向过程的分布,有了该概率分布,就可以采样了