理论
扩散模型概述
DDPM Nips2020去噪工作
- 步骤
扩散和重建两个过程
- training phase
训练集合中获取真实数据集,使用扩散模型得到很多噪声图,使用噪声图进行重建得到高清图片;
- test phase
使用高斯分布采样噪声图,将噪声图采样得到真实人脸(生成结果)
优势
相比GAN容易崩塌,扩散模型相对更加稳定。
扩散模型更加具有指向性,具有比较好的针对性!
扩散阶段
将真实图片输入,使用扩散方式加入噪声,通过不断迭代多次,最终得到噪声图片;
如何扩散第一步
一个DDPM由两个参数化马尔可夫链组成,并使用变分推断以在有限时间后生成与原始数据分布一致的样本。前向链的作用是扰动数据,它根据预先设计的噪声进度向数据逐渐加入高斯噪声,直到数据的分布趋于先验分布,即标准高斯分布。反向链从给定的先验开始并使用参数化的高斯转换核,学习逐步恢复原数据分布。用表示原始数据及其分布,则前向链的分布是可由下式表达:
- 如何能够一次计算将x0到xt的过程
扩散的过程可以理解为:
- 将输入真实图片,通过不断进行扩散,最终得到符合正态分布的噪声图
- 扩散过程中的一步,通过推导可知,其本质是将上一步的值和两个系数相乘并与乘以系数的采样值相加;
- 进一步推导可知,对于任意一个时间的输出,可以根据初始输入和采样噪声值与系数相乘之和得到;
重建阶段
重建过程在实际应用中的过程如上图所示。
其中,选择真实数据集中4张图,通过随机确定采样次数,利用扩散方式得到对应噪声图;
使用UNet学习噪声图和真实图的关系并得到能有效去噪的UNet网络;
但如果一步到位学习对应去噪网络,往往效果很有限,使用逐步反向推导的方式得到最终真实图像会有更好的结果,结构如下:
总结
-
扩散过程
-
重建过程