近年来,多模态学习受到关注,尤其是文本-图像合成和图像-文本对比学习这两个方向。一些AI模型因其在创意图像生成和编辑中的应用而受到广泛关注,例如OpenAI的文本图像模型DALL·E和DALL-E2,以及Nvidia的GauGAN和GauGAN2。谷歌也不甘示弱,于5月底发布了自己的文本到图像模型Imagen,似乎进一步推动了字幕条件图像生成的界限。只要给出一个场景的描述,Imagen就可以生成高质量、高分辨率的图像,无论这样的场景在现实世界中是否合乎逻辑。下面是Imagen文本生成图像的几个示例,相应的字幕显示在图像下方。这些令人印象深刻的生成图像让人想知道:Imagen实际上是如何工作的?近日,开发者讲师RyanO'Connor在AssemblyAI博客上写了一篇长文《How Imagen Actually Works》,详细解释了Imagen的工作原理,对Imagen进行了概述,分析理解了它的高层组件以及它们之间的联系。Imagen工作原理概述在这一部分,作者展示了Imagen的整体架构,并对其他工作原理进行了高层次的解读;然后依次更彻底地剖析Imagen的每个组件。下面的动画显示了Imagen的工作流程。首先,将字幕输入文本编码器。该编码器将文本标题转换为数字表示,将语义信息封装在文本中。Imagen中的文本编码器是一种Transformer编码器,可确保文本编码理解字幕中的单词如何相互关联,此处使用自注意力方法。如果Imagen只关注单个单词而不是它们的关联,可以获得能够捕捉字幕单个元素的高质量图像,但这些图像不能以适当的方式描述以反映字幕语义。如下例所示,如果不考虑词与词之间的关联,会产生截然不同的生成效果。虽然文本编码器为Imagen的字幕输入生成了有用的表示,但仍然有必要设计一种使用该表示生成图像的方法,即图像生成器。为此,Imagen使用了Diffusion模型,这是一种近年来因其在多项任务上的最先进性能而受到欢迎的生成模型。扩散模型通过添加噪声来破坏训练数据来训练,然后通过逆转这个噪声过程来学习恢复数据。给定一张输入图像,扩散模型会在一系列时间步长上迭代地用高斯噪声破坏图像,最后留下高斯噪声或电视静态(TVstatic)。下图展示了扩散模型的噪声迭代过程:扩散模型会逆向工作,学习如何在每个时间步隔离和去除噪声,抵消刚刚发生的损伤过程。训练完成后,模型可以一分为二。这允许从随机采样的高斯噪声开始,并使用扩散模型逐渐去噪以生成图像,如下图所示:总之,经过训练的扩散模型从高斯噪声开始,并迭代生成与训练图像相似的图像。很明显,您无法控制图像的实际输出,您只需将高斯噪声输入模型,它就会输出一张看起来像是属于训练数据集的随机图像。然而,目标是创建封装输入到Imagen的字幕的语义信息的图像,因此需要一种将字幕合并到扩散过程中的方法。这个怎么做?上面提到了textencoder产生一个有代表性的字幕编码,其实就是一个向量序列。为了将这种编码信息注入扩散模型,这些向量被聚合,扩散模型在它们的基础上进行了调整。通过调整此向量,扩散模型学习如何调整其去噪过程以生成与说明匹配良好的图像。该过程的可视化如下所示:由于图像生成器或基本模型输出一个64x64的小图像,为了将该模型上采样到最终的1024x1024版本,使用超分辨率模型对图像进行智能上采样。对于超分辨率模型,Imagen再次使用扩散模型。整个过程与基本模型基本相同,只是它仅根据字幕编码进行调整,并且还使用正在上采样的较小图像进行调整。整个过程的可视化如下图所示:这个超分辨率模型的输出实际上并不是最终的输出,而是一张中等尺寸的图像。为了将此图像升级到最终的1024x1024分辨率,使用了另一个超分辨率模型。两种超分辨率架构大致相同,这里不再赘述。第二个超分辨率模型的输出是Imagen的最终输出。为什么Imagen优于DALL-E2?确切地回答为什么Imagen比DALL-E2好是很困难的。然而,性能差距中不可忽略的部分源于字幕和提示的差异。DALL-E2使用对比目标来确定文本编码与图像(本质上是CLIP)的相关程度。文本和图像编码器调整它们的参数,使得相似字幕-图像对的余弦相似度最大化,而不同字幕-图像对的余弦相似度最小化。性能差距的很大一部分源于Imagen的文本编码器比DALL-E2的文本编码器大得多并且接受了更多数据的训练。作为该假设的证据,我们可以检查Imagen作为文本编码器缩放的性能。下面是Imagen性能的帕累托曲线:UpscalingTextEncoder高得惊人,而UpscalingU-Net低得惊人。这个结果表明,只要以强编码为条件,相对简单的扩散模型就可以产生高质量的结果。鉴于T5文本编码器比CLIP文本编码器大得多,再加上自然语言训练数据必然比图像-字幕对更丰富,大部分性能差距可能归因于这种差异。此外,作者还列出了Imagen的几个关键点,包括:扩展的文本编码器非常有效;扩展文本编码器比扩展U-Net大小更重要;动态阈值至关重要;噪声条件增强在超分辨率模型中至关重要;使用交叉注意力进行文本调节是至关重要的;高效的U-Net至关重要。这些见解为研究文本到图像子领域之外的扩散模型的研究人员提供了有价值的方向。
