Diffusion Model 扩散模型

模型原理

  • 每一时刻在输入数据中添加具有相同规律分布的噪声(如高斯分布)

  • 噪声的含义:标签

  • 公式推导

  • $x_{t} = \sqrt{a_{t}}x_{t-1} + \sqrt{1-\alpha}z_{1}$ 衡量$t$时刻的数据与$t-1$时刻或者噪音的相关程度/权重,即随着$t$越来越大,噪音对数据的影响变大
  • 前向过程需要串行依次计算$x_{0}$至$x_{t}$,计算效率低,直接计算$x_{t}$

  • 扩散模型只需要告诉初始分布以及扩散到多少步

逆向过程

  • 由$x_{t}$时刻求出$x_{0}$时刻,贝叶斯公式

  • 最终结果,均值$\mu$只与$x_{t}$有关

  • 噪声分布$z$通过模型训练得到近似解,前向过程中添加的噪音已知(噪声标签),反向过程预测$z_{t}$

  • 针对batch中的每一个数据,扩散轮次$t$并不是固定的

  • 为代码中$t$类似位置编码,告诉模型现在的时间步