前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Diffusion扩散模型介绍

Diffusion扩散模型介绍

作者头像
算法之名
发布2023-03-01 14:09:32
5760
发布2023-03-01 14:09:32
举报
文章被收录于专栏:算法之名

在之前的GAN的时候,有一个非常大的问题,那就是GAN生成的图像缺乏多样性,它是以生成器生成的图像能骗过判别器为目标的,而不是以生成丰富的图像为目标的。有关GAN的理论部分可以参考Tensorflow深度学习算法整理(三) 中的对抗神经网络。

而在Diffusion扩散模型中却并非如此,它没有一个所谓的判别器,而是有两个过程,一个是前向过程,一个是逆向过程。前向过程是将图像不断的加噪音,最后变成一个人看上去就是一个纯噪音的图像。而逆向过程则是将纯噪音图像不断还原成真实图像的过程,但是这个还原可能是对很多训练过的图像进行的还原,所以它并不是以还原出一副图像为目的的过程。

我们先看第一步,前向过程:

上图中的每一时刻都要添加高斯噪声,后一时刻都是由前一刻增加噪声得到。

第一个重要公式

β要越来越大,论文中0.0001到0.002,从而α也就要越来越小。这个可以使用一个衰减函数在代码中完成。

上式表示(x_t)时刻的图像和(x_{t-1})时刻图像的关系。(\sqrt {α_t})和(\sqrt {1-α_t})都是权重,(z_1)是满足高斯分布的噪声。越往后,(α_t)越小,噪声所占的比例越来越大;而越靠前,加一点点噪声就有效果,而越往后得加噪越多才有效果。

现在我们知道后一时刻分布是由前一时刻加噪得到,但是整个序列的步骤非常多,如果一步步计算则会非常慢,这里使用的是一步计算得到的,也就是(x_t)时刻是由(x_0)时刻通过一个公式直接算出来的。

(\sqrt {\prod_{i=0}^tα_i}x_0+\sqrt {1-\prod_{i=0}^tα_i}z)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档