不过,和前段时间大火的 DALL・E 2 一样,我们很难指望谷歌将这个模型开源。对此,有网友建议说,可以去 GitHub 上找一些「野生」复现来玩一玩,比如已经放出一段时间的「DALL-E 2-Pytorch」项目:
项目地址:https://github.com/lucidrains/DALLE2-pytorch
Imagen 细节
Imagen 由一个文本编码器和一系列条件扩散模型组成,前者将文本映射为一系列嵌入,后者将这些嵌入映射为分辨率不断提高的图像,如图 Fig. A.4 所示。
预训练文本编码器
在构建 Imagen 的过程中,研究者探索了几个预训练文本编码器:BERT、T5 和 CLIP。为了简单起见,他们冻结了这些文本编码器的权重。冻结有几个优点,例如嵌入的离线计算,这使得文本 - 图像模型训练期间的计算或内存占用可以忽略。
在这项工作中,研究者发现,扩展文本编码器的大小可以提高文本到图像生成的质量。他们还发现,虽然 T5-XXL 和 CLIP 文本编码器在 MS-COCO 等简单基准上性能相似,但在 DrawBench 上的图像 - 文本对齐和图像保真度方面,人类评估员更喜欢 T5-XXL 编码器而不是 CLIP 文本编码器。
扩散模型和无分类器指导
扩散模型是一类生成模型,通过迭代去噪过程,将高斯噪声从已知的数据分布转换为样本。这类模型可以是有条件的,例如类标签、文本或低分辨率图像。
分类器指导是一种在采样期间使用来自预训练模型 p (c|z_t) 的梯度来提高样本质量,同时减少条件扩散模型多样性的技术。无分类器指导是一种替代技术,通过在训练期间随机丢弃 c(例如 10% 的概率),在有条件和无条件目标上联合训练单个扩散模型,从而避开上述预训练模型。
较大指导权重采样器
研究者证实了最近的文本指导扩散工作的结果,并发现增加无分类器指导权重可以改善图像 - 文本对齐,但也会损害图像保真度,产生高度饱和、不自然的图像。他们发现这是由于高指导权重引起的训练 - 测试不匹配所造成的。并且由于扩散模型在整个采样过程中迭代地应用于其自身的输出,采样过程就产生了不自然的图像。
为了解决这个问题,他们研究了静态阈值(static thresholding)和动态阈值(dynamic thresholding)。他们发现,动态阈值对于提升图像真实感和图像 - 文本对齐能力要有效得多,特别是在使用非常大的指导权重的时候。
稳健的扩散模型组
Imagen 利用一个 64 × 64 基本模型、两个文本条件超分辨率扩散模型将生成的 64 × 64 图像上采样为 256 × 256 图像,然后再上采样为 1024 × 1024 图像。具有噪声调节增强的扩散模型组在逐步生成高保真图像方面非常有效。
此外,研究者通过噪声水平调节使超分辨率模型意识到添加的噪声量,显著提高了样本质量,而且有助于提高超分辨率模型处理较低分辨率模型产生的 artifacts 的稳健性。Imagen 对两个超分辨率模型都使用了噪声调节增强。研究者发现这是生成高保真图像的关键。
给定调节低分辨率图像和增强水平(aug_level,例如高斯噪声或模糊的强度),研究者用增强(对应于 aug_level)破坏低分辨率图像,并在 aug_level 上调节扩散模型。在训练期间,aug_level 是随机选择的,而在推理期间,可以扫描它的不同值以找到最佳样本质量。在这项研究中,研究者使用高斯噪声作为一种增强形式,并应用类似于扩散模型中使用的正向过程的方差来保持高斯噪声增强。
神经网络架构
- 基本模型
研究者采用 U-Net 架构作为基本的 64 × 64 文本到图像扩散模型。该网络通过池化嵌入向量以文本嵌入为条件,加入到扩散时间步嵌入中,类似于 [16, 29] 中使用的类嵌入条件方法。通过在多分辨率的文本嵌入上添加交叉注意力,研究者进一步对整个文本嵌入序列进行了限制。此外,他们在注意力层和池化层发现了用于文本嵌入、可以大大提高性能的层归一化。
- 超分辨率模型
对于 64 × 64→256 × 256 的超分辨率模型,研究者采用了改编自 [40,58] 的 U-Net 模型。为了提高内存效率、推理时间和收敛速度,研究者对 U-Net 模型进行了一些修改(该变体比 [40,58] 中使用的 U-Net 模型的每秒速度快 2-3 倍),并称这种变体为 Efficient U-Net。256 × 256→1024 × 1024 的超分辨率模型是在 1024 × 1024 图像的 64×64 → 256×256 crop 上训练的。他们去掉了自注意力层,但保留了文本交叉注意力层,这一点是很关键的。
在推理过程中,模型接收完整 256 × 256 低分辨率图像作为输入,输出上采样的 1024 × 1024 图像。注意,研究者在两个超分辨率模型上都使用了文本交叉注意力。
DrawBench
尽管 COCO 是一个很有价值的基准,但很明显它的 prompt 范围是有限的,不能很好地提供对模型之间差异的洞察。因此,研究者提出了 DrawBench,这是一个综合的、具有挑战性的 prompt 集,支持文本到图像模型的评估和比较。
DrawBench 包含 11 种类型的 prompt,用于测试模型的不同功能,比如颜色渲染、对象数量、空间关系、场景中的文本以及对象之间的非常规交互。类别中还包括复杂的 prompt,包括冗长复杂的文本描述、不常见词汇以及拼写错误的 prompt。此外也包含从 DALL-E、Gary Marcus et al. [38]、Reddit 收集的几个 prompt 集。
在 11 个类别中,DrawBench 共包含 200 个 prompt,且在「足够大而全面」与「足够小而人工评估可行」之间取得了很好的平衡。图 2 展示了来自带有 Imagen 样本的 DrawBench 的示例 prompt。
实验
第 4.1 节描述了训练细节,第 4.2 节和第 4.3 节分析了 MS-COCO 和 DrawBench 上的实验结果,第 4.4 节总结了消融研究和主要发现。对于下面的所有实验,图像是来自 Imagen 的公平随机样本,没有后期处理或重新排序。
COCO 实验结果
研究者使用了 FID 评分对 COCO 验证集上的 Imagen 进行了评估,结果如表 1 所示。
Imagen 以 7.27 的得分在 COCO 上实现了 zero-shot FID 的 SOTA 结果,超越了 DALL-E 2 及其他同期工作,甚至超过了其他在 COCO 上训练的模型。
表 2 展示了在 COCO 验证集上测试图像质量和对齐的人工评估结果,包括原始 COCO 验证集和过滤后的版本。在这个版本中,所有与人相关的参考数据都被删除了。在没有人的设置下,Imagen 的偏好率提高到了 43.6% ,这表明 Imagen 生成逼真人物的能力有限。在标题相似度方面,Imagen 的得分与原始的参考图片相当,这表明 Imagen 有能力生成与 COCO 标题相一致的图片。
DrawBench 实验结果
使用 DrawBench,研究者将 Imagen 与 DALL-E 2 (公共版本)、 GLIDE、Latent Diffusion 和 CLIP-guided VQGAN 进行了比较。
图 3 展示了三个模型中每一个模型对 Imagen 成对比较的人类评估结果,包括偏好模型 A、模型 B,或者不受图像保真度和图像文本对齐影响。可以看出,在图文对齐和图像保真度方面,人类评估者极其偏爱 Imagen 模型。读者可以参考附录 E,了解更详细的类别对比和定性对比。
更多研究细节,可参考原论文。