今天给大家带来一篇ACL2022论文MVR,「面向开放域检索的多视角文档表征」,主要解决同一个文档向量与多个语义差异较大问题向量语义不匹配的问题。通过「插入多个特殊Token」实现多视角文档向量表征的构建,并为了防止多种视角间向量的趋同,引入了「退火温度」的全局-局部损失,论文全称《Multi-View Document Representation Learning for Open-Domain Dense Retrieval》。
paper地址:https://aclanthology.org/2022.acl-long.414.pdf
该篇论文与前两天分享的DCSR-面向开放域段落检索的句子感知的对比学习一文有异曲同工之妙,都是在检索排序不引入额外计算量的同时,通过插入特殊Token构建长文档的多语义向量表征,使得同一文档可以与多种不同问题的向量表征相似。并且目前的检索召回模型均存在一些缺陷:
- Cross-encoder类模型(BERT)由于计算量太大,无法在召回阶段使用;
- Bi-encoder类模型(DPR)无法很好地表现长文档中的多主题要素;
- Late Interaction类模型(ColBERT)由于使用sum操作,无法直接使用ANN进行排序;
- Attention-based Aggregator类模型(PolyEncoder)增加了额外运算并且无法直接使用ANN进行排序。
模型
通常向量表征时,采用特殊字符[CLS]对应的向量表征作为文本的向量表征。为了获取文档中更细粒度的语义信息,MVR引入多个特殊字符[VIE]替代[CLS]。
- 对于文档来说,在文本前插入多个字符[],为了防止干扰原始文本的位置信息,我们将[]的所有位置信息设置为0,文档语句位置信息从1开始。
- 对于问题来说,由于问题较短且通常表示同一含义,因此仅使用一个特殊字符[VIE]。
模型采用双编码器作为骨干,分别对问题和文档进行编码,如下:
其中,表示链接符,[VIE]和[SEP]为BERT模型的特殊字符,和分别为问题编码器和文档编码器。
如上图所示,首先计算问题向量与每个视角的文档向量进行点积,获取每一个视角的得分,然后通过max-pooler操作,获取视角中分值最大的作为问题向量与文档向量的得分,如下:
为了防止多种视角间向量的趋同,引入了带有退火温度的Global-Local Loss,包括全局对比损失和局部均匀损失,如下:
其中,全局对比损失为传统的对比损失函数,给定一个问题、一个正例文档以及多个负例文档,损失函数如下:
为了提高多视角向量的均匀性,提出局部均匀性损失,强制将选择的查询向量与视角向量更紧密,原理其他其视角向量,如下:
为了进一步区分不同视角向量间的差异,采用了退火温度,逐步调整不同视角向量的softmax分布,如下:
其中,为控制退火速度的超参,为模型训练轮数,每训练一轮,温度更新一次。注意:在全局对比损失和局部均匀损失中,均使用了退火温度。
内容中包含的图片若涉及版权问题,请及时与我们联系删除
评论
沙发等你来抢