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

理论

基础和综述

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

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

扩散模型概述

DDPM Nips2020去噪工作

  • 步骤

扩散和重建两个过程

  • training phase

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

  • test phase

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tCl7UCUp-1667301581205)(images/oYyqT8EXZOXsNvszL445X0uZMtDJu3hi3EketoNaZxg.png)]

优势

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

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

扩散阶段

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

如何扩散第一步

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GDOCHJlv-1667301581206)(images/foJ0aHdpLkcNVrHYiHkSu9j3PXme8hv7rfCDNAl-gNo.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d1Y6vZWD-1667301581207)(images/uNmni0PpF39-WJWmPGOvBk1oloNTbPB6YSLcxjM6VEM.png)]

扩散的过程可以理解为:

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

重建阶段

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9tkjfTgB-1667301581207)(images/3KfSOf4xf6p13iUlYf4W_BEYnADhoKXrVSIG5gk7g_c.png)]

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

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

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XEBPczWw-1667301581208)(images/teO1Zhz-aViHS7wlFG3KjX8zyepE8s-m1gM4lJZn2JM.png)]

总结

  • 扩散过程

  • 重建过程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XzMUeMhk-1667301581208)(images/-iL-yGGhy35Fd_nmSdptftdSaPZZBH_fI6jpi2OkDrY.png)]

代码

各类方向代码

基础应用-生成cifar10和mnist

扩张模型-超分

应用

  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值