扩散模型初探:原理及应用

2022 年 11 月 1 日 PaperWeekly

©PaperWeekly 原创 · 作者 | 张燚钧

单位 | 中国移动云能力中心

研究方向 | 预训练大模型


最近,谷歌研究团队提出了 Imagic 模型,其具备基于文本对图像进行编辑的能力,效果堪比 PS。这种融合文本和图像的多模态模型在近几年发展迅猛,DALLE、DALLE-2、Imagen 等多模态模型层出不穷。

目前这些多模态模型生成图像的成像效果已经非常清晰、逼真。 一些游戏厂商已经尝试使用文本生成图像技术生成二次元图像,插画师这一职业甚至在未来会被 AI 部分取代。“扩散模型”(Diffusion model)为这些多模态模型中图像生成能力提供了主要贡献。 本文将从最传统的生成模型自动编码机开始,对扩散模型的原理进行梳理,并且参考几个多模态模型探索扩散模型和预训练大模型的融合方法。




扩散模型原理


自动编码机(Auto Encoder,AE)是早期较为简单的生成模型,通过一个编码器将输入 编码成隐变量 ,再通过一个解码器将 解码成重构样本 。一般来说,优化目标是最小化 之间的误差。通过这个自动编码的过程,可以得到一个输入样本 的特征 ,也就是隐变量。

通过神经网络可以学习到每个输入样本的特征,并根据此特征将输入还原出来。但是,这种固定特征,然后还原的实现方式导致 AE 容易过拟合。当模型遇到没有出现过的新样本时,有时得不到有意义的生成结果。

▲ 图1 自动编码机


变分自动编码机(Variational Auto Encoder,VAE)则是在 AE 的基础上,对隐变量 施加限制。使得 符合一个标准正态分布 [1] 。这样的好处是,当隐变量 是趋向于一个分布时,对隐变量进行采样,其生成的结果可以是类似于输入样本,但是不完全一样的数据。这样避免了 AE 容易过拟合的问题。VAE 通常用于数据生成,一个典型的应用场景就是通过修改隐变量,生成整体与原样本相似,但是局部特征不同的新人脸数据。

▲ 图2 变分自动编码机


具体来说,是通过变分推断这一数学方法将 后验概率设置为标准高斯分布,同时约束生成的样本尽量与输入样本相似。这样通过神经网络可以学习出解码器,也就是 。通过这样的约束训练之后,可以使得隐变量 符合标准高斯分布。当我们需要生成新的样本时,可以通过采样隐变量 让变分自动编码机生成多样同时可用的样本。

整个学习过程中,变分自动编码机都在进行“生成相似度”和“生成多样性”之间的一个 trade off。当隐变量 的高斯分布方差变小趋向为 0 时,模型接近 AE。此时模型的生成样本与输入样本相似度较高,但是模型的样本生成采样范围很小,生成新的可用样本的能力不足。

▲ 图3 对抗生成网络

对抗生成网络(GAN)与 VAE 和 AE 的“编码器-解码器”结构不同。GAN 没有 encoder 这一模块。GAN 直接通过生成网络(这里可以理解为 decoder)和一个判别网络(discriminator)的对抗博弈,使得生成网络具有较强的样本生成能力。GAN 可以从随机噪声生成样本,这里可以把随机噪声按照 VAE 中的隐变量理解。

▲ 图4 扩散模型


而新出现的扩散模型(Denoising Diffusion Probabilistic Model,DDPM),其实在整体原理上与 VAE 更加接近 [2,3] 是输入样本,比如是一张原始图片,通过 步前向过程(Forward process)采样变换,最后生成了噪声图像 ,这里可以理解为隐变量 。这个过程是通过马尔科夫链实现的。

在随机过程中,有这样一个定理。一个模型的状态转移如果符合马尔科夫链的状态转移矩阵时,当状态转移到一定次数时,模型状态最终收敛于一个平稳分布。这个过程也可以理解为溶质在溶液中溶解的过程,随着溶解过程的进行,溶质(噪声)最终会整体分布到溶液(样本)中。这个过程可以类比理解为 VAE 中的 encoder。而逆向过程(Reverse process)可以理解为 decoder。通过 步来还原到原始样本。


以上几种生成网络,都涉及了大量的数学推导过程。这里为了方便读者理解,只对模型整体结构功能进行解释。



应用:扩散模型与预训练模型结合

下面通过几个目前性能优秀的生成模型的例子,理解一下扩散模型与如何与其他预训练模型结合,实现模型优秀的生成能力的。

DALLE-1 模型:


▲ 图5 DALLE-1模型图


DALLE-1 [4] 模型结构如图所示,首先图像在第一阶段通过 dVAE(离散变分自动编码机)训练得到图像的 image tokens。文本 caption 通过文本编码器得到 text tokens。Text tokens 和 image tokens 会一起拼接起来用作 Transformer 的训练。这里 Transformer 的作用是将 text tokens 回归到 image tokens。当完成这样的训练之后,实现了从文本特征到图像特征的对应。


在生成阶段,caption 通过编码器得到 text tokens,然后通过 transformer 得到 image tokens,最后 image tokens 在通过第一阶段训练好的 image decoder 部分生成图像。因为图像是通过采样生成,这里还使用了 CLIP 模型对生成的图像进行排序,选择与文本特征相似度最高的图像作为最终的生成对象。


DALLE-2 模型:


▲ 图6 DALLE-2模型图


DALLE-2 [5] 模型结构如图 6 所示。其中的 text encoder 和 image encoder 就是用 CLIP 中的相应模块。在训练阶段通过训练 prior 模块,将 text tokens 和  image tokens 对应起来。同时训练 GLIDE 扩散模型,这一步的目的是使得训练后的 GLIDE 模型可以生成保持原始图像特征,而具体内容不同的图像,达到生成图像的多样性。


当生成图像时,模型整体类似在 CLIP 模型中增加了 prior 模块,实现了文本特征到图像特征的对应。然后通过替换 image decoder 为 GLIDE 模型,最终实现了文本到图像的生成。


Imagen:


▲ 图7 Imagen模型结构图


Imagen [6] 生成模型还没有公布代码和模型,从论文中的模型结构来看,似乎除了文本编码器之外,是由一个文本-图像扩散模型来实现图像生成和两个超分辨率扩散模型来提升图像质量。


Imagic:


▲ 图8 Imagic原理图


最新的 Imagic 模型 [7],号称可以实现通过文本对图像进行 PS 级别的修改内容生成。目前没有公布模型和代码。从原理图来看,似乎是通过在文本-图像扩散模型的基础上,通过对文本嵌入的改变和优化来实现生成内容的改变。如果把扩散模型替换成简单的 encoder 和 decoder,有点类似于在 VAE 模型上做不同人脸的生成。只不过是扩散模型的生成能力和特征空间要远超过 VAE。


Stable diffusion:


▲ 图9 Stable diffusion结构图


Stable diffusion [8] 是有 Stability AI 公司开发并且开源的一个生成模型。图 9 是它的结构图。其实理解了扩散模型之后,对 Stable diffusion 模型的理解就非常容易了。


朴素的 DDPM 扩散模型,每一步都在对图像作“加噪”、“去噪”操作。而在 Stable diffusion 模型中,可以理解为是对图像进行编码后的 image tokens 作加噪去噪。而在去噪(生成)的过程中,加入了文本特征信息用来引导图像生成(也就是图中的右边 Conditioning 部分)。这部分的功能也很好理解,跟过去在 VAE 中的条件 VAE 和 GAN 中的条件 GAN 原理是一样的,通过加入辅助信息,生成需要的图像。




总结


如果略去比较复杂的数学推导部分,我们可以发现其实扩散模型以及目前这些基于扩散模型的生成模型,其整体结构的原理并不复杂。扩散模型为我们提供了一个通过大规模训练具备的及其丰富的特征空间、由此获得强大生成能力的模型。


同样受益于近年来大规模预训练 NLP 模型如 BERT,多模态模型如 CLIP 等,研究人员可以在较为完备的图像特征空间中,将语义特征与图像特征对齐,从而实现多样、定制化的图像生成。未来,生成模型更加细粒度的定制化以及自然图像的精细生成仍是这个领域研究者们可以继续攀越的高峰。



参考文献

[1] 变分自编码器VAE:原来是这么一回事. https://zhuanlan.zhihu.com/p/34998569
[2] 如何通俗理解扩散模型?https://zhuanlan.zhihu.com/p/563543020.
[3] 生成扩散模型漫谈(一):DDPM = 拆楼 + 建楼https://zhuanlan.zhihu.com/p/535042237.
[4] RAMESH A, PAVLOV M, GOH G, et al. Zero-Shot Text-to-Image Generation[Z]. arXiv, 2021(2021–02–26). DOI:10.48550/arXiv.2102.12092.
[5] RAMESH A, DHARIWAL P, NICHOL A, et al. Hierarchical Text-Conditional Image Generation with CLIP Latents[J]. arXiv, 2022(2022–04–12). DOI:10.48550/arXiv.2204.06125.
[6] SAHARIA C, CHAN W, SAXENA S, et al. Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding[J]. arXiv, 2022(2022–05–23). DOI:10.48550/arXiv.2205.11487.
[7] KAWAR B, ZADA S, LANG O, et al. Imagic: Text-Based Real Image Editing with Diffusion Models[Z]. arXiv, 2022(2022–10–17). DOI:10.48550/arXiv.2210.09276.
[8] ROMBACH R, BLATTMANN A, LORENZ D, et al. High-Resolution Image Synthesis with Latent Diffusion Models[Z]. arXiv, 2022(2022–04–13). DOI:10.48550/arXiv.2112.10752.


更多阅读



#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧
·
·

登录查看更多
3

相关内容

力闻 | Chroma: 端到端可编程式的蛋白质设计扩散模型
专知会员服务
3+阅读 · 2022年12月19日
生成对抗网络,10页pdf
专知会员服务
31+阅读 · 2022年11月23日
【NeurIPS 2022】扩散模型的深度平衡方法
专知会员服务
39+阅读 · 2022年11月5日
视觉的有效扩散模型综述
专知会员服务
87+阅读 · 2022年10月20日
【NeurIPS 2021】基于潜在空间能量模型的可控和组分生成
专知会员服务
15+阅读 · 2021年10月23日
专知会员服务
94+阅读 · 2021年2月6日
浅谈扩散模型的有分类器引导和无分类器引导
PaperWeekly
3+阅读 · 2022年12月1日
生成扩散模型漫谈:统一扩散模型(应用篇)
PaperWeekly
0+阅读 · 2022年11月19日
生成扩散模型漫谈:统一扩散模型(理论篇)
PaperWeekly
1+阅读 · 2022年11月6日
生成扩散模型漫谈:一般框架之SDE篇
PaperWeekly
0+阅读 · 2022年8月14日
生成扩散模型漫谈:DDPM = 自回归式VAE
PaperWeekly
2+阅读 · 2022年7月10日
用扩散模型生成高保真度图像
TensorFlow
1+阅读 · 2021年8月17日
【论文笔记】ICLR 2018 Wasserstein自编码器
专知
26+阅读 · 2018年6月29日
探幽深度生成模型的两种方法:VAE和GAN
AI前线
15+阅读 · 2018年3月10日
基础|Word2vec的原理介绍
全球人工智能
10+阅读 · 2018年1月4日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
2+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2011年12月31日
Arxiv
1+阅读 · 2023年1月1日
Arxiv
0+阅读 · 2022年12月29日
Arxiv
44+阅读 · 2022年9月6日
Arxiv
14+阅读 · 2018年5月15日
VIP会员
相关资讯
浅谈扩散模型的有分类器引导和无分类器引导
PaperWeekly
3+阅读 · 2022年12月1日
生成扩散模型漫谈:统一扩散模型(应用篇)
PaperWeekly
0+阅读 · 2022年11月19日
生成扩散模型漫谈:统一扩散模型(理论篇)
PaperWeekly
1+阅读 · 2022年11月6日
生成扩散模型漫谈:一般框架之SDE篇
PaperWeekly
0+阅读 · 2022年8月14日
生成扩散模型漫谈:DDPM = 自回归式VAE
PaperWeekly
2+阅读 · 2022年7月10日
用扩散模型生成高保真度图像
TensorFlow
1+阅读 · 2021年8月17日
【论文笔记】ICLR 2018 Wasserstein自编码器
专知
26+阅读 · 2018年6月29日
探幽深度生成模型的两种方法:VAE和GAN
AI前线
15+阅读 · 2018年3月10日
基础|Word2vec的原理介绍
全球人工智能
10+阅读 · 2018年1月4日
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
2+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2011年12月31日
Top
微信扫码咨询专知VIP会员