扩散原理详解与实战
Swift Lv6

学习一下扩散模型的数学原理。

前向扩散

其中,$\alpha_t = 1-\beta_t$

  • 前向扩散过程没有可训练参数,$\beta_t$ 是人工设置的超参
  • $x_0$ 可以直接推导得到 $x_T$,而无须一步步迭代

逆向扩散

  • 逆向扩散过程一步步去噪,需要训练参数
  • $x_T$ 不能一步推导到 $x_0$,需要一步步迭代

损失函数

最终化简得到的损失函数为:

确实非常简洁。。。

模型训练与推理

model

FAQ

  1. 为什么建模目标不是直接预测原始输入 $x_0$ ?

这个得看看原论文了。其实逆向扩散过程中模型预测的是噪音残差,跟ResNet思想一致。

  1. 前向可以 $x_0$ 可以直接推导得到 $x_T$,为什么后向不能$x_T$ 可以直接推导得到 $x_0$?

其实是可以的,但一步到位直接预测 $x_0$,但生成的图片效果较差。还是需要马尔科夫过程一步步生成高质量的图片。


参考

Powered by Hexo & Theme Keep
Unique Visitor Page View