本文主要是介绍DDPM和DDIM,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
b站讲解
diffusion和gan在工厂刚亨落地中的优缺点
Diffusion Probabilistic Models (DDPM)和Diffusion Implicit Models (DDIM)。
-
DDIM是对DDPM的加速工作,实际上DDPM也可以通过训练的时候T step,预测的时候采样N step生成,但是没有DDIM相同step生成的质量更高。
-
DDIM通过对DDPM的损失函数观察, x t 0 x_t0 xt0可以直接推倒到 x t x_t xt,
-
损失函数只和 x t x_t xt有关系:实际上不止优化了第t步,前边所有得到 x t x_t xt的过程,包括加入的噪声,都被隐式的优化了;优化非马尔可夫过程的模型(非链式传导)
-
拿到预训练的DDPM之后可以选择其中一部分的时间节点进行反向过程,中间的(t-1)步实际上都被优化好了;因此训练的时候可以选<t 的子集中的时间步进行优化;
• DDIM模型自己定义了一个前向过程,推理过程中不是DDPM 的noise predict(预测t时刻的噪声),而是data predict(直接预测 x 0 x_0 x0),然后和 x t x_t xt一起得到 x t − 1 x_{t-1} xt−1
采样过程的区别:
- DDIM不是马尔可夫链,把所有时间步方差=0,高斯噪声的随机性被移除了,变成了确定性的结果,
- DDPM是马尔可夫链,方差每次是随机的,
DDIM在连续时间维度,可以看成一个常微分方程。类比song yang博士提出了基于随机微分方程的加噪、去噪框架。反向的随机微分方程有一个对应的常微分方程,它们之间共享同一个边缘分布,因此可以通过解ODE方程来解决问题,而DDIM对应于这个过程。
这篇关于DDPM和DDIM的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!