扩散模型——下一个图像生成热点,快上车!!!

文章目录

  • 理论
    • 扩散模型概述
      • 优势
    • 扩散阶段
      • 如何扩散第一步
    • 重建阶段
    • 总结
  • 代码
  • 应用

理论

基础和综述

细节讲解-什么是扩散模型

B站详细讲解-从零开始了解扩散模型

扩散模型概述

DDPM Nips2020去噪工作

  • 步骤

扩散和重建两个过程

  • training phase

训练集合中获取真实数据集,使用扩散模型得到很多噪声图,使用噪声图进行重建得到高清图片;

  • test phase

使用高斯分布采样噪声图,将噪声图采样得到真实人脸(生成结果)

扩散模型——下一个图像生成热点,快上车!!!_第1张图片

优势

相比GAN容易崩塌,扩散模型相对更加稳定

扩散模型更加具有指向性,具有比较好的针对性

扩散阶段

将真实图片输入,使用扩散方式加入噪声,通过不断迭代多次,最终得到噪声图片;

如何扩散第一步

一个DDPM由两个参数化马尔可夫链组成,并使用变分推断以在有限时间后生成与原始数据分布一致的样本。前向链的作用是扰动数据,它根据预先设计的噪声进度向数据逐渐加入高斯噪声,直到数据的分布趋于先验分布,即标准高斯分布。反向链从给定的先验开始并使用参数化的高斯转换核,学习逐步恢复原数据分布。用表示原始数据及其分布,则前向链的分布是可由下式表达:

扩散模型——下一个图像生成热点,快上车!!!_第2张图片

  • 如何能够一次计算将x0到xt的过程

扩散模型——下一个图像生成热点,快上车!!!_第3张图片

扩散的过程可以理解为:

  1. 将输入真实图片,通过不断进行扩散,最终得到符合正态分布的噪声图
  2. 扩散过程中的一步,通过推导可知,其本质是将上一步的值和两个系数相乘并与乘以系数的采样值相加;
  3. 进一步推导可知,对于任意一个时间的输出,可以根据初始输入和采样噪声值与系数相乘之和得到;

重建阶段

扩散模型——下一个图像生成热点,快上车!!!_第4张图片

重建过程在实际应用中的过程如上图所示。

其中,选择真实数据集中4张图,通过随机确定采样次数,利用扩散方式得到对应噪声图;

使用UNet学习噪声图和真实图的关系并得到能有效去噪的UNet网络;

但如果一步到位学习对应去噪网络,往往效果很有限,使用逐步反向推导的方式得到最终真实图像会有更好的结果,结构如下:

扩散模型——下一个图像生成热点,快上车!!!_第5张图片

总结

  • 扩散过程

  • 重建过程

扩散模型——下一个图像生成热点,快上车!!!_第6张图片

代码

各类方向代码

基础应用-生成cifar10和mnist

扩张模型-超分

应用

  • High-Resolution Image Synthesis with Latent Diffusion Models 【pdf】 [code] 【论文解析】【B站讲解】

你可能感兴趣的:(pytorch,#,经验和思路,图像增强,扩散模型,深度学习)