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$类似位置编码,告诉模型现在的时间步