赞
踩
Approximate Nearest Neighbor Negative Contrastive Learning for Dense Text Retrieval
密集检索 (DR) 的有效性通常需要与稀疏检索相结合
主要瓶颈在训练机制,训练中使用的负面实例不能代表不相关文档,如下图所示
本文介绍最邻近负对比估计(ANCE):从语料库的最邻近(ANN)索引构造负样本的计件制,该索引与学习过程并行更新以选择更真实的负样本(这种方式从根本上解决了DR训练和测试中数据分布间的差异)
实验中,ANCE提升了BERT-Siamese DR 模型到超过所有计算密集检索系数的baseline。效果和用点积的sparse-retrieval-and-BERT-reranking相匹配,并提速将近100倍。
负样本有两种
在对比学习的思想中,我们希望使用一些方法检索这些难判别的负样本来增强模型的效果
一个标准的DR(dense retrieval)结构会使用孪生或dual-encoder结构,如下
DR使用ANN(Approximate nearest neighbor)搜索能有好的效果
-
D R ( q , ⋅ ) DR(q,\cdot) DR(q,⋅)指的是由DR对q检索来的文档,这些文档来自模型 A N N f ( q , d ) ANN_{f(q,d)} ANNf(q,d)得来的index
这样的方法有几个特性:
loss如下
常规的方法,对
D
−
D^-
D−的采样如下
在DR中,由于最优的负样本在重排序中不同于这些样本,所以还会随机采样一些样本加入,如下
由于大多数文档与查询无关,所以随机采样的也不太可能命中相关的负样本
在构建算法的时候,要考虑如何对齐训练和测试时的数据分布,即我们如何异步地学习它
ANCE使用了标准的DR模型和损失函数
唯一不同的是训练时的负样本
因为训练是随机的,encoder f会每步都更新,要更新ANCE的负样本( D A N C E − D_{ANCE}^- DANCE−),要以下两步
重构ANN index可以使用一些library,但是这样在推理的时候成本高昂,需要对他们re-encode。
每个checkpoint中有m个batch,m为可调的超参;m=1时可以同步更新,但是太慢;m=∞时则不更新
有所提升
有较高的一致性
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。