Re-Imagen: Retrieval-augmented text-to-image generator
公众号:EDPJ(添加 VX:CV_EDPJ 或直接进 Q 交流群:922230617 获取资料)
目录
0. 摘要
1. 简介
2. 相关工作
3. 模型
3.1 预备知识
3.2 用多模态知识生成图像
4. 实验
4.1 在 COCO 和 WikiImages 上的评价
4.2 EntityDrawBench 上的以实体为中心的评估
4.3 分析
5. 结论
6. 道德声明
参考
附录
A. 延伸文献综述
B. WikiImages 数据集
C. EntityDrawBench
E. 分类器无指导采样策略
G. 想象的例子
H. 与 DREAMBOOTH 的比较
I. 失败的例子
S. 总结
S.1 主要贡献
S.2 架构和方法
在大规模图像文本数据训练的扩散和自回归模型的驱动下,文本到图像生成的研究在生成多样化和逼真的图像方面取得了重大进展。 尽管最先进的模型可以生成常见实体的高质量图像,但它们通常难以生成不常见实体的图像,例如“Chortai(狗)”或“Picarones(食物)”。 为了解决这个问题,我们提出了检索增强文本到图像生成器(Re-Imagen),这是一种生成模型,它使用检索到的信息来生成高保真和忠实的图像,即使对于罕见或未见过的实体也是如此。 给定文本提示,Re-Imagen 访问外部多模态知识库来检索相关(图像、文本)对,并将它们用作生成图像的参考。 通过此检索步骤,Re-Imagen 增强了所提及实体的高级语义和低级视觉细节的知识,从而提高了生成实体视觉外观的准确性。 我们在包含(图像、文本、检索)三元组的构建数据集上训练 Re-Imagen,以教导模型基于文本提示和检索。 此外,我们开发了一种新的采样策略来交织文本和检索条件的无分类器指导,以平衡文本和检索对齐。 与 COCO 和 WikiImage 相比,Re-Imagen 在 FID 分数上取得了显着提高。 为了进一步评估模型的功能,我们引入了 EntityDrawBench,这是一个新的基准,可以评估从频繁到罕见的多种对象类别(包括狗、食物、地标、鸟类和人物)的图像生成。 对 EntityDrawBench 的人工评估表明,Re-Imagen 可以显着提高生成图像的保真度,尤其是在不常见的实体上。
最近关于条件生成模型的研究工作,
在本文中,我们提出了一种检索增强的文本到图像生成器(Retrieval-augmented Text-to-Image Generator,Re-Imagen),它通过在多模态知识库中搜索实体信息而不是试图记住稀有实体的外观来缓解这种限制。
Re-Imagen 的骨干是一个级联扩散模型(Ho et al., 2022),其中包含三个独立的生成阶段(实现为 U-Nets(Ronneberger et al., 2015))以逐渐产生高分辨率(即 第1024章 1024)图像。
为了进一步定量评估 Re-Imagen,
总而言之,我们的主要贡献是:
文本到图像扩散模型。
同期工作。有几项同期工作(Li et al., 2022;Blattmann et al., 2022;Ashual et al., 2022)也利用检索来改进扩散模型。
其他。由于篇幅限制,我们在附录 A 中提供了额外的文献综述。
在本节中,我们从背景知识开始,以简要概述 Imagen 使用的级联扩散模型的形式。 接下来,我们描述如何将检索融入 Re-Imagen 的具体技术细节。 最后,我们讨论交错引导采样。
扩散模型。扩散模型 (Sohl-Dickstein et al., 2015) 是潜变量模型,由 θ 参数化,形式为
其中 x1,...,xT 是输入图像 x0 ~ q(x0) 的 “有噪” 潜在版本。 请注意,潜在表示和图像的维数在整个过程中是相同的:x_0:T ∈ R^d,d=H*W*C。 计算后验分布 q(x_1:T | x0) 的过程也称为前向(或扩散)过程,并实现为预定义的马尔可夫链,根据时间表 β_t 逐渐向数据添加高斯噪声(马尔可夫链当前时刻状态只与上一时刻有关,各个阶段是独立的,所以联合分布可以写为各个阶段连乘的形式):
通过反转扩散马尔可夫链来训练扩散模型来学习图像分布。 理论上,这可以简化为学习将噪声图像 x_t ~ q(x_t | x0) 去噪为 x0,并具有时间重新加权平方误差损失——完整证明参见 Ho 等人(2020):
其中,x0 是真实图像,c 是条件,ε~N(0,I) 是噪声项。为了简化符号,我们将允许条件 c 包含多个条件信号,例如文本提示 c_p、低分辨率图像输入 c_x(用于超分辨率)或检索到的相邻图像 c_n(用于 Re-Imagen)。 Imagen (Saharia et al., 2022) 使用 U-Net (Ronneberger et al., 2015) 来实现 ε_θ(x_t, c, t)。 U-Net 表示反向噪声生成器如下:
在训练过程中,我们随机采样 t~U([0,1]),并从数据集 D 中随机采样图像 x0,然后根据公式 2 最小化 ^x_θ (x_t, c) 和 x0 之间的差异。在推理时, 扩散模型使用 DDPM (Ho et al., 2020) 递归采样,如下所示:
模型将 x_T 设置为高斯噪声,T 表示扩散步骤总数,然后不断反向采样,直到步骤 T = 0,达到最终图像 ^x0。
为了获得更好的生成效率,级联扩散模型(Ho et al., 2022; Ramesh et al., 2022; Saharia et al., 2022)使用三个独立的扩散模型逐渐生成高分辨率图像,从低分辨率到高分辨率 。 三种模型 64*64 模型、256*256 超分辨率模型、1024*1024 超分辨率模型逐渐将模型分辨率提高到 1024*1024。
无分类器指导。Ho & Salimans (2021) 首先提出了无分类器指导来权衡多样性和样本质量。 这种采样策略由于其简单性而被广泛使用。 特别是,Imagen (Saharia et al., 2022) 采用调整后的 ε-预测,如下所示:
其中 w 是指导权重。 无条件预测 ε_θ(x_t, t) 是通过删除条件(即文本提示)来计算的。
主要思想。如图2所示,在去噪过程中,Re-Imagen不仅以文本提示 c_p(以及用于超分辨率的c_x)为条件,还以从外部知识检索到的近邻 c_n 为条件来决定其生成结果。 这里,文本提示 c_p ∈ R^(n*d) 使用 T5 嵌入表示(Raffel et al., 2020),其中 n 是文本长度,d 是嵌入维度。 同时,使用输入提示 p 作为 query 以及检索相似度函数 γ(p,B) 从外部知识库 B 检索 top-k 近邻
我们对相似性函数尝试了两种不同的选择:BM25 的最大内积分数(Robertson 等人,2009)和 CLIP(Radford 等人,2021)。
模型架构。我们在图 3 中展示了模型的架构,其中我们将 UNet 分解为下采样编码器 (DStack) 和上采样解码器 (UStack)。 具体来说,DStack 以图像、文本和时间步作为输入,生成特征图,记为
其中 F 表示特征图宽度,d 表示隐维度(hidden dimension)。 当我们对检索到的
然后,我们使用多头注意力模块(Vaswani et al., 2017)提取最相关的信息以生成新的特征图
然后,上采样解码器 UStack 预测噪声项
并使用它通过公式 3 计算 ^x_θ,该公式可用于训练期间的回归或 DDPM 采样。
模型训练。为了训练 Re-Imagen,我们基于 Imagen 中使用的 50M ImageText 数据集构建了一个新的数据集 KNN-ImageText。
交错的无分类器指导。与现有的扩散模型不同,我们的模型需要处理多个条件,即文本提示 c_t 和检索到的邻居 c_n,这允许了合并指导。 特别是,Re-Imagen 可以通过减去无条件 ε-预测或两个部分条件 ε-预测中的任何一个来使用无分类器指导。 根据经验,我们观察到减去无条件 ε-预测(标准无分类器指导)通常会导致不期望的不平衡,其中输出要么由文本条件主导,要么由邻居条件主导。 因此,我们设计了一个平衡这两个条件的交错指导计划。 正式地,我们将两个调整后的预测定义为:
其中 ^ε_p 和 ^ε_n 分别是文本增强和邻居增强的预测。 这里,w_p 是文本引导权重,w_n 是邻居引导权重。 然后,我们按照某个预定义的比率 η 将两个指导预测交错。 具体来说,在每个引导步骤中,我们采样一个 [0, 1]-均匀随机数 R,并且当 R < η 时,我们使用 ^ε_p,否则使用 ^ε_n。 我们可以进行调整以平衡对应于文本描述或检索到的图像文本对的忠实度。
Re-Imagen 由三个子模型组成:2.5B 64*64文本转图像模型、750M 256*256超分辨率模型和400M 1024*1024超分辨率模型。 我们还有一个带有 1.4B 64*64 文本到图像模型的 Re-Imagen-small 来了解模型大小的影响。
我们在构建的 KNN-ImageText 数据集上微调这些模型。 我们在两种设置下评估模型:(1)在 COCO 和 WikiImages 数据集上自动评估,以衡量模型生成逼真图像的一般性能,以及(2)在新引入的 EntityDrawBench 上进行人工评估,以衡量模型生成长尾(long-tail)实体图像的能力。
训练和评估细节。
在这两个实验中,我们使用标准的非交错无分类器引导,64*64 扩散模型和 256*256 超分辨率模型的步长为 T=1000。64*64 模型的指导权重 w 遍历 [1.0,1.25,1.5,1.75,2.0],而 256*256 超分辨率模型的指导权重 w 遍历 [1.0,5.0,8.0,10.0]。 我们选择具有最佳 FID 分数的指导 w,如表 1 所示。我们还在图 4 中演示了示例。
COCO 结果。
Re-Imagen 可以通过从外部数据库检索来实现 FID 的显着提升:
由于 COCO 不包含不常见的实体,因此从域内数据库中检索主要为模型提供有用的 “风格知识”。 Re-Imagen 可以更好地适应 COCO 分布,从而获得更好的FID分数。 从图 4 的上半部分可以看出,带有检索的 Re-Imagen 生成了与 COCO 相同风格的图像,而没有检索,输出仍然是高质量的,但风格与 COCO 不太相似。
WikiImages 结果。
从表1中,我们发现使用OOD数据库(LAION)实际上比使用IND数据库获得了更好的性能。 与 COCO 不同,WikiImages 包含主要以实体为中心的图像,因此在数据库中查找相关实体的重要性比从训练集中提取样式更重要,而且由于 LAION-400M 的规模比域内数据库大 100 倍 ,检索相关实体的机会要高得多,这会带来更好的性能。 图 4 下半部分描绘了一个示例,其中 LAION 检索发现 “Island of San Giorgio Maggiore”,这有助于模型生成古典文艺复兴风格的教堂。
数据集构建。我们引入 EntityDrawBench 来评估模型在不同视觉场景中生成不同实体集的能力。
我们使用构建的提示作为输入,并将其相应的图像文本对作为 Re-Imagen 的 “检索”,生成四个 1024*1024 图像。
EntityDrawBench 结果。我们对 64 个扩散模型使用建议的交错无分类器指导(第 3.2 小节),该模型在文本和邻居条件下在 w=30 的强指导权重下运行 256 个扩散步骤。 对于 256 和 1024 分辨率模型,我们分别使用 5.0 和 3.0 的恒定指导权重,以及 128 和 32 个扩散步骤。4 个 TPU-v4 芯片上的 4 个图像的推理速度为 30-40 秒。 我们在表 2 中展示了我们对真实性和真实感的人类评估结果。
我们可以观察到,Re-Imagen 通常可以实现比现有模型更高的忠实度,同时保持相似的真实感分数。 与我们的主干 Imagen 相比,我们看到忠实度分数提高了约 40%,这表明我们的模型正在关注检索到的知识并将其吸收到生成过程中。
我们根据实体的频率进一步将实体分为“频繁”和“不频繁”类别(前 50% 为“频繁”)。 我们在图 5 中分别绘制了“频繁”和“不频繁”的忠实度得分。我们可以看到,与其他模型相比,Re-Imagen 对输入实体的频率不太敏感,性能仅略有下降。 这项研究反映了文本到图像生成模型在长尾实体上的有效性。 附录 F 中显示了更多生成示例。
与其他模型的比较我们在图 6 中演示了来自不同模型的一些示例。可以看出,Re-Imagen 生成的图像在文本对齐和实体保真度之间取得了良好的平衡。 与执行就地修改的图像编辑不同,Re-Imagen 可以根据文本指导在几何和语义上转换相邻实体。 作为一个具体示例,Re-Imagen 在草地上生成 Braque Saint-Germain(图 6 中的第二行),其视角与参考图像不同。
检索次数的影响。检索次数 K 是 Re-Imagen 的一个重要因素。 我们改变所有三个数据集的 K 数量,以了解它们对模型性能的影响。 从图 7 中,我们发现在 COCO 和 WikiImages 上,将 K 从 1增加到 4 并不会导致 FID 分数发生太大变化。 然而,在 EntityDrawBench 上,增加 K 将显着提高生成图像的忠实度。 它表明了使用多个图像来帮助基于视觉实体的 Re-Imagen 的重要性。 我们在附录 D 中提供了视觉示例。
文本和实体忠诚度权衡。在我们的实验中,我们发现对文本提示的忠诚度和对检索到的实体图像的忠诚度之间存在权衡。 基于等式 6,通过调整 ,即采样计划中 ^ε_p 和 ^ε_n 的比例,我们可以控制 Re-Imagen 以生成探索这种权衡的图像:减少 η 会增加实体的实体忠实度,但减少 η 文本对齐方式。 我们发现 η=0.5 左右通常是平衡这两个条件的 “最佳点”。
我们提出了 Re-Imagen,一种检索增强扩散模型,并证明了其在生成真实且忠实图像方面的有效性。 我们不仅通过标准基准(即 COCO 和 WikiImage)上的自动 FID 测量,而且通过对新引入的 EntityDrawBench 的人工评估来展示这些优势。 我们进一步证明,我们的模型在从提及稀少实体的文本生成图像方面特别有效。
Re-Imagen 在文本到图像生成方面仍然存在众所周知的问题,我们将在下面对此进行回顾。此外,由于检索增强建模,Re-Imagen 还具有一些独特的局限性。 首先,由于Re-Imagen对检索到的图像文本对很敏感,因此当检索到的图像质量较低时,会对生成的图像产生负面影响。 其次,Re-Imagen 有时仍然无法生成具有高度合成提示(涉及多个实体)的高质量图像。 第三,超分辨率模型仍然无法捕获检索到的实体的低级细节,从而导致视觉失真。 在未来的工作中,我们计划进一步研究上述局限性并解决它们。
强大的文本到图像生成模型,即 Imagen(Saharia 等人,2022)和 Parti(Yu 等人,2022),在社会偏见等方面提出了伦理挑战。 Re-Imagen 面临着同样的挑战,因为我们采用了与之前的模型类似的网络规模数据集。
Re-Imagen 的检索增强建模技术极大地提高了生成图像的可控性和归因性。
考虑到对公众的此类潜在威胁,我们将对代码和 API 的发布持谨慎态度。 在未来的工作中,我们将探索一个负责任使用的框架,平衡研究外部审计的价值与不受限制的开放获取的风险,从而使这项工作能够以安全和有益的方式使用。
Chen W, Hu H, Saharia C, et al. Re-imagen: Retrieval-augmented text-to-image generator[J]. arXiv preprint arXiv:2209.14491, 2022.
检索增强生成模型。知识基础也引起了自然语言处理(NLP)社区的广泛关注。
文本引导的图像编辑。文本引导的图像编辑工作旨在保留对象的外观,同时更改图像中的某些上下文。
WikiImages 数据集取自 WebQA(Chang 等人,2022)。 图片是通过 Bing Visual Search API 从 Wikimedia Commons 抓取的。 由于维基媒体的许多主题在视觉上并不有趣,因此作者以自然场景为种子,并逐渐完善搜索池以获得更多有趣的图像。 这些图像主要包含来自维基百科或维基数据的实体。 然而,原始数据集仍然包含大量噪声。 因此,我们应用进一步的过滤来获得更合理的图像生成结果。 具体来说,我们删除所有文本长度大于 15 个标记的图像文本对以及所有带有日期或 wiki-id 信息的文本。
我们使用适当配对的源图像作为检索的 “知识”。 对于每个实体(entity)类别,我们编写了 5 个带有实体名称占位符(placeholder)的提示模板,用于描述不同场景下的实体。 每个实体都会对模板进行采样,并用实体的名称替换占位符以生成提示,该提示用作文本到图像生成模型的输入。
我们列出了所有的提示模板,如图 10 所示。
我们演示了不同类型的采样策略来利用两种条件:标准联合条件指导采样、加权指导采样和我们提出的交错指导采样。
标准联合条件指导仅考虑联合扩散得分 ε(x_t, c_n, c_p) 来满足这两个条件。 相反,加权引导采样使用文本增强的 ^ε_p 和近邻增强的 ^ε_n 的加权和。 我们的交错分类器指导在 ^ε_p 和 ^ε_n 之间切换,比率为 η : 1-η。 我们在图 12 中绘制了它们的概念差异。本质上,ε_n 和 ε_p 在加权采样中不具有依赖性,但是,它们在交错采样中具有依赖性。 在 ε_n 和 ε_p 相互矛盾的极端情况下,模型将陷入局部区域。 相反,交错采样可以缓解这个问题。
我们在 EntityDrawBench 中比较了这三种采样策略生成的 20 张狗图像。 我们改变扩散步骤的数量来观察他们的人类评估分数曲线,并在图 13 中展示一些生成的输出。可以看出,联合解码要么由检索图像主导,要么由文本提示主导。 加权和交错可以帮助平衡这两个条件以生成更好的图像。 我们还发现,在较少的采样步数 K=200 的情况下,“加权” 采样实际上比 “交错” 采样取得了更好的结果。 然而,随着采样步骤的增加,我们提出的 “交错” 采样取得了更好的人类评估分数。
我们还添加了与 DreamBooth(Ruiz 等人,2022)的比较。 我们采用与 DreamBooth 几乎相同的输入图像,并在图 17、图 18 和图 19 中显示我们的生成结果。
我们发现 Re-Imagen 在很多情况下也会失败。 我们在图 20 中演示了一些示例。可以看出,该模型有时有一些失败模式:
本文提出检索增强文本到图像生成模型(Retrieval-augmented Text-to-Image Generator,Re-Imagen),
采样过程中交错的无分类器指导,可以在文本指导和检索指导之间切换,以确保文本对齐和实体保真度(对齐),并解决多条件引导不平衡的问题;
引入包含各种视觉实体、提示非常独特(难以找到)、实体具有创意提示的 EntityDrawBench 来评估模型在不同视觉场景中生成不同实体集的能力,并表明 Re-Imagen 可以显着提高对不常见实体的忠实度。
模型的架构如图 3 所示,其中,将 UNet 分解为下采样编码器 (DStack) 和上采样解码器 (UStack)