DALLE2,就是输入一个文本,通过CLIP把文本转换为文本特征,然后再通过文本特征生成对应的图像特征。(prior部分)
接下来将图像特征输入扩散模型里,生成一个图片。(decoder部分)
它能实现用语言更改图片内容(比如“把椅子上的玩具消除”),就是因为通过文本的改变,文本特征也会改变,从而最终影响到生成的图片也会改变。
其实也可以注意到,如果采用最暴力的方法,直接从文本到最终图像进行映射,也是可以实现的。为什么作者非要搞个二阶段,非要去生成中间这个图像特征呢?
因为作者试过,这样的话能够保证生成图片更具有多样性。
生成模型的发展:
GAN: 左右互搏。
**优点: **非常逼真,而且发展到现在,有时候不需要很多的数据就能生成很好的效果了。
**缺点: **由于是同时训练两个模型,训练难度大,很容易就训练坍塌了。
而且GAN虽然逼真,但是它最后生成的图往往很相似,缺少多样性。
最后,GAN训练完之后,中间部分就像一个黑箱,你也不知道它遵循了什么分布。这一点就远不如后续AE系列、扩散模型等这些在数学上能解释的模型优雅。
**AE: Auto-Encoder。**它就是输入一张图片,然后通过encoder转换成特征,再通过decoder把特征还原回图片。由于是自己编码自己,自己解码自己,所以叫自编码器。
**DAE: Denoising Auto-Encoder。**它就是在AE的基础上,加了一个噪声。AE是输入一张图片X,然后进行后续工作,最后试图让生成的结果接近原来的X;DAE就是给X加入噪声&#x