Multi-stage Training with Improved Negative Contrast for Neural Passage Retrieval

语言: CN / TW / HK

论文: Multi-stage Training with Improved Negative Contrast for Neural Passage Retrieval

来源:EMNLP 2021

Abstract

论文针对神经 段落检索 任务,研究了三种策略:合成数据增强、负采样、融合。提出 合成数据预训练 与标注数据精调的两阶段的检索框架,并在两个阶段都使用了 负采样策略 。针对负采样,论文研究了六种策略,并探索了 结合不同策略负采样的融合方法 。所提框架在 开放域问答检索 (SQuAD、NQ)和段落排序(MS MARCO)上的表现可达SOTA。

Introduction

神经检索 (稠密检索)相较于基于term匹配的稀疏检索可以解决词汇鸿沟的问题,自提出以来得到了广泛关注。影响 神经检索模型 表现的两个关键因素是: 充分的训练数据和负采样策略

一方面,神经网络模型由于其巨大参数量而需要大量的数据。 Zero-shot Neural Passage Retrieval via Domain-targeted Synthetic Question Generation(EACL 2021) 表明合成问题生成可以缓解低资源场景下的的数据短缺问题。 本文试图探究在大量监督数据可获得的场景下,合成问题生成能否进一步提升神经检索模型的性能。 提出两阶段训练策略:首先使用 合成数据 预训练检索模型,之后使用监督数据对模型精调。

另一方面,相关研究表明在批内负样本的基础上增加其他负样本可以显著提升稠密检索模型的性能。论文首先描述了使用批内负样本的交叉熵损失与噪声对比估计(Noise Contrastive Estimation, NCE)的联系,并 指出批内负采样的局限性 。之后 探究了几种负采样策略对模型性能的影响并提出结合它们的合理方式

本文提出的框架对这两方面策略进行了结合,实验结果证明了其有效性。

Neural Passage Retrieval Models

检索模型与DPR基本相似,采用基于BERT的 双塔模型 实现,结构图如下所示。使用BERT对问题和段落分别编码,将CLS结果输入到全连接层得到最终的表示,表示正则化后通过 点积 计算问题与段落之间的相似度。需注意的是,问题编码器与段落编码器参数共享,这点与DPR不同。

模型训练损失采用批内负样本的交叉熵损失。batch内的数据表示为 ,则损失函数为:

其中 表示 得分函数 ,在本文中即为问题编码与段落编码的点积。此外作者还使用了反方向的损失:

最终模型损失为两者的平均。

Pre-training with Synthetic Data

已有研究表明合成数据是提升段落检索的一种有效方法,论文采用 Zero-shot Neural Passage Retrieval via Domain-targeted Synthetic Question Generation(EACL 2021) 中的方法使用合成数据对检索模型预训练。将T5-large用作问题生成模型,根据给定相关段落生成问题,之后使用(合成问题,段落)训练检索模型。

Improved Negative Sampling

Limitation of In-batch Negative Sampling

上文提到的模型的训练目标可以看作是基于排序的噪声对比估计(Noise Contrastive Estimation, NCE)的特例。噪声对比估计是一种统计模型估计方法,通过学习数据与 噪声 的区分来学习数据的分布,可参考 Lethe:Noise Contrastive Estimation 前世今生——从 NCE 到 InfoNCE

使用 表示 噪声分布 ,对于文档集中的不相关的段落有 。用 表示修正的 打分函数 ,则NCE损失可定义为:

我们可以看出 考虑了整个文档集中的负样本,而 仅考虑了批内负样本。相比于整个文档集中的负样本,批内负样本数量要少得多。因此批内负采样将参数估计简化为一个简单得多的问题:给定问题,对批内样本而不是对整个文档集中的样本进行排序,这影响了模型的性能。

Negative Sampling Strategies

针对以上问题,此部分描述了几种负采样策略,旨在缓解批内负采样的不足。

  • Random sampling :将 看作均匀分布,以同等概率对文档集中的负样本随机采样。
  • Context negatives :将正样本所在文章中其他段落作为负样本,与问题的相关性相比于正样本较低,但相比于其他段落更高。
  • BM25 negatives :从BM25模型的结果中得到负样本。
  • Neural retrieval negatives :从神经检索模型中得到负样本。由于编码维度与模型规模都对检索模型的性能有影响,改变编码维度与模型容量可以控制负样本的相关性。 coarse 表示采用3层transormer、使用25维向量表示编码结果得到的负样本; fine 表示采用12层transormer、使用512维向量表示编码结果得到的负样本; super fine 表示采用12层transormer、使用768维向量表示编码结果得到的负样本。

Hard Negatives in Multi-stage Training

在预训练与精调阶段,论文都在批内负样本的基础上使用了困难负样本。假设每个问题有 (100)个困难负样本,在每个epoch随机选择 (2)个负样本添加在批内负样本后,则对于size为 的batch,每个问题要对比的段落数量为

Hard Negatives for Pre-training

由于生成数据包含噪声,通过检索模型检索到的负样本段落可能要比正样本段落与问题更相关。为避免这种情况,在此阶段使用 启发式 的负样本,即context negatives。但面对段落排序任务,我们无法知道段落和文档的映射关系,因此使用coarse负样本。

Fusion

本文研究了三种融合方法对不同策略的负采样进行结合。

  • Mixing :将6种策略得到的负样本混合,训练时从混合负样本中随机采样,作者称这种方法为早期融合。
  • Embedding fusion :对不同策略的负采样训练出来的模型问题或段落的编码embedding进行加权拼接,权重由验证集上的表现进行调优。
  • Rank fusion :通过融合不同模型的排序结果得到最终的结果。

Experiments

将所提方法在 开放域问答 中的段落检索任务和段落排序任务中进行实验,前者使用数据集为Natural Questions (NQ) 和SQuAD,后者使用数据集为MS MARCO,数据集统计信息如下。

下表为系统在开放域问答检索任务中的表现,可以看出合成数据训练、负采样策略、融合均对检索性能的提升有帮助。

下表为系统在段落排序任务中的表现,可以看出负采样策略、融合均对检索性能的提升有帮助。

为验证各模块的作用,论文进行了消融实验,结果如下。验证了使用合成数据预训练及在两个阶段中使用困难负样本是有效的。

下表展示了六种负样本的case,可以看出coarse负样本主题上与目标段落相似;fine负样本描述了另一首歌但提到了歌手;BM25、context、super fine负样本提到了问题中的歌且语义与目标段落非常接近,满足预期。

Conclusions

本文提出多阶段 神经段落 检索系统,结合了合成数据训练、负采样和融合技术,并通过实验证明了这些策略的有效性。合成数据和增加的负样本都有利于模型更好地把握文档集内段落的整体分布,因而可以改善段落检索模型的表现。