信息检索(29):APPROXIMATE NEAREST NEIGHBOR NEGATIVE CONTRASTIVE LEARNING FOR DENSE TEXT RETRIEVAL


原文链接:https://arxiv.org/pdf/2007.00808.pdf
(2021)


摘要

在学习的密集表示空间中进行文本检索具有许多有趣的优点。然而,密集检索(DR)的性能通常不如基于单词的稀疏检索。在本文中,我们首先从理论上证明密集检索的瓶颈是小批量训练中采样的无信息负样本的主导,这会产生梯度范数递减、梯度方差大和收敛速度慢。
然后,我们提出近似最近邻否定对比学习(ANCE),它从整个语料库中全局选择硬训练否定。我们的实验证明了 ANCE 在网络搜索、问答和商业搜索引擎中的有效性,表明 ANCE 点积检索几乎与基于 BERT 的级联 IR 管道的准确性相匹配。我们还通过实证验证了我们的理论,即使用 ANCE 进行负采样可以更好地近似预言重要性采样过程并提高学习收敛性。

1 引言

许多语言系统依赖文本检索作为查找相关信息的第一步。例如,搜索排名(Nogueira & Cho,2019)、开放域问答(OpenQA)(Chen 等人,2017)和事实验证(Thorne 等人,2018)都首先检索相关文档以进行后期重新排名,机器阅读和推理模型。所有这些后期模型都享受到深度学习技术的进步(Rajpurkar et al, 2016; Wang et al, 2019),而第一阶段检索仍然主要依赖于匹配离散词袋,例如 BM25,已经成为许多系统的痛点(Nogueira & Cho,2019;Luan et al,2020;Zhao et al,2020)。
密集检索(DR)旨在通过在神经网络学习的连续表示空间中进行匹配来克服稀疏检索瓶颈(Lee 等人,2019;Karpukhin 等人,2020;Luan 等人,2020)。它具有许多所需的属性:完全可学习的表示、与预训练的轻松集成以及近似最近邻 (ANN) 搜索的效率支持(Johnson 等人,2017)。这些赋予密集检索一个有趣的潜力,可以从根本上克服稀疏检索的一些内在限制,例如词汇不匹配(Croft 等人,2009)。

密集检索的一项挑战是在学习表示空间时构建适当的负实例(Karpukhin 等人,2020)。与重新排序(Liu,2009)中的训练和测试负例都是来自先前检索阶段的不相关文档不同,在第一阶段检索中,DR 模型需要区分具有数百万或数十亿文档的语料库中的所有不相关文档。如图 1 所示,这些底片与稀疏模型检索到的底片有很大不同。
在这里插入图片描述
最近的研究探索了构建密集检索的负训练实例的各种方法(Karpukhin 等人,2020),例如,使用对比学习(Oord 等人,2018;He 等人,2020;Chen 等人,2020a)来选择当前或最近的小批量。然而,正如最近的研究(Karpukhin 等人,2020)中观察到的那样,批处理局部负例虽然在学习单词或视觉表示方面有效,但在密集检索的表示学习中并不明显优于备用检索负例。此外,密集检索模型的准确性通常低于 BM25,尤其是在文档上(Gao 等人,2020b;Luan 等人,2020)。

在本文中,我们首先从理论上分析了负采样密集检索训练的收敛性。使用方差减少框架(Alain et al, 2015; Katharopoulos & Fleuret, 2018),我们表明,在密集检索中常见的条件下,局部批内负数会导致梯度范数递减,导致随机梯度方差较高且速度缓慢训练收敛——局部负采样是密集检索有效性的瓶颈。

根据我们的分析,我们提出了近似最近邻负对比估计(ANCE),这是一种用于密集检索的新对比表示学习机制。 ANCE 使用正在优化的 DR 模型从整个语料库中检索来构造全局负例,而不是随机或批量的局部负例。
这从根本上调整了训练中负样本的分布和测试中分离的不相关文档的分布。从方差减少的角度来看,这些 ANCE 负数提高了每个实例梯度范数的上限,减少了随机梯度估计的方差,并导致更快的学习收敛。

我们使用异步更新的语料库表示的 ANN 索引来实现 ANCE。
与 Guu 等人 (2020) 类似,我们维护一个推理器,它使用正在优化的 DR 模型中的最近检查点并行计算文档编码,并在完成后刷新用于负采样的 ANN 索引,以跟上模型训练的步伐。我们的实验证明了 ANCE 在三种文本检索场景中的优势:标准网络搜索(Craswell 等人,2020)、OpenQA(Rajpurkar 等人,2016;Kwiatkowski 等人,2019)以及商业搜索引擎的检索系统。我们还通过实证验证了我们的理论,即 ANCE 采样负数的梯度范数比局部负数大得多,从而提高了密集检索模型的收敛性。1

2 预备

负采样:
1)BM25 检索结果的top,但是太过于模仿稀疏
2)local mini-batch,效果也不好

在本节中,我们讨论密集检索及其表示学习的预备知识。

任务定义
给定查询 q 和语料库 C,第一阶段检索是查找与查询 D+ = fd1 相关的一组文档; 来自 C (jD+j jCj),然后作为后来更复杂模型的输入(Croft 等人,2009)。密集检索不使用稀疏术语匹配和倒排索引,而是使用学习的嵌入空间中的相似性来计算检索分数 f()(Lee 等人,2019;Luan 等人,2020;Karpukhin 等人,2020):
在这里插入图片描述
其中 g() 是将查询或文档编码为密集嵌入的表示模型。
编码器参数θ提供了主要容量。相似性函数 (sim()) 通常只是余弦或点积,以利用高效的 ANN 检索(Johnson 等人,2017 年;Guo 等人,2020 年)。

Bert 孪生模型
方程的标准实例。 1 是使用 BERT-Siamese/twotower/dual-encoder 模型(Lee et al, 2019; Karpukhin et al, 2020; Luan et al, 2020):
在这里插入图片描述

它使用 BERT 作为编码器 g() 分别对查询和文档进行编码,使用最后一层的 [CLS] 标记表示,并对其应用点积 (·)。这使得文档编码的离线预计算和高效的第一阶段检索成为可能。相比之下,BERT 重新排序器(Nogueira 等人,2019)将 BERT 应用于每个要重新排序的查询-文档对的串联:BERT(q ◦ d),它可以显式访问具有转换器注意的查询-文档之间的术语级别交互,但在第一阶段检索中通常不可行,因为为每个查询枚举语料库中的所有文档成本太高

负采样学习
DR 的有效性在于学习一个良好的表示空间,将查询和相关文档映射在一起,同时分离不相关的文档。这种表示的学习通常遵循标准学习排序(Liu,2009):给定一个查询 q、一组相关文档 D+ q 和不相关文档 D− q ,找到最佳 θ * :

在这里插入图片描述
损失 l() 可以是二元交叉熵 (BCE)、铰链损失或负对数似然 (NLL)。针对第一阶段检索的密集检索的一个独特挑战是,要从整个语料库中分离出不相关的文档 (D− q = C n D+ q )。这通常会导致数百万个负面实例,必须在训练中对其进行采样:

在这里插入图片描述
这里我们开始省略Dq中的下标q。所有 D+ 和 D− 都依赖于查询。一个自然的选择是从 BM25 检索到的顶级文档中采样负数 ^D−。然而,他们可能会使 DR 模型偏向于仅仅模拟稀疏检索(Luan 等人,2020)。另一种方法是在局部小批量中对负例进行采样,例如在对比学习中(Oord 等人,2018),然而,这些局部负例并没有显着优于 BM25 负例(Karpukhin 等人,2020;Luan 等人,2020)

3 密集检索训练的收敛性分析

1)负采样: 直观上,梯度范数较大的负实例更有可能减少非随机训练损失,因此应该比梯度递减的负实例更频繁地采样。
2)无信息的负采样导致损失变小 --》收敛速度变小

在本节中,我们从理论上分析密集检索训练的收敛性。我们首先展示学习收敛和梯度范数之间的联系(第 3.1 节),然后我们讨论密集检索中的非信息负数如何产生不太理想的收敛(第 3.2 节)。

3.1 Oracle 根据每个实例的梯度范数进行负采样

令 l(d +; d−) = l(f(q; d+); f(q; d−) 为训练三元组 (q; d+; d−) 上的损失函数,PD− 为负采样分布给定 (q; d+) 和 pd− 负实例 d − 的采样概率,具有重要性采样的随机梯度下降 (SGD) 步骤(Alain 等人,2015)为:
在这里插入图片描述
其中 θt 是第 t 步的参数,θt+1 是之后的参数,N 是负数的总数。比例因子 1 Npd− 确保方程:图5是完整数据上非随机梯度的无偏估计。

然后我们可以将这个 SGD 步骤的收敛速率描述为向最优 θ * 的移动。经过方差约简推导(Katharopoulos & Fleuret, 2018;Johnson & Guestrin, 2018),设 gd− = 1 Npd− rθt l(d +; d−) 为加权梯度,收敛速度为:
在这里插入图片描述

这表明我们可以通过从分布 PD− 中采样来获得更好的收敛率,该分布将随机梯度估计器 EPD− (jjgd− jj2 ) 或 Tr(VPD− (gd− )) 的方差最小化,因为估计器是无偏的。方差反映了负采样的随机梯度代表所有负样本的完整梯度的程度——后者是理想的但不可行。直观上,我们更喜欢随机估计量稳定且方差较小。
重要性抽样的一个众所周知的结果(Alain et al, 2015;Johnson & Guestrin, 2018)是存在一个最优分布:
在这里插入图片描述
为了证明这一点,可以将 Jensen 不等式应用于梯度方差并验证等式: 11 达到最小值。详细的推导可以在 Johnson & Guestrin (2018) 中找到。

方程。图 11 显示,可以通过对与其每个实例梯度范数成比例的负值进行采样来提高收敛速度(尽管计算成本太高)。直观上,梯度范数较大的负实例更有可能减少非随机训练损失,因此应该比梯度递减的负实例更频繁地采样。在 BERT 微调中也观察到了更大的梯度范数和更好的训练收敛性的相关性(Mosbach 等人,2021)。

3.2 批内负样本信息少且梯度递减

无信息负样本的梯度递减

尽管梯度范数的封闭形式通常不存在,但 Katharopoulos & Fleuret (2018) 推导出以下上限:
在这里插入图片描述
其中L是层数,ρ由中间层的预激活权重和梯度组成,jjrφL l(d +; d−)jj2是最后一层的梯度。该上限的推导基于具有任意深度和任意 Lipschitz 连续激活函数的多层感知(Katharopoulos & Fleuret,2018)。在复杂的神经网络中,中间层受到各种归一化的调节,并且这个上限通常根据经验成立(第 6.3 节)。

此外,对于许多损失函数,例如 BCE 损失和成对铰链损失,我们可以验证当损失为零时,最后一层的梯度范数也为零:l(d +; d−) ! 0 ) jjrφL l(d +; d−)jj2 ! 0(Katharopoulos 和 Fleuret,2018)。将所有内容放在一起,使用几乎零损失的无信息负样本会导致以下不良特性链:
在这里插入图片描述
无信息的负样本会产生递减的梯度范数、学术梯度估计器的较大方差以及不太理想的学习收敛。

局部批内负样本无效

我们认为,在训练 DR 模型时,由于文本检索的两个特性,批量局部负例不太可能提供信息丰富的样本。
设 D−* 为难以与 D+ 区分的信息负例集合,b 为批量大小,我们有 (1) b jCj,批量大小远小于语料库大小; (2) jD−j jCj,只有少数否定词具有信息性,而大多数语料库是无关紧要的。
这两个条件都适用于最密集的检索场景。两者共同使得随机小批量包含有意义的负数 (p = bjD−
j jCj 2 ) 的概率接近于零。从本地训练批次中选择负样本不太可能为密集检索提供最佳训练信号。

4 近似最近邻噪声对比估计

异步更新 ANN 索引,训练和更新分开进行
我们的分析表明,从语料库中构建全局负例以避免无信息的负例,从而实现更好的学习收敛,即使不是必要的,也很重要。在本节中,我们提出近似最近邻否定对比估计(ANCE),它使用异步更新的 ANN 索引从整个语料库中选择否定。

ANCE
通过 ANN 索引中的 DR 模型从顶部检索到的文档中抽取负样本:
在这里插入图片描述
其中 D − ANCE = ANNf(q;d) n D+ 和 ANNf(q;d) 是 f() 从 ANN 索引中检索到的最靠前的文档。根据定义,D − ANCE 是当前 DR 模型最难的负数:D − ANCE ≈ D−*。理论上,这些信息量更大的负样本具有更高的训练损失,提高了梯度范数的上限(方程 13 的第一个组成部分),并防止方程 13 中所示的缓慢收敛。
ANCE 可以与许多 DR 型号配对。为简单起见,我们使用 BERT-Siamese(方程 2),在 q 和 d 之间共享编码器权重以及负对数似然 (NLL) 损失(Luan 等人,2020)。

异步索引刷新
在随机训练期间,DR 模型 f() 在每个小批量中更新。维护最新的 ANN 索引以选择新的 ANCE 负例具有挑战性,因为索引更新需要两个操作:
1)推理:使用更新的 DR 模型刷新语料库中所有文档的表示; 2) 索引:使用更新的表示重建 ANN 索引。
尽管 Index 很高效(Johnson et al, 2017),但推理对于每批计算来说成本太高,因为它需要对比训练批次大得多的语料库进行前向传递。
因此,我们实现了类似于 Guu 等人(2020)的异步索引刷新,并每 m 个批次更新一次 ANN 索引,即使用检查点 fk。如图 2 所示,除了训练器之外,我们还运行一个推理器,它采用最新的检查点(例如 fk)并重新计算整个语料库的编码。同时,训练器使用 ANNfk−1 中的 D − fk−1 继续进行随机学习。

一旦语料库被重新编码,推理器就会更新索引(ANNfk)并将其提供给训练器,例如通过共享文件系统。在此过程中,ANCE 负数 (D − ANCE) 异步更新以“赶上”随机训练,异步间隙由分配给推理器的计算资源确定。我们在第 6.4 节中的实验研究了这种异步间隙对学习收敛的影响。
在这里插入图片描述

5 实验方法

数据集
1)Web 搜索:TREC 2019 DL Track赛道
  query:来自 bing 的 web 查询;doc:来自 MS MARCO 语料库
2)OpenQA:使用 NQ 和 TriviaQA(TQA)
  Top-20 / 100 里面是否有答案

Warm up
1)BM25 Warm up:模型首先由 MARCO 官方提供的 BM25 负样本进行训练
2)不同数据集的设置:
TREC:Roberta-base-uncased开始fine-tune
OpenQA:使用 DPR 的 ckpt 进行 warmup

本节描述我们的实验设置。更多详细信息请参见附录 A.1 和 A.2。

Benchmarks
网络搜索实验使用 TREC 2019 深度学习 (DL) 赛道(Craswell 等人,2020)。它是一个标准的临时检索基准:给定来自 Bing 的 Web 查询,从 MS MARCO 语料库检索段落或文档(Bajaj 等人,2016)。我们使用官方设置并专注于第一阶段检索,但也会显示对 BM25 前 100 名候选者重新排名时的结果。
OpenQA 实验使用自然问题 (NQ)(Kwiatkowski 等人,2019)和 TriviaQA (TQA)(Joshi 等人,2017),遵循 Karpukhin 等人(2020)的确切设置。指标为 Coverage@20/100,用于评估检索到的 Top-20/100 段落是否包含答案。
我们还通过在 ANCE 检索之上运行最先进的系统阅读器来评估 ANCE 更好的检索是否可以传播到更好的答案准确性。阅读器是 NQ 上的 RAG-Token (Lewis et al, 2020b) 和 TQA 上的 DPR Reader,使用他们建议的设置。
我们还研究了 ANCE 在商业搜索引擎生产系统第一阶段检索中的有效性。我们将生产质量的 DR 模型的训练改为 ANCE,并评估各种语料库大小、编码维度和精确/近似搜索的离线增益。

Baselines
在 TREC DL 中,我们包括相关类别中的最佳运行,并参考 Craswell 等人 (2020) 了解更多基线分数。我们使用相同的 BERT-Siamese(方程 2)实现各种 DR 基线,但具有不同的训练负结构:批量随机采样(Rand Neg)、从 BM25 前 100 名随机采样(BM25 Neg)(Lee 等人,2019; Gau 等人,2020b),以及 BM25 和随机阴性的 1:1 组合(BM25 + Rand Neg)(Karpukhin 等人,2020;Luan 等人,2020)。我们还与对比学习/噪声对比估计进行比较,后者使用批量中最难的负例(NCE Neg)(Gutmann & Hyvärinen,2010;Oord 等人,2018;Chen 等人,2020a)。在 OpenQA 中,我们与 DPR、BM25 及其组合进行比较(Karpukhin 等人,2020)。

实验细节
在 TREC DL 中,最近的研究发现 MARCO 通道训练标签更干净(Yan 等人,2019)和 BM25 负片可以帮助训练密集检索(Karpukhin 等人,2020;Luan 等人,2020)。因此,我们包括一个“BM25 Warm Up”设置(BM25!*),其中 DR 模型首先使用 MARCO 官方 BM25 Negatives 进行训练。 BM25 的负面影响也让 ANCE 升温。 TREC DL 中的所有 DR 模型都是在 RoBERTa 基础上进行微调的(Liu 等人,2019). 在 OpenQA 中,我们使用已发布的 DPR 检查点来预热 ANCE(Karpukhin 等人,2020)。

为了适应 BERT-Siamese 中的长文档,ANCE 使用 Dai & Callan (2019b) 中的两个设置,FirstP 使用文档的前 512 个标记,MaxP 将文档分割为 512 个标记的段落(最多 4 个)并且通过级别分数是最大汇总的。 ANN 本身支持最大池化操作。 ANN 搜索使用 Faiss IndexFlatIP 索引(Johnson 等人,2017)。我们在 4 个 V100 32GB GPU 上使用批量大小 8 和梯度累积步骤 2。对于每个正样本,我们从 ANN 前 200 个样本中统一采样一个负样本(加权样本和/或从前 100 个样本中也可以很好地工作)。我们使用一个 32GB V100 GPU、Intel® Xeon® Platinum 8168 CPU 和 650GB RAM 内存来测量 ANCE 效率。

在异步训练中,我们为训练器和推理器分配等量的 GPU,通常各四个或八个。 Trainer 每 5k 或 10k 训练批次生成一个模型检查点。推理器加载最近的模型检查点并并行计算语料库的嵌入。
一旦嵌入计算完成,就会构建一个新的 ANN 索引,并且训练器会切换到它进行负构建。他们的所有通信都是通过共享文件系统进行的。在 MS MARCO 上,ANN 负索引大约每 10K 训练步骤刷新一次。

6 评估结果

1)有效性:确实有效
2)梯度范数大,收敛速度快
3)学习率不能太大,刷新率不能太低
在本节中,我们首先评估 ANCE 的有效性和效率。然后我们实证研究了ANCE训练的收敛性和异步间隙的影响。密集和稀疏检索、超参数研究和案例研究的更多比较见附录。

6.1 有效性

在网络搜索中(表 1),ANCE 显着优于所有稀疏检索,包括基于 BERT 的 DeepCT(Dai 等人,2019)。在具有不同训练策略的DR模型中,ANCE是唯一一种在文档检索方面稳健地超越稀疏方法的模型。在OpenQA中,ANCE在检索精度方面优于DPR及其与BM25的融合(DPR+BM25)(表2)。它还使用与先前最先进的 ANCE 检索器相同的读取器,提高了端到端 QA 准确性(表 4)。 ANCE 的有效性在实际生产中更加明显(表 3)。
在所有 DR 模型中,ANCE 的检索精度和重排序精度之间的差距最小,显示了全局负数在训练检索模型中的重要性。尽管 BERT-Siamese 没有明确捕获术语级别的交互,但 ANCE 检索的准确性几乎与基于交互的 BERT Reranker 的级联 IR 的准确性相匹配(Nogueira & Cho,2019)。通过 ANCE,我们可以学习一个能够有效捕捉搜索相关性技巧的表示空间

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.2 效率

TREC DL 文档中 ANCE (FirstP) 的效率如表 5 所示。在服务中,我们测量每个查询检索/排名 100 个文档的在线延迟,并对查询进行批处理。 DR 比 BERT Rerank 快 100 倍,这是 BERT-Siamese 的天然优势,其中文档编码是离线计算的,并且与查询分开。相比之下,基于交互的 BERT Reranker 每个查询和候选文档对运行一次 BERT。训练计算的大部分内容是计算 ANCE 负构造的语料库编码,这可以通过使索引刷新异步来缓解。

6.3 训练收敛性的实证分析

我们首先展示密集检索中搜索相关性的长尾分布。如图 3 所示,每个查询中有一些实例具有显着较高的检索分数,而大多数实例形成长尾。在检索/排序中,关键的挑战是在得分最高的那些中区分相关的;其余的都是无关紧要的。我们还根据经验测量局部批内阴性的概率,包括信息性阴性 (D−*),通过它们与前 100 个得分最高的阴性的重叠。无论使用 NCE Neg 还是 Rand Neg,这个概率都是零,与我们的理论显示的相同。相比之下,BM25 Neg 与顶部密集检索负片之间的重叠率为 15%,而 ANCE 负片的重叠度从 63% 开始,按照设计收敛到 100%。
在这里插入图片描述
然后,我们凭经验验证了我们的理论,即局部负数会导致较低的损失、有界梯度范数、非理想的重要性采样,从而导致收敛缓慢(方程 13)。 DR 训练期间的训练损失和预剪辑梯度范数如图 4 所示。正如预期的那样,无信息的局部负数导致接近于零的梯度范数,而 ANCE 全局负数则保持较高的梯度范数。 ANCE 训练期间 BERT-Siamese 模型最后一层的梯度范数(图 4 中的黑色虚线)始终大于其他层,这在经验上与等式 12中的上限一致。= 同样正如我们的理论所表明的,局部负值的梯度范数接近于零,而 ANCE 全局负值的梯度范数要大几个数量级。这证实了 ANCE 更好地逼近了预言机重要性采样分布 (p ∗ d− / jjrθt l(d +; d−)jj2) 并提高了学习收敛性。
在这里插入图片描述

6.4 异步间隙的影响

效率约束在 ANCE 训练中强制执行异步间隙(async-gap):使用正在优化的 DR 模型的早期阶段的编码来选择负数。 async-gap 由目标索引刷新率决定,目标索引刷新率由 Trainer 与 Inferencer 上的计算资源分配以及学习率决定。该实验研究了这种异步间隙的影响。不同配置的训练曲线和测试NDCG如图5所示。
在这里插入图片描述

太大的异步间隙,无论是大学习率(图 5(a))还是低刷新率(图 5(b)),都会使训练不稳定,可能是因为刷新索引变化太大,如下所示训练损失的峰值和测试 NDCG 的下降。当我们为索引刷新和训练分配相同数量的 GPU 时,异步差距并不显着(图 5(d))。进一步缩小差距(图 5©)并不能提高学习收敛性。
在许多场景中,为 ANCE 使用相同数量的额外 GPU 作为一次性训练成本是一项不错的投资回报。生产中的效率瓶颈往往在于推理和服务。

7 相关工作

在神经信息检索(Neu-IR)的早期研究中(Mitra & Craswell,2018),人们普遍认为交互模型(那些明确处理术语级别匹配的模型)虽然更昂贵,但更有效(Guo 等人,2016; Xiong 等人,2017 年;Nogueira 和 Cho,2019 年)。
人们开发了许多技术来降低成本,例如蒸馏(Gao 等人,2020a)和缓存(Humeau 等人,2020;Khattab 和 Zaharia,2020;MacAvaney 等人,2020)。 ANCE 表明,经过适当训练的基于表示的 BERT-Siamese 也可以是有效的。这一发现将激发新红外领域的许多新的研究探索。
深度学习已被用于改进稀疏检索的各个组成部分,例如术语权重(Dai & Callan,2019b)、查询扩展(Zheng 等人,2020)和文档扩展(Nogueira 等人,2019)。密集检索选择不同的路径,通过人工神经网络搜索纯粹在嵌入空间中进行检索(Lee et al, 2019; Chang et al, 2020; Karpukhin et al, 2020; Luan et al, 2020)。这项工作表明,简单的密集检索系统可以实现 SOTA 精度,同时其行为也与稀疏检索显着不同。密集检索的最新进展可能会催生新一代搜索系统
对比表示学习的最新研究也显示了从更大的候选池中采样负样本的好处。在计算机视觉中,He 等人 (2020) 通过维护最近批次的负候选池并用动量更新其表示,将负采样池大小与训练批量大小解耦。这种扩大的负池显着改善了无监督视觉表示学习(Chen 等人,2020b)。一项并行工作(Xiong 等人,2021)通过从记忆库中采样负数来改进 DPR(Wu 等人,2018)——其中负候选的表示被冻结,以便可以存储更多候选。 ANCE 没有使用更大的本地池,而是沿着这条轨迹一路走下去,并使用异步更新的 ANN 索引从整个语料库全局构建负样本。
除了作为现实世界的应用程序本身之外,密集检索也是许多其他语言系统的核心组件,例如,检索扎根语言模型的相关信息(Khandelwal 等人,2020;Guu 等人,2020)、提取/生成 QA (Karpukhin 等人,2020;Lewis 等人,2020b),以及事实验证(Xiong 等人,2021),或找到用于预训练的释义对(Lewis 等人,2020a)。密集检索模型要么被冻结,要么通过来自其最终任务的信号间接优化。 ANCE 与这些研究方向正交,专注于密集检索的表示学习。其更好的检索准确性可以使许多其他语言系统受益。

8 结论

在本文中,我们首先对密集检索中表示学习的收敛性进行了理论分析。我们表明,在文本检索的常见条件下,DR 训练中使用的局部负例信息量不大,产生的梯度范数较低,并且对学习收敛贡献不大。然后,我们建议 ANCE 通过从整个语料库构建全局训练负例来消除这一瓶颈。我们的实验证明了 ANCE 在网络搜索、OpenQA 和商业搜索引擎的生产环境中的优势。我们的研究实证验证了我们的理论,即 ANCE 负数具有更大的梯度范数,减少随机梯度方差,并提高训练收敛性。

补充知识

1. 传统 DPR 因为无信息的负样本采样导致的训练困难?

1)Diminishing gradient norms(逐渐减小的梯度范数):神经网络的训练通常使用梯度下降法或其变体。梯度是损失函数对于模型参数的变化率,而梯度范数是所有梯度值的大小的总和。如果梯度范数逐渐减小,意味着模型参数的更新变得越来越小,这可能导致训练过程停滞,模型无法进一步改进。
2)Large gradient variances(较大的梯度方差):梯度的方差表示梯度值的变化程度。如果梯度的方差很大,说明在模型训练过程中梯度值的波动很大,这可能会导致优化过程不稳定,难以收敛到最优解。
3)Slow convergence(收敛速度缓慢):由于前两个问题可能会导致训练过程变得困难,模型收敛到最优解的速度会变慢。这会增加训练时间和计算成本,并可能使得在给定时间内无法达到理想的性能水平。

2. T-SNE

1)数据结构和聚类:T-SNE 可以帮助我们观察数据的分布和聚类情况。通过观察 T-SNE 表示中的数据点,我们可以看到是否存在明显的数据聚类,并且可以识别出与其他类别或群集明显不同的数据子集。
2)数据相似性:T-SNE 可以保留数据点之间的相对距离关系。因此,如果两个数据点在高维空间中相似,它们在 T-SNE 表示中也会比较接近。这使得我们能够直观地观察数据点之间的相似性和差异性。

3. Oracle

在自然语言处理(NLP)领域的论文中,“oracle” 通常指的是一个理想化的模型或系统,它在某方面具有完美的性能或能力,用于评估其他模型或系统的性能。“Oracle” 通常被用来衡量一个NLP模型的性能上限,以确定该模型的性能是否接近于理论最佳性能。

参考资料

【1】【2】gpt
【3】https://www.zhihu.com/question/593006065

  • 19
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值