扩散模型就是自动编码器!DeepMind研究学者提出新观点并论证

部署运行你感兴趣的模型镜像
明敏 发自 凹非寺
量子位 | 公众号 QbitAI

由于在图像生成效果上可以与GAN媲美,扩散模型最近成为了AI界关注的焦点。

谷歌、OpenAI过去一年都提出了自家的扩散模型,效果也都非常惊艳。

0d0180543042f4395d822b76483ee4b3.gif

另一边,剑桥大学的学者David Krueger提出,自动编码器会不会卷土重来成为研究热潮。

a48dca119763ee14ae9be9ad6c726cb9.png

就在最近,DeepMind的一位研究科学家Sander Dieleman基于以上两股热潮,提出了自己的观点:

扩散模型就是自动编码器啊!

c63b425ced835c866c3a0de524933148.png

这一观点立刻引起了不少网友的注意,大家看了Sander的阐述,都觉得说得很有道理,并且给了自己不少启发。

ff446a226427f130bd896adc69864cb5.png

那么,他到底是如何论证自己这一观点的呢?

我们一起来看。

去噪自动编码器=扩散模型

想要看透这二者之间的联系,首先要看看它们自身的特点。

扩散模型是一种新的图像生成方法,其名字中的“扩散”本质上是一个迭代过程。

它最早于2015提出,是定义了一个马尔可夫链,用于在扩散步骤中缓慢地向数据添加随机噪声,然后通过学习逆转扩散过程从噪声中构建所需的数据样本。

相比GAN、VAE和基于流的生成模型,扩散模型在性能上有不错的权衡,最近已被证明在图像生成方面有很大的潜力,尤其是与引导结合来兼得保真度和多样性。

bac5918290879b1717c6a75e97b11c50.png

比如去年谷歌提出的级联(Cacade)扩散模型SR3,就是以低分辨率图像为输入,从纯噪声中构建出对应的高分辨率图像。

OpenAI的GLIDE、ADM-G也是用上了扩散模型,以此能生成更加更真实、多样、复杂的图像。

65ec568ccff426d41fc7ef6404308d58.png
GLIDE模型效果

接下来,再来看自动编码器的原理。

自动编码器可以理解为一个试图去还原原始输入的系统,模型如下所示:

40ea70f01305924c4b69d75539da1d84.png

它的主要目的是将输入转换为中间变量,然后再将中间变量转化为输出,最后对比输入和输出,使它们二者之间无限接近。

当模型框架中存在瓶颈层或者输入被损坏时,自动编码器能够学习输入本质特征的特性,就可以大显身手了。

在这里,作者主要拿来和扩散模型对比的,便是去噪自动编码器

它可以将损坏数据作为输入,通过训练来预测未损坏的原始数据作为输出。

看到这里是不是有点眼熟了?

向输入中加入噪声,不就是一种破坏输入的方法吗?

那么,去噪自动编码器和扩散模型,原理上不就是有着异曲同工之妙吗?

cef287f82382f4f4643f9f0745247a44.png

二者是如何等价的?

为了验证自己的这一想法,作者从原理方面对扩散模型进行了拆解。

扩散模型的关键,在于一个分数函数 (score function)4c7e7acc7ccc24483f1196b397370c29.png

需要注意的是,这和08756631bd42c973512fc3196c4c878e.png不同。(求梯度的参数不同)

通过后者,我们可以知道如何改变模型参数来增加向下输入的可能性,而前者能够让我们知道如何改变输入本身来增加可能性。

在训练过程中,希望在去噪中的每一点都使用相同的网络。

为了实现这个,需要引入一个额外的输入fc94eee427986b2149ccdc3f5fb0f3f6.png,由此可以看到在去噪中进行到了哪一部分a006a3521ef415f9f83207cec4de8852.png

当t=0时,对应无噪声数据;t=1时,对应纯噪声数据。

训练这个网络的方法,就是用添加噪声086cae36a60c59dbf0620d5eeec29e76.png来破坏输入x。然后从203adb9a40a14843a4a65eb1d3f7945e.png中预测72d48b5888ebbf4990c40889a2c37a36.png

需要注意的是,在这里方差大小取决于t,因为它可以对应特定点的噪声水平。损失函数通常使用均方误差(MSE),有时会用 λ(t)进行加权,因此某些噪声水平会优先于其他噪声水平:

08aea2e6c02fa4729ac3e7eee0ccf3f9.png

假设λ(t)=1时,一个关键的观测值为a6947a61ae4ab76e7979863fc69b5d62.png或 x(它们二者是等价的),在这里可以用公式:

d59426d0cddf087d444ae2752333a0a7.png

为了确保它们是等价的,可以考虑使用训练模型cf942396110a390454d2040cd8e88d92.png来预测a750692f06b1a4d57ee94c909f31e8cb.png,并加上一个新的残差连接。从输入到输出的比例系数均为-1,这个调整后的模型则实现了:

69fdeba09d5a4fc4f3204fb8a437e677.png

由此,一个扩散模型便逐渐变成一个去噪自动编码器了!

One More Thing

不过博客的作者也强调,虽然扩散模型和去噪自动编码器的效果等价,但是二者之间不可完全互换

并且以上得到的这个去噪自动编码器,和传统类型也有不同:

  • 第一,附加输入t可以使单个模型用一组共用参数来处理噪声级别不同的情况;

  • 第二,因为更加关注模型的输出,所以内部没有瓶颈层,这可能会导致“弊大于利”的结果。

而作者更想强调的是这二者之间存在的联系。

此外他还表示,模型效果好的关键应该在于共用参数,这种方法已经被广泛应用在表示学习上。

从这些成果中也能发现一个规律:

  • 噪声含量越高的模型,往往更容易学习到图像的特征;

  • 噪声含量越低的模型,则会更专注于细节。

a94abe9bfb1687a19e9b1fcb00b829b7.png

作者认为以上规律值得进一步研究:

这意味着随着噪声水平逐步降低,扩散模型能够补充图像细节也就越来越多。

最后,我们再来介绍一下这一发现的提出者——Sander Dieleman。

他现在是DeepMind的一位研究科学家,主要研究领域为生成模型和音乐合成。

参与的主要研究工作有Spotify音乐平台的内容推荐模型。

参考链接:
[1]https://benanne.github.io/2022/01/31/diffusion.html
[2]https://twitter.com/sedielem

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值