扩散原理详解与实战
学习一下扩散模型的数学原理。
前向扩散
其中,$\alpha_t = 1-\beta_t$
- 前向扩散过程没有可训练参数,$\beta_t$ 是人工设置的超参
- $x_0$ 可以直接推导得到 $x_T$,而无须一步步迭代
逆向扩散
- 逆向扩散过程一步步去噪,需要训练参数
- $x_T$ 不能一步推导到 $x_0$,需要一步步迭代
损失函数
最终化简得到的损失函数为:
确实非常简洁。。。
- 具体的推导可见:对数似然下界推导
模型训练与推理
FAQ
- 为什么建模目标不是直接预测原始输入 $x_0$ ?
这个得看看原论文了。其实逆向扩散过程中模型预测的是噪音残差,跟ResNet思想一致。
- 前向可以 $x_0$ 可以直接推导得到 $x_T$,为什么后向不能$x_T$ 可以直接推导得到 $x_0$?
其实是可以的,但一步到位直接预测 $x_0$,但生成的图片效果较差。还是需要马尔科夫过程一步步生成高质量的图片。