直接从文本描述生成图像,是自然语言处理与生成建模的重要交集。实现这项复杂任务的架构通常会整合高级GAN和扩散模型。目标是创建能够接收任意文本提示的系统,例如“一个蓝色球体上的红色立方体”,并生成准确反映所描述对象、属性和关系的相应图像。
文本到图像系统的核心组成部分
大多数现代文本到图像架构共有一套功能组件,尽管它们的具体实现方式大不相同。
文本编码器
第一步是将输入的文本提示转换成一个丰富的数值表示,即嵌入,它捕捉了文本的语义。原始文本不适合直接输入图像生成器。常见的方法包括:
- 预训练语言模型: 使用强大的预训练语言模型,如BERT、T5,或来自CLIP(对比语言-图像预训练)等模型的专用编码器是常规做法。这些模型在大量的文本语料库(在CLIP的情况下,有时是图像-文本对)上训练,并生成编码语言信息的嵌入。
- 嵌入空间: 输出通常是高维空间中的一个向量或一系列向量,语义相似的短语在此空间中位置更接近。此文本嵌入的质量对最终图像的质量和与提示的符合度有显著影响。
图像生成器
这是核心生成引擎,负责创建图像的像素数据。如前几章详细讨论的,这个组件通常基于高级GAN或扩散模型:
- 基于GAN的生成器: StyleGAN或BigGAN等架构可以适用于文本到图像生成。它们可能直接生成图像,或分阶段进行。虽然在推理时可能更快,但它们可能面临训练稳定性挑战(第3章),并且可能难以处理任意文本提示所需的图像多样性。
- 基于扩散的生成器: DDPMs和基于分数的模型(第4章)在生成高质量和多样化的文本条件图像方面表现出卓越的成就。它们通过迭代去噪随机噪声图来运作,并由文本嵌入进行引导。U-Net架构是这些模型中去噪网络的常见骨干。
条件机制
文本编码器和图像生成器之间的关键环节是条件机制。这种机制确保生成的图像反映文本嵌入的内容。存在几种技术:
- 简单拼接: 在早期或更简单的模型中,文本嵌入可能直接拼接(concatenate)到GAN的噪声向量输入或中间特征图。这对于复杂的条件生成通常不足。
- 条件归一化层: 像条件批量归一化或自适应实例归一化(AdaIN)这样的技术,在StyleGAN(第2章)中被显著使用,可以根据文本嵌入调节生成器的激活。这使得文本能够影响不同层级的风格方面或特征。
- 交叉注意力: 这种机制已变得非常普遍,特别是在扩散模型和基于Transformer的生成器中。它允许图像生成器在生成过程的不同空间位置和阶段动态地关注文本嵌入序列的不同部分。例如,当生成图像中与“红色立方体”相对应的部分时,交叉注意力机制可以更强烈地聚焦于文本嵌入中的“红色”和“立方体”标记。这提供了基于文本对图像内容进行细粒度控制的能力。
- 分类器引导 / 无分类器引导: 如第4章所详述,引导技术将扩散过程导向与条件信号(文本嵌入)更一致的图像。无分类器引导,它在有条件和无条件目标上联合训练扩散模型,特别有效且被广泛使用,避免了在推理期间对单独分类器模型的需要。
架构方法
出现了几种不同的架构系列,用于文本到图像生成:
基于GAN的方法
早期的成功常涉及GAN。像AttnGAN这样的模型引入了注意力机制,允许生成器在生成相应图像区域时聚焦于特定词语。StackGAN采用多阶段方法,首先生成低分辨率图像,然后有条件地对其进行细化。尽管具有开创性,但这些方法通常需要复杂的训练过程,并且与后来的基于扩散的方法相比,可能难以生成高度复杂或逼真的场景。
基于扩散的方法
扩散模型目前代表了文本到图像生成的最高水平,支撑着DALL-E 2、Imagen和Stable Diffusion等模型。一个典型的流程包括:
- 文本编码: 使用强大的预训练文本编码器(例如CLIP的文本编码器,T5)。
- 可选的先验模型: 一些模型(如DALL-E 2)使用先验网络(通常是另一个扩散模型或自回归模型)将文本嵌入转换为主生成器更能理解的图像嵌入空间。Imagen表明,超大型语言模型可能会减少对单独先验模型的依赖。
- 条件扩散模型: 一个扩散模型(通常基于U-Net)通过逆转扩散过程生成图像,并以文本嵌入(或先验的输出)为条件。条件生成通常通过集成到U-Net架构中的交叉注意力层以及无分类器引导来实现。
这些模型达到了令人印象的保真度和语义对齐,但由于迭代去噪过程,其推理时间通常比GAN慢(尽管第4章讨论的DDIM等技术有助于缓解这一点)。
一个通用流程用于文本到图像生成系统。文本被编码成嵌入,然后通过条件机制引导图像生成器。
CLIP与对比学习的作用
对比语言-图像预训练(CLIP)及类似模型具有高度影响力。CLIP通过在大量图像-文本对数据集上联合训练,学习图像和文本的共享嵌入空间。它对文本到图像生成的主要贡献包括:
- 高质量文本编码器: CLIP文本编码器提供语义表示,能有效捕捉输入提示的要旨。
- 引导信号: 文本和图像嵌入之间学到的对齐使得CLIP可以直接用作评分函数。可以根据生成图像的CLIP嵌入与目标文本提示嵌入的匹配程度来评估这些图像,并且此分数可以引导生成过程(CLIP引导),尽管无分类器引导通常表现更好,并且现在在扩散模型中更常使用。
面临的挑战
尽管进展迅速,文本到图像生成仍面临重要挑战:
- 组合性和关系: 准确呈现多个对象交互或具有特定空间关系(“一只小猫坐在大桌子下面”)的场景仍然很困难。
- 属性绑定: 确保属性(颜色、形状、纹理)正确绑定到预期对象(“一个蓝色立方体和一个红色球体”,而不是一个红色立方体和一个蓝色球体)。
- 文本忠实度与真实感: 平衡对提示的严格遵守(这可能描述不真实的场景)与生成合理、高质量的图像。
- 处理否定和复杂逻辑: 模型在处理涉及否定(“一个没有戴帽子的人的照片”)或复杂计数(“恰好三只鸟”)的提示时遇到困难。
- 偏见放大: 模型可能继承并有时放大大规模训练数据中存在的社会偏见(例如,将某些职业与特定性别关联)。减轻这些偏见是一个活跃的研究方向。
- 计算需求: 训练最先进的文本到图像模型需要大量的计算资源(GPU/TPU,以及长时间的训练)。
文本到图像生成架构展示了本课程中涵盖的生成建模技术的一项强大应用。它们有效地结合了自然语言处理的见解和高级图像生成能力,拓展了从描述性输入中能生成内容的界限。理解这些架构为操作和开发复杂的条件生成系统提供了支撑。