背景(几种生成模型):
GAN 模型因其对抗性训练性质而以潜在的不稳定训练和较少的生成多样性而闻名。
VAE 依赖于替代损失。GAN与VAE都是训练出一个模拟分布。
流模型必须使用专门的架构来构建可逆变换。
扩散模型:
扩散模型定义:
扩散模型的灵感来自于非平衡热力学。他们定义了一个扩散步骤的马尔可夫链,慢慢地向数据中添加随机噪声,然后学习反向扩散过程,从噪声中构建所需的数据样本。与VAE或流动模型不同,扩散模型的学习过程是固定的,潜在变量具有高维性(与原始数据相同)。
发展过程:
几种基于扩散的生成模型,其中包括扩散概率模型(Sohl-Dickstein et al., 2015)、噪声条件评分网络(NCSN;Yang & Ermon, 2019)和去噪扩散概率模型(DDPM; Hoet al.,2020)。
核心过程:
(加入的噪声符合正态分布,或者标准的高斯分布,加入的噪声是一个标签)
核心公式:
加噪步骤:
β是加入噪音的量,是越来越大的,加噪的过程要不断的越来越多,来保持相同的扩散比(一开始加一点噪音扩散比就很大)
xt时刻的图=xt-1时刻图+一个噪音z1(噪音服从高斯分布,越往后噪音对xt的影响会越大)
创新点:不用像RNN那些串联的迭代,x1->x2->x3->x4--->xt。扩散模型直接从x1--->xt,任何时刻的分布都可以从【第几个时刻+初始的分布x0】得到。例如x100的分布,只需要知道t=100与x0。
数*分布,相当于分布的方差改变;数+分布,相当于分布的均值改变;分布+分布,相当于分布的方差改变;
降噪步骤:(不能像加噪过程那样,直接x0-->xt; 需要从xt-->xt-1-->xt-2, 使用贝叶斯公式)
使用贝叶斯公式:
把高斯分布,转换为标准正态分布:
上式子分布进行化简,化成正规模式,以此算出o方差(与xt、x0相关)与均值μ(是个定值)
再进行高斯分布重采样
关于噪音:
已知前向传播+z1是多少====》则在反向传播时候,\hat{z1}可以通过与前向过程提供的标签z1算loss预测出来
终极流程图:
Training预测噪音项
2.首先在符合固定分布数据集采样出x0
3. t扩散次数是不固定的,随机的
4. 噪声严格服从标准正态分布(输入噪音e,来预测噪音eθ),其中eθ是一个模型,其能输出预测噪声
Sampling使用预测项
第二步:
4.高斯分布重采样