赞
踩
Retrieve Fast, Rerank Smart:Cooperative and Joint Approaches for Improved Cross-Modal Retrieval 快速检索,智能重排:改进跨模态检索的协作与联合方法
目前最先进的跨模态检索方法是基于 Transformer 的架构,通过交叉注意力机制对图像中的所有文字和对象进行关注,从而联合处理文本和视觉输入。这些模型虽然提供了无与伦比的检索性能,但也存在以下问题 1)通常是从头开始预训练,因此可扩展性较差,2)存在巨大的检索延迟和效率低下问题,这使它们在现实应用中不切实际。为了解决这些关键差距,实现改进和高效的跨模态检索,我们提出了一种新颖的微调框架,可将任何预训练的文本-图像多模态模型转化为高效的检索模型。该框架基于协作检索和重排方法,它结合了以下几个方面: 1) 双网络(即双编码器)分别对语料库中的所有项目进行编码,从而实现高效的初始检索,以及 2) 交叉编码器组件对检索到的小项目集进行更细致(即更智能)的排序。我们还提出利用共享权重对这两个部分进行联合微调,从而建立一个参数效率更高的模型。我们在一系列标准的跨模态检索基准上进行了单语、多语种和零样本设置的实验,结果表明,与最先进的交叉编码器相比,该技术不仅提高了准确性,还具有巨大的效率优势。
在这项研究中,我们旨在利用两方面的优势,提高跨模态搜索和检索的效率:1)基于孪生网络的 BE(双编码器) 方法的效率和简便性,以及 2)CE 方法的表现力和尖端性能。我们首先对基于 Transformer 的多模态 BE 和 CE 方法在一系列图像搜索评估基准中的有效性和效率进行了系统的比较分析。然后,我们提出了两个新模型,旨在融合 CE 和 BE 的主要优势。第一个模型变体被称为协作(SEP+COOP),其背后的理念是使用两个独立训练的检索模型进行检索和重排: 1) 由更高效的 BE 模型检索潜在相关项目(即文本或图像)的初始 top-k 列表,然后 2) 由更精确的 CE 模型 "聪明地 "对该 top-k 列表进行重新排序,如图 1c 所示。我们的第二种联合(JOINT+COOP)模型变体也采用了相同的检索和重排设置,但它现在以并列权重联合训练多模态交叉编码器和多模态 BE 模型,如图 1d 所示。效率至上的检索步骤再次由 BE 子模型执行,而以精度为导向的重排步骤则由 CE 子模型执行。
我们提出了一个用于跨模态搜索和检索的通用框架,其中的 JOINT+COOP 和 SEP+COOP 模型与所选的预训练视觉语言表示架构无关。因此,实验基于最先进的视觉语言架构 OSCAR(Li 等人,2020b)(英语实验)和 M3P(Ni 等人,2021)(多语种),我们证明了在标准基准 MSCOCO 和 Flick30k 上与原始 OSCAR 模型相比的持续改进,以及在 Multi30k 数据集上与原始 M3P 在多语种上的改进。我们通过实证验证了提出框架的巨大效率优势。
跨模态图像-文本检索的高效方法依赖于归纳共享的多模态视觉-语义嵌入空间(VSEs)。最近,基于注意力的交叉编码器模型(通常基于 Transformer 架构)(Vaswani 等人,2017 年)在很大程度上超越了基于 VSE 的方法。然而,这也付出了检索效率下降和延迟增加的严重代价(Lee 等人,2018;Wang 等人,2019b)。目前最先进的多模态模型对文本标记和图像特征进行联合编码和交叉关注。这些 CE 方法利用 MSCOCO和 Flick30k等图像标题数据集,训练一个分类头,学习识别(图像、标题)输入对是否构成对齐对。每个图像-文本组合都必须通过网络,而网络的规模与示例的数量成二次方关系。
为了处理这种二次增长,我们采用了协作检索和重排方法。据我们所知,这种方法尚未在跨模态设置中使用过,但它在 NLP 领域却有着悠久的历史。直到最近,词袋方法(BoW,如 BM25)仍被普遍用于第一步检索。在第二步中,预训练的语言模型(LMs)经过微调,可以对候选词进行重新排序,或者针对问答任务直接生成答案跨度。最近关于基于文本的检索和质量保证任务的研究已经从 BoW 方法转向用于第一步检索的学习(神经)模型。
我们的工作受到了最近在单模态纯文本设置中基于 BE 的方法的启发。在这里,LMs 通过孪生网络架构在语义文本相似性、响应检索或翻译排序等辅助任务上进行微调。 这就有效地将 LM 变成了统一的句子编码器,从而可以现成地用于高效的基于文本的单语和跨语言检索。 在这项工作中,我们首先将这一想法扩展到多模态设置中,然后证明我们的协作和联合方法可以改进跨模态检索模型,并保持检索效率。
我们证明,可以用较少的数据对预训练模型进行微调,并提供了一个适用于各种预训练模型的通用框架。最后,VisualSparta在标记(文本)和图像区域嵌入的层面上对 OSCAR 进行了微调。这样就可以使用极快的查找表进行高效检索。我们的协作方法在检索时确实利用了更细粒度的信息。
基于 Transformer 的多模态文本视觉架构主要是单流编码器:它在两种模态之间共享大部分权重,包括多头交叉注意。Transformer权重和文本嵌入通常使用预训练 LM 的权重进行初始化(例如,针对英语的 BERT),针对多语言模型的 XLMR,其中使用了相应的词汇和标记符。图像通过目标检测模型(如 Faster R-CNN)进行预处理,以提取感兴趣区域的特征表示(Anderson 等人,2018 年)。图像特征通过仿射变换层,该层学习如何将视觉输入与预训练的Transformer对齐。感兴趣区域的位置(或在某些模型中区域的宽度和高度)用于生成位置嵌入。通过将这两种表征结合起来,每个物体区域都会被分别传入Transformer。Transformer的交叉注意力机制会在每一层关注所有文本和图像输入,从而学习两种模态的联合表征。
与文本领域的屏蔽语言建模(MLM)类似,多模态Transformer模型也是通过自我监督目标进行训练的。为了进行预训练,我们使用了图像字幕数据集(即 MSCOCO、Flickr30k、Conceptual Captions (CC)和 SBU)。预训练的多模态模型随后会通过多模态下游任务数据进行微调。我们重点讨论了针对图像-文本检索下游任务的预训练模型的不同微调策略。图 1 是这些方法的示意图,下文将对其进行描述。
图 1:用于图像和文本检索的不同架构。相同颜色表示共享权重
对于图像和文本检索任务,使用预训练多模态Transformer模型的主流方法是对每个图像-文本组合进行交叉编码(见图 1a)。
训练:预训练模型接收正负图像和标题对作为输入。负对也是从训练数据集(如 MSCOCO、Flickr30k)中抽取的。二进制分类头被置于Transformer模型之上,[CLS] 标记的上下文嵌入被传递到分类头中。分类器的权重与Transformer、词嵌入和图像特征转换矩阵一起,使用二进制交叉熵(BCE)损失进行全面微调:
p(i,c)表示输入的图像 i 和标题 c 的组合具有正标签的概率(即是否为正确的图像-标题组合);如果(i,c)是一对正标签,则 y = 1;如果图像或文本被替换(即一对负标签),则 y = 0。
检索:检索时,需要处理所有 (i, c) 组合,并根据概率 p(i,c)进行排序。例如,在给定文本查询 c 的情况下,从图像集 I 中检索最相关的单张图像 i 的过程如下:
尽管这种方法的性能通常很高,但计算成本也很高,因为每个目标实例都需要与查询一起通过整个网络才能获得分数 p(i,c);也就是说,这种方法在检索过程中不会利用任何预先计算的表征。
训练:每幅图像和文字标题都会分别通过预训练的转换器模型(图 1b)。孪生网络的目标是将相关的训练实例(i、c)置于共享的多模态空间中,而将不相关的实例置于较远的空间中。这是通过一个标准的三重损失函数来实现的。它利用(i, c, c′)和(i, i′, c)三元组,其中(i, c)是训练语料中的正向图像标题对,而 c′和 i′是从同一语料中抽取的负向实例,这样在语料中就不会出现图像标题对/实例(i, c′)和(i′, c)。那么三重损失为:
取样负面示例:负面示例可能会对训练和性能产生深远影响,已有研究表明,选择硬负面示例通常会提高性能(Faghri 等人,2018 年)。然而,只有基于 BE 的方法才有可能检测到这种硬负面,因为对所有实例进行交叉编码在计算上是不可行的。我们依靠的是 InBatch Hard Negatives(BHN)方法,这是一种计算效率高的硬负面实例采样方法。简而言之,BHN 从训练语料库中随机抽取 N 个负面示例,然后根据它们与所有正面示例的距离进行排序;对于每个正面示例,选择最接近的负面示例作为最难的负面示例。通过增大 N,抽取到真正的高难度负面例子的概率就会增加。
检索:BE 方法可对所有项目进行预编码,以便高效检索。例如,使用生物编码器对文本查询 q 进行编码,然后检索图像集合 I 中最相似的预编码实例:arg maxi∈I cos(i,q)。
这种方法甚至可以扩展到数十亿幅图像,但无法保证嵌入中充分编码了区分真正相关和相关实例所需的重要特异性信息。此外,这种方法在资源匮乏的情况下可能无法很好地推广,因为如果训练数据从未要求模型学习输入的细粒度部分,那么模型就不需要学习这些部分。
我们在协作检索方法(SEP+COP)中结合了两种模型类型(CE 和 BE)的优势,如图 1c 所示。
训练和检索:两个模型,一个是 CE 模型(第 3.1 节),一个是 BE 模型(第 3.2 节),分别独立训练。之后,检索步骤分为两个阶段。首先,使用高效的 BE 模型从整个大集合中检索前 k 个相关条目,从而得到一个更小的集合 Ik: Ik = topk({cos(i,q):∀i∈ I}),其中 topk(-) 检索前 k 个最相似实例的集合。其次,我们使用更精确但计算成本更高的 CE 模型对 Ik 中的实例进行重新排序:arg maxi∈I′ p(i,c)。然而,由于这种方法需要在内存中存储两个模型,其参数效率不如前几种方法。
训练和检索:我们建议训练一个既能交叉编码又能嵌入(即 “双编码”)的联合模型,而不是依赖两个完全分离的模型,见图 1d。具有共享参数的联合模型通过交替使用各自的子模型及其输入类型进行训练。交叉编码时,使用 BCE 损失训练专用预测头(第 3.1 节)。为了训练基于 BE 的子模型,我们再次采用了孪生结构,并使用公式 (2) 中的三重损失。
检索采用与第 3.3 节中相同的两步检索-重排程序。我们首先使用成本更低的基于 BE 的子模型获取集合 Ik,然后使用 CE 子模型对其条目进行重新排序。我们结合了 CE 和 BE 的优点,同时保持了参数效率。在训练中同时使用两种学习目标,联合模型就会被迫从不同的角度观察输入,从而在提高参数效率的同时提高泛化能力。
第 3 节中的微调框架可应用于任何预训练的多模态Transformer。在所有实验中,我们都选择了单语(英语)和多语语境中最先进的预训练多模态模型: 分别是 OSCAR和 M3P。OSCAR 是一个单流多模态Transformer,其权重由预训练的 BERT 基础模型初始化,随后在多模态数据上进行微调。与之前的工作不同,OSCAR 还使用了检测区域的目标标签:这些标签可作为视觉基础的锚点,与之前的工作相比有了很大的改进。M3P 是一种单流多语言多模态Transformer。它的权重使用预训练 XLM-R Base 的权重进行初始化,然后在多模态数据(见第 3 节)和多语言纯文本数据上进行微调。
训练和测试数据:我们主要使用英文图像-文本检索基准 MSCOCO 和 Flick30k 进行实验。此外,我们还使用概念性标题(Conceptual Captions,CC)的开发集进行零样本评估,并构建了一个更大、更难的测试集(见第 6 节下文)。在多语言实验中,我们使用了标准的Multi30k数据集,该数据集扩展了Flickr30k,每张图片有5个德语标题、1个法语标题和1个捷克语标题。其测试集也包括 1k 张图片。评估指标是标准的 Recall-atM (R@M):它报告的是相关目标项目出现在前 M 个检索项目中的查询比例。
训练设置和超参数:除非另有说明,我们的训练设置基本沿用了 Li 等人(2020b)和 Ni 等人(2021)的训练设置。一个批次包含 128 个正对和 128 个带 LCE 的负对。我们使用 AdamW 优化器,其线性学习率衰减不预热,权重衰减为 0.05。我们每 5k 步进行一次模型checkpoint,并选择开发集性能最佳的checkpoint。
CE:我们的主要基线是在标准 CE 设置中使用的 OSCAR 和 M3P 模型,详见第 3.1 节。在检索时,我们对每个文本图像组合进行交叉编码,并根据相应的概率对它们进行排序,见公式 (1)。
BE:我们采用 BHN 负采样,发现训练 30k 步、学习率为 5e - 5、保证金 α = 0.1 的效果最佳。
SEP+COOP:对于无联合训练的协作方法(§3.3),我们用 BE 提取排名前 20 的实例,然后通过 CE。
JOINT+COOP:对它们进行重排。在训练联合模型时,我们交替使用这两个目标函数(见第 3.4 节)。我们发现,以 2e - 5(OSCAR)或 5e - 5(M3P)的学习率进行 60k 更新步的训练效果最佳,其余超参数与单独训练的模型相同。对于检索,我们再次设置 k = 20。为了证明合作检索的优势,我们还对源自联合模型的两个非合作变体进行了评估: JOINT+CE 使用 CE 子模型进行单步 CE 式检索,而 JOINT+BE 则在完全 BE 检索设置中运行。
底层预训练变换器用上标表示:例如,JOINT+COOPOSCAR表示 1) 预训练的 OSCAR 2) 使用第 3.4 节中的联合变体进行微调,3) 然后用于协作检索设置。
纯英语单语数据集 Flickr30k 和 MSCOCO 的主要结果汇总于表 1,多语种 Multi30k 的得分见表 2。不出所料,所有基于Transformer的方法(G2 和 G3 组)都大大优于Transformer(PT)前模型(G1)。这一点已在 CE 方法的前期工作中得到证实,而我们的研究结果则证实,高效的 BE 方法也是如此。这验证了在大型语料库中预先训练的转换器架构在检索任务中的有效性。BE 的 R@1 分数略微落后于 CE 分数,但各自的 R@10 分数基本持平。这表明 BE 方法是 "粗粒度 "的,主要依赖于模态之间的 "全局 "交互。我们将在第 6 节中进一步研究这一猜想。
表 1: MSCOCO 和 Flickr30k 的结果(单语设置)。G1 组是文献中使用Pre-Transformer (PT) 方法得出的结果。G2 表示使用Transformer(CE∗; §3.1)的最新交叉编码器的结果。† 表示直接从文献中获取的结果(李等人,2020b),而 ‡ 表示我们自己利用模型权重获得的结果。G3 包括高效检索方法,这些方法或者仅基于距离指标检索图像(BE,§3.2),或者依赖 SEP+COOP 方法(见§3.3 和§3.4)。最后两行是没有协作检索步骤的联合模型的结果(见§4.1)。每组的最高结果以粗体表示,最高总体结果以下划线表示。
图 2 中的一个例子也说明了这一点。在处理相关目标项目时,CE 的交叉注意机制能够明确地注意到每个标记和图像区域,从而捕捉到与查询相关的额外(非全局)信息。虽然滑雪者这一高级 "全局 "概念存在于(几乎)每个示例中,但与滑雪者穿着有关的额外重要信息却没有在嵌入中得到充分体现。因此,BE(子)模型没有把这个实例排在最前面。然后,CE(子)模型直接对实例进行比较,确定服装很重要,并相应地对目标实例重新排序。
图 2:我们利用 JOINT+BEOSCAR子模型高效地检索出顶级实例,从而识别出(全局)最相关的目标实例。然后,更精确但效率较低的 JOINT+CEOSCAR子模型将图像的具体复杂性分解开来。排名从左到右依次进行。
表 2: Multi30k(多语言设置)的结果。根据之前的工作(Ni 等人,2021 年),我们报告了平均召回率(mR)得分:mR 计算图像到文本检索和文本到图像检索任务的平均召回率@1、召回率@5 和召回率@10。比较中的所有方法都使用了所有四种语言的文本数据。如表 1 所示,我们将模型分为 G1-G3 组。† 表示直接取自文献的结果,‡ 表示我们自己的结果。
表 3: 使用单个 GPU/CPU 对一个包含 5 万或 100 万张图片(含预编码图片)的图片集进行查询时的检索延迟。查询与图像交叉编码的批量大小为 512。CPU 为英特尔至强 Gold 6154。
表 4:在 NVIDIA V100 上对 1k、5k 和 100k 图像的 MSCOCO 测试集进行评估的时间,批量大小为 512。时间包括对图像和文本进行偏置编码的时间,即未预先计算嵌入。* 表示外推值。
表 5:使用较大基准的结果。带下划线的数据集表示实际的标准任务,并使用了相应的任务数据和标签,而斜体数据集中的实例则用作额外的非相关测试实例(即搜索空间中的干扰项)。
表 6: Flickr30k、MSCOCO 和 CC 上的零样本评估结果。对于 Flickr30k 和 MSCOCO 的结果,我们在相应的其他数据集上进行了训练。对于 CC 结果,我们在 Flickr30k 上进行训练。JOINT+COOPOSCARIn-Domain是 JOINT+COOP 方法的域内性能,此处代表上限。
表 7:Multi30k 上的多语言图像-文本检索结果(以 mR 为单位)。模型在英语数据上进行了训练。非英语语言的平均结果。
图 3:微调数据大小对检索性能的影响。MSCOCO 训练和测试数据;OSCAR 作为底层Transformer。
图4:Flickr30k上的半尺寸与全尺寸型号。对于半尺寸模型,我们跳过每个奇数编号的Transformer层
表8:SEP+COOP和JOINT+COOPre排名前K的结果。粗体数字表示每个单独模型的得分最高的值。
表9:Flickr30k上嵌入和交叉编码器分数的不同组合的结果,使用函数ADDλ和NORM_ADDλ以及λ的不同值。-表示仅使用交叉编码器重新排序的结果
最重要的是,R@1 与 R@10 分数的相对比较从经验上暗示了检索-重排协作方法的必要性:BE 方法能有效检索出 20 个相关示例,但需要 CE 所增强的表达能力来完善最初检索出的列表。此外,即使没有联合训练(SEP+COOPOSCAR 和 SEP+COOPM3P),协作设置中的结果也证明了这两种模型是相互支持的:与纯 CE 相比,BE 模型略有改进,但与 CE 相比,BE 模型的效率得到了大幅提升。我们的推测是,BE 模型过滤了误报,这反过来又使 CE 模型更加稳健。
JOINT+COOP 变体的结果表明,通过提高参数效率来保持检索效率确实是可行的:这种方法的性能与标准的最先进 CE 模型相当,甚至略胜一筹。结果验证了两个目标函数不会相互干扰,而且一个模型就能同时进行嵌入和交叉编码。我们注意到,JOINT+COOP 变体在参数和检索效率之间做出了最佳权衡,在单语 MSCOCO 和 Flickr30k 基准测试中取得了最高分,在多语 Multi30k 基准测试中取得了极具竞争力的结果。
我们发现仅仅依靠交叉编码器就能获得最佳结果。这表明,双编码器的得分在包含所有数据的 "全局 "范围内对检索强候选者很有用,但在前 k 个候选者的 "局部 "范围内,交叉编码器则更胜一筹。
我们提出了一种新颖的框架,可将预训练的多模态Transformers转换为高效的跨模态检索模型。该框架适用于任何预训练模型,并结合了双编码器(BE)方法的效率和计算要求更高的交叉编码(CE)方法的准确性。它们在检索中的协同效应是通过协作检索-重排机制实现的,在该机制中,通过高效的双编码器(BE)方法从一个大集合中进行初始检索,然后通过 CE 模型执行另一个精度驱动步骤。此外,我们还引入了一种参数高效的联合微调机制,将 BE 和 CE 融合到一个具有共享权重的单一模型中。我们在一系列标准的单语和多语跨模态检索任务和设置中使用了最先进的预训练模型,结果验证了这种协作和联合方法的强大性能。与此同时,我们还证明了它们的检索效率,这使得它们在拥有大量数据集的现实检索场景中是可行的。在未来的工作中,我们将更加关注零样本检索和少样本检索场景,并将这种方法扩展到更多语言、模态和任务中。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。