跳转至

DDIM <- DDPM

本来想偷懒的,但是被拷打了,因此重新学一遍!其实发现也没那么难!

本质

DDIM不再遵循马尔科夫性质,且将方差设置为0,牺牲了部分模型的多样性,提升了速度和生成质量!

DDPM的马尔科夫性质

当一个随机过程在给定现在状态及所有过去状态情况下,其未来状态的条件概率分布仅依赖于当前状态,这个性质被称为马尔科夫性质,定义如下:

An image caption

在DDPM的前向过程中,从x_0到x_t的推导依赖于马尔科夫性质。这里不做过多解释。

在DDPM的反向过程中,其马尔科夫性质体现如下:

An image caption

其中的q怎么求出来的呢,实际上简化了 q(x_t | x_t-1, x_0) 为 q(x_t | x_t-1) 【第一行】,因为由马尔科夫性质,可以知道x_t只与x_t-1有关,而与x_0无关。

DDIM去马尔科夫性

现在我们不能简化 q(x_t | x_t-1, x_0) 为 q(x_t | x_t-1),那么上面的反向过程如何求解呢?即如何通过非马儿可夫性质求解 q(x_t-1 | x_t, x_0)?如果可以实现这个,那么我们就可以从任意k步到s步了!

方法一:待定系数法

我们将任意的k步还原到s步假设为 q(x_s | x_k, x_0) ,然后待定系数法求解。具体如下:

An image caption

令蓝色的框等于绿色的框,那么我们可以得到:

An image caption

将系数m和系数k带入到公式,那么均值和方差就如下所示:

An image caption

方法二:配凑法

An image caption

其中有两个关键步骤,分别是第二行【噪声分解】和第三行【x0的估计】:

An image caption

噪声的分解基于高斯分布的线性性质,为了保证方差一致参数就有所修改!

An image caption

关于噪声的讨论

最初的DDPM的方差如下所示:

An image caption

DDIM在前面加了一个系数进行探究实验:

An image caption

结果表明,方差为零时,图片质量最好!