(2022|ICLR,kNN检索,扩散,仅图像训练)KNN-Diffusion:通过大规模检索生成图像

news2024/11/28 6:31:40

KNN-Diffusion: Image Generation via Large-Scale Retrieval

公众号:EDPJ(添加 VX:CV_EDPJ 或直接进 Q 交流群:922230617 获取资料)

目录

0. 摘要

1. 简介

2. 相关工作

3. 方法

3.1 仅文本图像处理 

4. 实验

4.1 定性和定量结果

4.2 应用

4.3 消融研究

5. 结论

S. 总结

S.1 主要贡献

S.2 方法和架构


0. 摘要

最近的文本到图像模型取得了令人印象深刻的成果。然而,由于它们需要大规模的文本-图像配对数据集,因此在数据稀缺或未标记的新领域进行训练是不切实际的。在这项工作中,我们提出使用大规模检索方法,特别是高效的 k 最近邻(k-Nearest-Neighbors,kNN),它提供了新颖的能力:(1)在没有任何文本的情况下训练一个相当小而高效的文本到图像扩散模型,(2)通过简单地在推断时交换检索数据库,来生成分布外的图像,以及(3)在保留对象身份的同时执行文本驱动的局部语义操作。为了展示我们方法的鲁棒性,我们将我们的 kNN 方法应用于两个最先进的扩散骨干,并在几个不同的数据集上展示结果。通过人类研究和自动度量的评估,与仅使用图像(没有配对文本数据)训练文本到图像生成模型的现有方法相比,我们的方法取得了最先进的结果。

1. 简介

大规模生成模型已成功应用于图像生成任务(Gafni等人,2022年;Ramesh等人,2021年;Nichol等人,2021年;Saharia等人,2022年;Yu等人,2022年),并展示了在扩展人类创造力方面使用编辑和用户控制的卓越能力。然而,这些模型面临一些重要挑战:(i)大规模配对数据需求。为了实现高质量的结果,文本到图像模型严重依赖于从互联网收集的(文本,图像)对的大规模数据集。由于需要配对数据,这些模型无法应用于仅具有未标记图像的新领域或定制领域。(ii)计算成本和效率。在高度复杂的自然图像分布上训练这些模型通常需要扩展模型大小、数据、批量大小和训练时间,这使得它们难以训练并对社区不太可访问。最近,一些研究提出了在没有配对文本-图像数据集的情况下训练的文本到图像模型。Liu 等人(2021年)对基于CLIP损失(Radford等人,2021年)的预训练模型进行了直接优化。这些方法耗时,因为它们需要为每个输入进行优化。Zhou 等人(2021年)提出使用带有高斯噪声的 CLIP 图像嵌入进行训练。然而,为了获得高质量的结果,还需要使用带有注释的文本-图像对数据集训练额外的模型。

在这项工作中,我们介绍了一种新颖的生成模型,kNN-Diffusion,该模型解决了这些问题并朝着更易访问的模型方向发展,以便为研究社区和其他用户提供支持。我们的模型利用了大规模检索方法 k-Nearest-Neighbors(kNN)搜索,以在没有任何文本数据的情况下训练模型。具体而言,我们的扩散模型受到两个输入的影响: (1) 图像嵌入(在训练时)或文本嵌入(在推断时),使用多模态 CLIP 编码器提取,和 (2) kNN 嵌入,表示在 CLIP 潜在空间中与之最相似的 k 个图像。在训练期间,我们假设没有配对的文本可用,因此只以 CLIP 图像嵌入和使用检索模型选择的 k 个附加图像嵌入为条件。在推断时,只提供文本输入,因此我们使用与图像嵌入共享联合嵌入空间的文本嵌入,而不是图像嵌入。在这里,kNN 图像嵌入是使用文本嵌入检索的。

额外的 kNN 图像嵌入具有三个主要优点:(1)它们扩展了条件嵌入的分布,并确保在训练和推断中分布相似,从而有助于弥合图像和文本嵌入分布之间的差距;(2)通过使用来自目标分布的样本,它们教导模型学会从该分布生成图像。这种能力允许在测试时泛化到不同的分布并生成分布外的样本;(3)它们包含不需要存在于模型中的信息,这使得模型可以更小巧。我们在第 4 节中展示了我们的 kNN 方法的有效性。

为了评估我们方法的性能,我们在两个大规模数据集上训练我们的模型:公共多模态数据集(Singh等人,2021)和从互联网收集的仅包含图像的贴纸数据集。我们在 MS-COCO(Lin等人,2014)、LNCOCO(Pont-Tuset等人,2020)和 CUB(Wah等人,2011)上展示了最先进的零样本能力。为了进一步证明在文本到图像生成中使用检索方法的优势,我们使用我们的 kNN 方法训练了两个扩散骨架:连续的(Ramesh等人,2022)和离散的(Gu等人,2021)。在这两种情况下,我们都胜过了没有使用 kNN 训练的模型。与第 4 节中呈现的替代方法相比,我们在人类评估和 FID 分数方面取得了最先进的结果,拥有 4 亿个参数和 7 秒的推断时间。

最后,我们介绍了一种基于 CLIP 和 kNN 的新方法,用于进行局部和语义操作,而无需依赖用户提供的掩模。具体而言,我们对模型进行微调,以执行满足给定目标文本提示的局部和复杂修改。例如,给定图 3 中泰迪熊的图像和目标文本 "holds a heart",我们的方法会自动定位应该修改的局部区域,并合成一张高分辨率的操纵图像,其中(1)泰迪熊的身份得到准确保留,(2)操纵与目标文本一致。通过将我们的结果与两个最先进的模型 Text2Live(Bar-Tal等人,2022)和 Textual Inversion(Gal等人,2022)进行比较,这两个模型执行图像操作而无需使用掩模,我们展示了我们的定性优势(图3、19和20)。

我们总结本文的贡献如下:(1)我们提出了 kNN-Diffusion,一种新颖而高效的模型,利用大规模检索方法来训练文本到图像模型,而无需使用文本。 (2)我们演示了有效的分布外生成,通过替换检索数据库实现。 (3)我们提出了一种新的局部和语义图像操作方法,无需使用掩模。 (4)我们评估了我们的方法在两个扩散骨架(离散和连续)以及几个数据集上的性能,并与仅使用图像数据集训练的基线相比呈现出最先进的结果。

2. 相关工作

文本到图像模型。文本到图像生成是一个研究充分的任务,侧重于从文本描述生成图像。虽然GANs(Xu等人,2018;Zhu等人,2019;Zhang等人,2021)和基于 VQ-VAE Transformer 的方法(Ramesh等人,2021;Gafni等人,2022;Yu等人,2022;Ding等人,2021)取得了显著的结果,但近期离散(Gu等人,2021)和连续(Nichol等人,2021;Saharia等人,2022;Ramesh等人,2022;Rombach等人,2022)扩散模型取得了令人印象深刻的成果。大多数最近的工作训练了以使用预训练文本编码器提取的文本嵌入(Saharia等人,2022;Yu等人,2022)或使用CLIP 提取的图像嵌入(Ramesh等人,2022)为条件的扩散模型。尽管产生了令人印象深刻的结果,但上述所有先前的工作都是在有监督的情况下进行的,并且使用了配对的文本-图像数据集进行训练。

有几项工作提出了在没有文本数据的情况下训练文本到图像模型的方法。FuseDream(Liu等人,2021)提出了对基于 CLIP 损失的预训练生成模型进行直接优化的方法。该方法依赖于预训练的GAN,并需要为每个图像进行耗时的优化过程。LAFITE(Zhou等人,2021)最近展示了在不需要配对文本-图像数据集的情况下进行文本到图像生成的结果。在这里,CLIP 的嵌入在训练和测试时可以互换使用,以作为基于 GAN 的模型的条件。联合文本-图像嵌入使得在给定文本输入的情况下能够进行推断,而在训练中,模型仅接收视觉嵌入。然而,在联合嵌入空间中文本和图像分布之间的差距导致了结果质量显著较低,正如我们在实验证明的那样。为了克服这种分布差距,LAFITE在训练过程中向图像嵌入添加了噪音。我们解决这种分布差距的方法是以实际图像嵌入在文本-图像联合空间的检索为条件。

用于生成的检索。信息检索(Information Retrieval,IR)文献处理了从大型数据库中检索少量信息的挑战,给定用户的查询。尽管已经显示增加更多的训练数据可以提高性能,但这是有代价的,因为它需要收集更多的数据并在其上进行训练。一种简单但有效的检索机制是在某个预先计算的嵌入空间中检索查询和数据库中实体之间的 K 个最近邻居(kNN)(Bijalwan等人,2014)。数据库使模型能够利用其特定任务的广泛世界知识(Borgeaud等人,2021)。最近,语言模型被增加了一个记忆组件,使它们能够存储过去输入的表示(Wu 等人,2022)。然后使用查找操作对其进行查询,从而提高各种基准和任务的性能。检索模型已用于学习问题中的各种任务,例如语言建模(Borgeaud等人,2021),机器翻译(Gu等人,2018),问答(Lee等人,2019)和图像生成(Tseng等人,2020)。RetrieveGAN(Tseng等人,2020)使用可微分的检索模块进行基于场景描述的图像生成,RetrievalFuse(Siddiqui等人,2021)提出了一种基于检索系统的神经三维场景重建。在这项工作中,我们利用共享文本-图像嵌入空间的 kNN 检索机制,即 CLIP(Radford等人,2021)。通过进行大量消融研究,我们展示了检索模型在训练和推断中的重要性,并展示了它对性能的巨大影响。

多模态特征学习。为多个模态学习一个联合和对齐的特征空间是具有挑战性的,因为它需要在模态之间进行对齐(配对数据集),而这些模态的分布可能会变化。具体而言,视觉和语言的联合特征空间一直是人工智能中的一个长期问题。CLIP(Radford等人,2021)是一种成功解决这一挑战的方法,通过利用对齐的文本-图像对的大型数据集进行对比学习。一些作品,如 BLIP(Li等人,2022)、(Mu等人,2021)和 FLAVA(Singh等人,2021),遵循了这个思想,并进一步改进了联合表示。已经显示联合表示在两个模态之间保持强烈的语义对齐,从而实现了图像生成(Liu等人,2021;Wang等人,2022)、图像操作(Patashnik等人,2021;Avrahami等人,2022b)和图像标题生成(Mokady等人,2021)。在这项工作中,我们以两种方式利用联合表示:(i)只使用视觉数据进行无文本训练,而在推断时使用文本,以及(ii)为检索模型创建一个高效的嵌入空间。

3. 方法

我们的主要目标是在训练过程中使用仅包含图像数据(没有配对的文本数据)来促进用户指定概念的语言引导生成。实现这一目标的一种可能的方式是使用一个共享的文本-图像编码器,将文本-图像对映射到相同的潜在空间,从而可以使用图像嵌入进行训练,并从文本嵌入进行推断。一个候选用于这个编码器的是 CLIP,它通过对比损失在大规模的文本-图像对数据集上进行了训练。然而,正如我们在表 1、2 中定量显示的那样,以及在图 8、13 中定性显示的那样,仅仅使用 CLIP 嵌入无法准确地弥合文本和图像分布之间的差距。为了缩小这个差距,提出了几种方法。与我们最接近的工作是 LAFITE,它使用自适应高斯噪声扰动 CLIP 图像嵌入。因此,预期模型对分布差异更加鲁棒。在假设存在大规模配对文本-图像数据集的情况下,Ramesh 等人(2022)提出了一种在推断过程中使用的先验,该先验被训练为从给定的文本标题生成可能的 CLIP 图像嵌入。

在这方面,我们提出将大规模且不可训练的图像嵌入索引作为扩散过程的一个组成部分。我们提出的方法,kNN-Diffusion,假设在训练期间只提供图像数据。如图 5 所示,我们的模型由三个主要组件组成:

  • 多模态文本-图像编码器(CLIP);
  • 检索模型 - 包含图像嵌入的数据结构,被索引以进行快速的 kNN 搜索;
  • 图像生成网络 - 一种可训练的基于扩散的图像生成模型,以检索的投影为条件。

在训练和推断过程中,图像生成网络都是在 K 个额外的图像嵌入上进行条件设置的,这些嵌入是使用检索模型选择的,以确保在训练和推断中具有相似的条件分布。以下各节描述了这些组件,更多细节可以在附录的第 6.6 和 6.5 节中找到。

检索模型。我们的检索模型有三个不可训练的模块:一个预训练的文本编码器 f_txt,一个预训练的图像编码器 f_img 和一个索引 H。这些编码器将文本描述和图像样本映射到一个共同的多模态 d维特征空间 R^d。该索引存储图像数据库的有效表示

其中 I 表示图像数据集。在训练期间,我们使用索引来高效地提取图像嵌入f_img(I) ∈ R^d 特征空间中的 k 个最近邻居

其中 s 是距离函数,arg min^k 输出最小的 k 个元素。集合

被用作生成模型的条件。在推断期间,给定查询文本 t,提取嵌入f_txt(t)。生成模型在这个嵌入和来自数据库的 k 个最近邻居的条件下进行。在训练期间,通过将检索方法应用于输入图像嵌入,我们添加了真实图像的嵌入。提取的 kNN 应该具有足够大的分布,以覆盖潜在的文本嵌入。在推断期间,使用文本嵌入检索 kNN(参见图 11)。在所有实验中,我们使用 CLIP 作为编码器 f_txt 和f_img,余弦相似度度量作为距离函数 s。实现细节可以在补充材料的第 6.4 节中找到。 

图像生成网络。为了展示我们方法的稳健性,我们将我们的 kNN 方法应用于两种不同的扩散骨干:离散(Gu等人,2021)和连续(Nichol等人,2021;Sohl-Dickstein等人,2015;Ho等人,2020;Dhariwal&Nichol,2021)。尽管在实践中非常不同,但这些模型共享相同的理论思想。设x_0 ~ q(x_0)是我们图像分布的样本。扩散模型 q(x_n | x_(n-1)) 的正向过程是一个在每个步骤添加噪声的马尔可夫链。反向过程 p_θ(x_(n-1) | x_n, x_0) 是一个去噪过程,从初始化的噪声状态中去除噪声。在推断时,模型可以从噪声开始,并逐渐使用 p_θ 去除噪声生成输出。

在离散扩散模型中,

其中 v(x_n) 是一个在 x_n 处具有条目1的 one-hot 向量,Q_n 是一个转移矩阵,建模从状态 x_(n-1) 转移到 x_n 的概率,使用词汇表上的均匀概率以及额外特定 [MASK] 标记的预定义概率。x_0 是一个由 VQGAN(Esser等人,2021)编码器分词的离散向量。为了建模 p_θ,我们遵循(Gu等人,2021)并使用了一个有条件的Transformer(Vaswani等人,2017)。

在连续扩散模型中,

在这里,噪声函数是高斯噪声。为了建模 p_θ,我们遵循(Ramesh等人,2022)并使用了一个 U-net 架构。

我们使用分类器自由引导(Classifier Free Guidance,CFG)(Nichol等人,2021;Ho&Salimans,2021)对这两个模型进行采样。由于 CFG 最初是为连续模型提出的,我们提出了一种与离散模型一起使用的方法。详细信息可以在补充材料的第 6.5 节找到。

3.1 仅文本图像处理 

在图像操作任务中,大多数先前的工作要么依赖于用户提供的掩码(Nichol等人,2021;Avrahami等人,2022b;a),要么仅限于全局编辑(Crowson等人,2022;Kim等人,2022)。最近,一些工作(Bar-Tal等人,2022;Hertz等人,2022;Gal等人,2022)在不依赖于用户编辑的掩码的情况下取得了在局部操作方面的进展。然而,大多数技术仍然存在一些缺点:(1)它们能够实现局部纹理变化,但无法修改复杂的结构,(2)在操纵人物等情况下,它们难以保持对象的身份,(3)它们需要针对每个输入进行优化。 

我们通过扩展 kNN-Diffusion 来解决这些问题,以执行局部和语义感知的图像操作,而无需提供任何掩码。该方法的示意图在图 6 中提供。对于这个任务,模型被训练以从操纵版本预测原始图像。具体而言,我们创建了图像的操纵版本,该版本与原始图像仅在某些局部区域有所不同。给定图像 I 中的随机局部区域 M,操纵图像 I_manip 通过用相应的最近邻替换该区域而构建

其中 nn_img(I, 1) 是使用 ECC 对齐算法(alignment algorithm)(Evangelidis&Psarakis,2008)将其与 I 对齐后获得的最近邻。然后,模型接收操纵图像作为输入,以及仅在局部区域的原始图像的 CLIP 嵌入:f_img(I·M)。这个 CLIP 嵌入表示应该应用于操纵图像以预测原始图像的所需修改。在推断期间,与其使用局部区域的 CLIP 嵌入不同,所需的修改使用用户文本查询的 CLIP 嵌入来表示。我们修改了模型,使其能够接收操纵图像和局部区域的 CLIP 嵌入作为条件。

4. 实验

首先,我们在 MS-COCO、LN-COCO 和 CUB 数据集上进行定性和定量比较,与先前的工作进行对比。为了进一步展示我们方法的优势,我们在一个仅包含图像的贴纸数据集上进行比较,其中我们使用了两个扩散骨干。接下来,我们展示图像操作和越界生成的能力。最后,为了更好地评估每个贡献的影响,我们进行了消融研究。

数据集和指标。对于逼真照片的实验,我们的模型仅在 Public Multimodal Dataset(PMD)的图像上进行了训练(忽略了文本),该数据集是 FLAVA(Singh等人,2021)使用的修改版本。有关数据集的更多信息,请参见补充材料的第 6.2 节。为了进一步展示我们方法的能力,我们从网络上收集了 4 亿个贴纸图像,其中包含对象、角色/头像和文本等概念的组合。这些收集的贴纸没有配对的文本,与逼真数据有很大的差异。此外,由于它们没有配对的文本,它们不属于 CLIP 的训练数据,这使得文本到图像生成任务更具挑战性。

评估指标基于客观和主观指标:(i)FID(Heusel等人,2017)是一种客观指标,用于评估合成图像的质量,(ii)人类评估 - 我们询问人类评分员他们的偏好,比较两种基于图像质量和文本对齐的方法。

我们使用了 600 对图像;每对图像由五名评分员进行评分。结果以赞成我们方法而不是基线的多数票的百分比显示。我们在补充材料中报告了完整的人类评估协议。我们选择省略 Inception-Score,因为 Barratt&Sharma(2018)表明它对于没有在 Imagenet 上训练的模型是一个误导性的指标。

4.1 定性和定量结果

我们首先比较我们的模型,该模型在 PMD 数据集上训练,与先前的 LAFITE 和 FuseDream 等仅在图像数据集上训练的工作。为了展示在文本到图像生成中使用检索方法的优势,我们训练了一个变种模型,即 no-kNN。该基线仅在图像嵌入上进行训练(省略了 kNN),而在推断期间,使用文本嵌入生成图像。表 1 显示了三个不同数据集上的零样本结果:MSCOCO、CUB 和 LN-COCO。我们遵循 LAFITE 的评估协议,在 MS-COCO 上报告我们的结果,不进行训练,也不在 kNN 索引中使用其训练分区。类似地,我们在 CUB 和 LN-COCO 评估中遵循 LAFITE。如图所示,我们的模型在所有情景下都实现了最低的 FID 分数。此外,人类评估将我们的方法评价为与文本对齐更好且图像质量最高。在图 8 中,我们呈现了三种方法之间的定性比较。可以观察到,虽然简单的检索基线输出具有高质量的非生成图像,但我们方法生成的图像更忠实于输入文本。 

为了进一步展示我们方法的有效性,我们在图 4 中将我们的模型与在配对文本-图像数据集上训练的最新文本到图像模型进行了比较:DALL-E、CogView、VQ-Diffusion、GLIDE、Latent Diffusion(LDM)、Make-A-Scene、DALL-E2、Parti 和 Imagen。如图所示,尽管我们的模型是在仅包含图像的数据集上训练的,但它实现了与最近在完整文本-图像对上训练的模型(例如 LDM、GLIDE)相媲美的结果,并且计算成本显著更低。结果表明,利用外部检索数据库使我们的方法能够弥补不同的权衡,特别是减少模型中的参数数量。补充材料中的图 14 提供了更多样本。

文本到贴纸(sticker)生成。由于贴纸数据集没有配对的文本,并且与逼真的数据差异很大,这使得我们能够在仅包含图像的数据集上展示我们的模型的优势。图 1 呈现了我们的模型生成的一些贴纸的选择。

为了展示在仅包含图像的数据集上使用 kNN 的重要性,我们在两个扩散骨干上评估了我们的方法。为此,我们训练了一个连续扩散模型(Ramesh等人,2022)和一个离散扩散模型(Gu等人,2021),两者都在 kNN 图像嵌入的条件下进行训练。对于每个骨干,我们将我们的方法与以下基线进行比较:(1)no-kNN - 该基线是仅使用图像 CLIP 嵌入对连续和离散方法进行训练的,而不使用 kNN。在离散情况下,我们训练了一个 VQ-diffusion 模型,而在连续情况下,我们训练了 DALL-E2 解码器的重新实现(没有先验)。 (2)DALL-E2+ClipCap 基线 - 在这里,我们首先使用 Clip-Cap(Mokady等人,2021)对整个贴纸数据集进行标注,然后在带标注的数据集上训练DALL-E2 解码器。 (3)LAFITE - 我们使用作者发布的代码在我们的贴纸数据集上训练了 LAFITE无语言模型。

我们在表 2 中呈现结果。FID 是在 ClipCap 标题数据集生成的 3000 个贴纸的子集上计算的。如图所示,我们的模型实现了最低的FID分数。此外,它在人类评估比较中表现优越,使用连续和离散骨干。特别是,与同一模型在没有kNN的情况下训练相比,我们的模型在文本对齐和图像质量方面都实现了显著更高的喜好度。

4.2 应用

仅文本图像操作。我们在图 1、3 中展示了我们模型的操作能力。此外,我们使用作者发布的代码在质量上与 Text2LIVE(Bar-Tal等人,2022)和 Textual Inversion(Gal等人,2022)进行了定性比较。Text2LIVE 提出了生成的编辑层,该层由针对每个训练图像训练的生成器组成。Textual Inversion 利用了预训练的 Latent Diffusion 模型将输入图像反转为标记嵌入。然后使用该嵌入来为生成模型构建新的文本查询。图 3 显示了代表性的结果,其余结果包含在补充材料的图 19 和 20中。与我们的模型相比,基线方法缺乏文本对应或者它们不能保留对象的身份。由于 Text2LIVE 被优化以执行局部更改,因此它难以改变对象的结构(例如图3中的“举手”示例)。Textual Inversion基线改变了对象的身份,因为它难以重构源图像的文本表示。另一方面,我们的模型可以执行与文本对齐并保持对象身份的复杂操作。

分布外生成。 将检索索引作为生成过程的一部分使得在推理过程中使用不同的数据库成为可能,而无需进行微调。这使得模型能够从未包含在训练集中的分布中生成图像,实现分布外生成。这种新颖的能力是通过使用相同的在 PMD 上训练的模型演示的,该模型使用三个不同的检索数据库:(i) 在第 4 节中介绍的贴纸数据库。 (ii) 美学数据库:该数据库通过根据分类器分数对图像进行过滤而构建。设 C 是一个分类器,对于每个图像 i ∈ I,它输出一个分数 s = C(i)。该分类器使得可以使用 L ≤ s < H进行 kNN 过滤,其中 L 和 H 分别是低和高阈值。我们使用一个开源的经过预训练的美学分类器 A(Christoph Schuhmann, 2022)来演示这种能力:对于每个文本输入 t ∈ T,我们在 kNN 上应用 A,然后基于 A 分数将 kNN 分为五个相等的量化区间。正如图 9 所示,使用具有较高美学分数的 kNN 生成的图像具有较高的美学平均分数。 (iii) 图像搜索引擎:生成模型在某种意义上是静态的,即它们无法在训练后学习新概念,因此需要微调来表示新的风格和概念。在这里,我们使用在线图像搜索引擎,该引擎允许模型适应新数据而无需进行额外的微调。所有三种方法的定性比较如图7所示。 

4.3 消融研究

我们通过消融研究总结了我们的实验,以量化我们不同组件的贡献。实验在 PMD 数据集上执行,并在 MS-COCO 数据集上报告了 FID 分数。在补充材料的第 6.3 节中提供了对索引大小和不同kNN 调节方法的消融分析。最近邻居的数量。图 10 中的结果表明在训练和推断过程中应用检索机制的重要性。在这里,我们评估了我们的 kNN-Diffusion 模型,在 PMD 数据集上训练,在推断过程中使用不同数量的 kNN - 1; 5; 10; 20; 100; 1000。此外,我们还研究了无 kNN 的基线,其中在推断过程中,模型仅以文本输入嵌入 f_txt(t) 为条件,而不使用 kNN。可以看到,使用 10 个邻居获得了最佳性能。

5. 结论

“我们将始终发现,我们检查的每个思想都是从类似的印象中复制而来”,Hume(1748年)。在这篇论文中,我们提出使用大规模检索方法来训练一种新型的文本到图像模型,而无需任何文本数据。我们的广泛实验证明,使用外部知识库减轻了模型学习新概念的负担,使得可以使用相对较小的模型。此外,它使模型能够学会适应仅在测试时观察到的新样本。最后,我们提出一种利用检索方法进行文本驱动的语义操作而无需用户提供掩码的新技术。通过人类研究和自动评估指标,我们的方法在图像质量和文本对齐方面明显优于基线。

S. 总结

S.1 主要贡献

仅仅使用 CLIP 嵌入无法准确地弥合文本和图像分布之间的差距。为了缩小这个差距,本文介绍生成模型,kNN-Diffusion,该模型利用了大规模检索方法 k-Nearest-Neighbors(kNN)搜索,以在没有任何文本数据的情况下训练模型。此外,本文基于 CLIP 和 kNN 来进行局部和语义操作,而无需依赖用户提供的掩模。

S.2 方法和架构

kNN-Diffusion 架构如图 5 所示,由三个主要组件组成:

  • 多模态预训练文本-图像编码器(CLIP):用于获取文本和图像的嵌入;
  • 检索模型:在训练时,基于图像嵌入在特征空间中搜索其 k 个最近邻居,这 1+k 个嵌入作为生成模型的条件;在推断时,基于查询文本的嵌入,在这 1+k 个图像嵌入中进行检索;
  • 图像生成网络:本文用连续和离散扩散模型进行图像生成,并将用于连续模型的分类器自由引导用于离散模型中。

图像操控的流程如图 6 所示。

  • 模型被训练以从操纵版本预测原始图像。
  • 给定图像中的随机局部区域,操纵图像通过用相应的最近邻替换该区域而构建;
  • 然后,模型接收操纵图像以及原始图像局部区域的 CLIP 嵌入作为输入。这个 CLIP 嵌入表示基于操纵图像预测原始图像所需的修改;
  • 在推断期间,与使用局部区域的 CLIP 嵌入不同,所需的修改由文本的 CLIP 嵌入来表示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1300411.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PyQt下使用OpenCV实现人脸检测与识别

背景&#xff1a; 一 数字图像处理与识别警务应用模型 基于前期所学知识&#xff0c;与公安实践相结合&#xff0c;综合设计数字图像处理与识别警务应用模型,从下列4个研究课题中选择2个进行实验实现&#xff1a;图像增强与复原、人脸检测与识别、虹膜内外圆检测与分割、车牌…

Android 11 适配——整理总结篇

背景 > 经过检测&#xff0c;我们识别到您的应用&#xff0c;目前未适配安卓11&#xff08;API30&#xff09;&#xff0c;请您关注适配截止时间&#xff0c;尽快开展适配工作&#xff0c;避免影响应用正常发布和经营。 > targetSdkVersion30 升级适配工作参考文档&am…

redis数据淘汰策略:

面试官&#xff1a;了解redis数据淘汰策略吗&#xff1f; 就是当Redis内存使用达到设置的上限时&#xff0c; 此时需要使用redis数据淘汰机制来进行数据淘汰。&#xff08;有针对key的 和 针对value数据的&#xff09; Redis支持8种不同策略来选择要删除的key&#xff1a; n…

ant Design of vue 实现table每栏动态根据条件设置背景颜色(table栏每一栏颜色自定义)

效果图&#xff1a; 注意效果图中&#xff0c;table的表格每一栏颜色都要不一样 代码实现&#xff1a; 页面结构&#xff1a; <a-table :columns"columns" :loading"tableLoading" :data-source"tableData" rowKeyid size"middle&quo…

IntelliJ IDEA开启git版本控制的简单教程

这篇文章想要分享一下怎么在IntelliJ IDEA开启版本控制&#xff0c;博主使用的是gitee&#xff0c;首先需要安装git&#xff0c;关于git的安装这里就不介绍了&#xff0c;很简单。 目录 创建git仓库 创建项目 开启版本控制 拉取项目 创建git仓库 首先&#xff0c;需要登录…

C++ 模拟实现vector

目录 一、定义 二、模拟实现 1、无参初始化 2、size&capacity 3、reserve 4、push_back 5、迭代器 6、empty 7、pop_back 8、operator[ ] 9、resize 10、insert 迭代器失效问题 11、erase 12、带参初始化 13、迭代器初始化 14、析构函数 完整版代码 一、…

Python 调用 Halcon 模板匹配实现目标定位

一、Halcon 当谈及计算机视觉领域中强大的工具和框架时&#xff0c;Halcon&#xff08;由德国MVTec 公司开发&#xff09;无疑是一个备受关注的系统。Halcon被广泛用于工业视觉和机器视觉应用中&#xff0c;其强大的功能和灵活性使其成为许多开发人员和研究人员的首选选择。 …

【合集】SpringBoot——Spring,SpringBoot,SpringCloud相关的博客文章合集

前言 本篇博客是spring相关的博客文章合集&#xff0c;内容涵盖Spring&#xff0c;SpringBoot&#xff0c;SpringCloud相关的知识&#xff0c;包括了基础的内容&#xff0c;比如核心容器&#xff0c;springMVC&#xff0c;Data Access&#xff1b;也包括Spring进阶的相关知识&…

支持大模型训练的计算机系统

摘要&#xff1a; 训练数据决定了基础大模型可用的理论信息&#xff0c;模型架构和训练目标决定了可以提取多少信息&#xff0c;计算机系统决定了实际可实现的内容。在数据和模型大小方面&#xff0c;系统是扩展的关键瓶颈&#xff0c;这两者似乎都可以可靠地跟踪能力的改进。在…

Bypass open_basedir

讲解 open_basedir是php.ini中的一个配置选项&#xff0c;可用于将用户访问文件的活动范围限制在指定的区域。 假设open_basedir/var/www/html/web1/:/tmp/&#xff0c;那么通过web1访问服务器的用户就无法获取服务器上除了/var/www/html/web1/和/tmp/这两个目录以外的文件。…

【网络安全】vulhub靶场搭建与一个漏洞的简单示例

vulhub是一个经典的靶场&#xff0c;里面大约包含了200个不同的漏洞&#xff0c;可以说是安全从业者必刷。 无需docker知识&#xff0c;简单执行一条命令即可编译、运行一个完整的漏洞靶场镜像。 我的环境是CentOS 7。 先安装docker sudo curl -L "https://github.com…

Linux-帮助命令的使用和练习(type、man、help、info详解)

目录 5.3.1 type-判断是否为内部命令 5.3.2 man-查看详细文档 5.3.3 help-查看shell内部命令的帮助信息 5.3.4 --help-查看系统外部命令帮助信息 5.3.5 info-查看info格式的帮助指令 5.3.6 /usr/share/doc-存储软件包的文档信息 平时我们看到的命令大多数都可以查看帮助文…

Redis有序集合对象

一.编码 有序集合的编码可以是ziplist或者skiplist。 ziplist编码的有序集合对象使用压缩列表作为底层实现&#xff0c;每一个集合元素使用紧挨在一起的两个压缩列表节点来保存。第一个节点保存元素的成员(member)&#xff0c;而第二个元素则保存元素的分值(score)。 127.0.0.…

全面解析“由于找不到hid.dll,无法继续执行代码”的4个解决方法

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“找不到hid.dll”。这个问题通常出现在尝试运行某个程序或访问某个设备时。那么&#xff0c;当我们遇到这个问题时&#xff0c;应该如何解决呢&#xff1f;本文将详细介绍找不到hid.dll的解…

Java第二十一章总结

网络编程三要素 ip地址&#xff1a;计算机在网络中的唯一标识 端口&#xff1a;应用程序在计算机中唯一标识 协议&#xff1a;通信协议&#xff0c;常见有UDP和TCP协议 InetAddress类 表示Internet协议地址 //返回InetAddress对象 InetAddress byName InetAddress.…

程序员的养生之道

程序员的养生之道 1 对程序员的初次印象2 我的养生之道2.1 规律作息&#xff1a;2.2 合理饮食&#xff1a;2.3 健康饮食&#xff1a;2. 4 增强锻炼&#xff1a;2. 5 心态平和&#xff1a;2. 6 生活习惯&#xff1a;2.7 定期体检&#xff1a;2.8 特殊注意&#xff1a;2.9 补充能…

Zookeeper系统性学习-应用场景以及单机、集群安装

Zookeeper 是什么&#xff1f; Zookeeper 为分布式应用提供高效且可靠的分布式协调服务&#xff0c;提供了诸如统一命名服务、配置管理和分布式锁等分布式的基础服务。在解决分布式数据一致性方面&#xff0c;ZooKeeper 并没有直接采用 Paxos 算法&#xff0c;而是采用了名为 …

微表情检测(三)----基于光流特征的微表情检测

Micro-expression spotting based on optical flow features 基于光流特征的微表情检测 Abstract 本文提出了一种高精度和可解释性的自动微表情检测方法。首先&#xff0c;我们设计了基于鼻尖位置的图像对齐方法&#xff0c;以消除由头部晃动引起的全局位移。其次&#xff0…

C# Winform 日志系统

目录 一、效果 1.刷新日志效果 2.单独日志的分类 3.保存日志的样式 二、概述 三、日志系统API 1.字段 Debug.IsScrolling Debug.Version Debug.LogMaxLen Debug.LogTitle Debug.IsConsoleShowLog 2.方法 Debug.Log(string) Debug.Log(string, params object[]) …

lv12 系统移植导学 1

1 导学 Kernel学习主要包括三块内容&#xff0c;ARM&#xff08;汇编、协议&#xff09;、系统移植、驱动移植 lv12主要时安装系统linux linux主要帮我们实现了5大功能 1 进程、线程管理 2 内存管理 3 网络协议栈管理 4 文件系统管理 5 设备管理 2 移植的目的 不同架构…