信息检索(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] 标记表示,并对其应用点积 (·)。这使得文档编码的离线预计算和高效的第一阶段检索成为可能。相比之下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值