前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面向开放域密集检索多视图文档表示学习,微软提出​MVR,性能SOTA!(ACL 2022)

面向开放域密集检索多视图文档表示学习,微软提出​MVR,性能SOTA!(ACL 2022)

作者头像
CV君
发布2022-09-01 10:12:04
5630
发布2022-09-01 10:12:04
举报

关注公众号,发现CV技术之美

本文分享 ACL 2022 论文『Multi-View Document Representation Learning for Open-Domain Dense Retrieval』,微软提出面向开放域密集检索的多视图文档表示学习,《MVR》,性能SOTA!

详细信息如下:

  • 论文链接:https://arxiv.org/abs/2203.08372
  • 项目链接:未开源

01

摘要

密集检索在大规模文档集合的一阶段检索方面取得了不错的进步,模型基于bi-encoder的结构,用于生成查询和文档的单向量表示。然而,文档通常可以回答来自不同视图的多个潜在查询。因此,文档的单向量表示很难与多视图查询匹配,并且面临语义不匹配问题。

本文提出了一个多视图文档表示学习框架,旨在生成多视图嵌入来表示文档,并强制它们与不同的查询保持一致。首先,作者提出了一种通过查看器生成多个嵌入的简单而有效的方法。其次,为了防止多视图嵌入崩溃为同一视图,作者进一步提出了退火温度的全局损失,以鼓励多个视图更好地与不同的潜在查询对齐。实验表明,所提出方法优于最近的工作,并取得了最先进的结果。

02

Motivation

在过去几年中,随着预训练语言模型的发展,密集检索已成为开放域文本检索中一种重要而有效的方法。典型的密集检索器通常采用双编码器架构,将输入查询和文档编码为单个低维向量(通常为CLS token),并计算其表示之间的相关性分数。在实际应用中,所有文档的嵌入向量都是提前预计算的,近似最近邻(ANN)技术可以有效地提高检索过程。为了提高编双码器的容量,最近的研究仔细设计了复杂的方法来有效地训练它,包括构造更具挑战性的负样本,并不断对语言模型进行预训练。

然而,理论分析表明,由于双编码器仅限于单矢量表示,因此双编码器面临着表示能力的上限。如上图所示,在SQuAD dev数据集的真实示例中,作者还发现单一向量表示不能很好地匹配多视图查询。该文档对应四个不同观点的问题,每个问题对应不同的句子和答案。在传统的双编码器中,文档被表示为单个向量,而它应该被多个不同的查询调用,这限制了双编码的容量。

对于多向量模型,交叉编码器结构通过计算查询文档对的深度上下文化表示,性能更好,但计算成本高,不适用于一阶段的大规模检索。最近的一些研究试图借鉴交叉编码器,并通过采用更精细的结构来扩展双编码器,这种结构允许查询和文档嵌入之间的多向量表示和密集交互。然而,它们大多包含softmax或sum算子,不能分解为内积上的max,因此不能直接应用快速ANN检索。

基于这些观察,作者提出了多视图文档表示学习框架,简称MVR。MVR源于所发现一个文档通常有几个语义单元,并且可以回答包含单个语义内容的多个潜在查询。就像给定一份特定的文件,不同的提问者从不同的角度提出不同的问题。因此,提出一种简单而有效的方法,通过查看器生成多视图表示,并通过退火温度的全局局部损失进行优化,以改善表示空间。

之前的工作发现[CLS] token倾向于聚合整个输入段的整体含义,这与生成多视图嵌入的目标不一致。因此,作者首先修改双编码器架构,放弃[CLS] token,向文档输入中添加多个[Viewer] token。最后一层中的查看器表示将用作多视图表示。

为了鼓励多个查看器更好地适应不同的潜在查询,作者提出了一种配备退火温度的全局局部损失。在以前的工作中,正样本和负样本之间的对比损失被广泛应用。除了全局对比损失,还提出了多视图文档嵌入之间的局部一致性损失,以更好地保持多个查看器之间的一致性,防止它们崩溃到同一个查看器中。此外,作者采用了退火温度,这会逐渐加剧查看器的分布,以帮助多个查看器好地匹配不同的潜在查询,这在此实验中也得到了验证。

本文的贡献如下:

  1. 作者提出了一种简单而有效的方法,通过多个查看器生成多视图文档表示。
  2. 为了优化对多个查看器的训练,提出了一种退火温度下的全局-局部损失,以使多个查看器更好地适应不同的语义视图。
  3. 在开放域检索数据集上的实验结果表明,所提出方法实现了最先进的检索性能。进一步的分析证明了该方法的有效性。

03

方法

3.1 Preliminary

如上图所示,典型的双编码器采用双编码器结构,将查询和文档分别映射到一维实值向量。给定一个查询q和一个文档集合,密集检索器利用相同的BERT编码器来获取查询和文档的表示。然后,查询q和文档d的相似性分数可以通过它们的密集表示来计算:

其中sim(·)是估计两个嵌入之间相关性的相似性函数,例如余弦距离、欧氏距离等。[CLS]表示的内积是一种广泛采用的相似度计算设置。

传统的对比学习损失被广泛应用于目标任务训练集监督下的训练查询和通道编码器。对于给定的查询q,它计算了一个正文档对一组负文档的负对数似然。

其中τ是温度标度因子的超参数,适当的温度有助于更好地优化。

3.2 Multi-Viewer Based Architecture

受限于单矢量表示,典型的双编码器面临一个挑战,即一个文档包含多个语义,并且可以从多个视图中通过不同的潜在查询进行查询。尽管之前的一些研究结合了密集交互,允许多种表示,并以某种方式提高了效率,但它们通常会导致额外的昂贵计算和复杂结构。因此,作者提出了一种简单而有效的方法来产生多个观众的多视图表示。

由于经过预训练的BERT已经受益于包括句子级任务在内的大量下游任务,一些研究发现[CLS]倾向于聚合整个句子的整体意义。然而,此模型倾向于捕获文档中更细粒度的语义单元,因此引入了多个查看器。作者没有使用[CLS] token的潜在表示,而是采用新添加的多个查看器 token [VIE]来替换[CLS],后者是随机初始化的。对于文档输入,作者在句子token的开头添加不同的。为了避免对原始输入句子的位置编码产生影响,将的所有位置ID设置为0,文档句子token从1开始作为原始token。然后,利用双编码器获得查询和文档的表示:

◦ 是concat操作。[VIE]和[SEP]是BERT的特殊token。和表示查询和文档编码器。作者使用最后一层隐藏状态作为查询和文档嵌入。

[VIE] token的表示被用作查询q和文档d的表示,它们被表示为和。由于查询比文档短得多,并且通常表示一个具体的含义,因此保留典型设置,只为查询生成一个嵌入。

然后利用查询q和文档d的稠密表示计算它们的相似性分数。如图3所示,作者首先计算单个查询嵌入和文档的多视图嵌入之间的单个分数,这里采用内积。对应于的结果分数表示为。作者采用了一个最大池化,将单个分数聚合为聚合分数,作为给定查询和文档对的相似性分数:

3.3 Global-Local Loss

为了鼓励多个查看者更好地匹配不同的潜在查询,作者引入了全局局部损失来优化多视图结构的训练。它结合了全局对比损失和局部均匀损失。

全局对比度损失继承了传统的双编码器。给定一个查询和一个正文档、一组负文档, 其计算如下:

为了提高多视点嵌入空间的统一性,作者提出在不同的查看器之间应用局部均匀性损失。对于特定查询,其中一个多视图文档表示形式将与中的最大分数匹配。局部一致性损失强制所选查看器与查询更紧密地对齐,并与其他查看器区分开来。

为了进一步鼓励更多不同的查看器被激活,作者在采用了退火温度,以逐渐调整观众softmax分布的清晰度。在高温训练的开始阶段,softmax值往往在观看者上具有均匀分布,以使每个查看器公平地被选择,并从训练数据中恢复梯度。随着训练过程的进行,温度会降低,以使优化更加稳定。

其中α是控制退火速度的超参数,t表示训练时间,温度在每个时间点更新。为了简化设置,在和中使用相同的退火温度。该实验通过多个查看器验证了退火温度主要与相关。

在推理过程中,作者构建了所有文档的查看器嵌入的索引,然后该模型利用近似最近邻(ANN)技术直接从构建的索引中检索。然而,Poly Encoder和DRPQ都采用了包含softmax或sum运算符的基于注意的聚合器,因此快速ANN不能直接应用。尽管DRPQ提出将softmax近似为max操作,但它仍然需要首先调用一组候选项,然后使用复杂的聚合器重新对它们进行排序,这会导致昂贵的计算和复杂的过程。本文的MVR可以直接应用于一阶段检索,无需像它们那样进行后期计算。尽管索引的大小会随着查看器数量k的增加而增加,但由于人工神经网络技术的效率,索引大小的时间复杂度可能是次线性的。

04

实验

Retrieval Performance

上表展示了本文方法在三个数据集上的实验结果,可以看出本文在多个数据集上达到了最好的结果。

Impact of Viewers’ Number

上表展示了不同数量查看器的设置对实验结果的影响,可以看出,当k=8时能够达到最佳的实验结果。

Analysis on Global-local Loss

上表展示了不同Loss设置对实验结果的影响。

Efficiency Analysis

上表展示了不同方法的文档编码和检索的实验,可以看出本文的MVR由于采用双编码器的设计,在两个步骤中都只用了较短的时间,展示了MVR的高效性。

为了分析MVR和句子级检索(另一种产生多重嵌入的方法)之间的差异,作者设计了几个模型。句子层次意味着用NLTK工具包将所有的段落分割成单独的句子。从上表可以看出,本文的方法是优于句子级别的方法的。

Qualitative Analysis

上图展示了本文方法的定性实验结果。

05

总结

在本文中,作者提出一个新的多视图表示学习框架。具体来说,作者提出一种简单而有效的方法,通过多个查看器生成多视图文档表示。为了优化多个查看器的训练,还提出一种退火温度下的全局-局部损失,以使多个查看器能够更好地与不同的语义视图对齐。作者在三个开放域检索数据集上进行了实验,取得了最先进的检索性能。并进一步的分析证明了所提出方法中不同模块的有效性。

参考资料

[1]https://arxiv.org/abs/2203.08372

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 我爱计算机视觉 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3.1 Preliminary
  • 3.2 Multi-Viewer Based Architecture
  • 3.3 Global-Local Loss
  • Retrieval Performance
  • Impact of Viewers’ Number
  • Analysis on Global-local Loss
  • Efficiency Analysis
  • Qualitative Analysis
    • 参考资料
    相关产品与服务
    日志服务
    日志服务(Cloud Log Service,CLS)是腾讯云提供的一站式日志服务平台,提供了从日志采集、日志存储到日志检索,图表分析、监控告警、日志投递等多项服务,协助用户通过日志来解决业务运维、服务监控、日志审计等场景问题。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档