论文阅读笔记 PROP

题目 PROP: Pre-training with Representative Words Prediction for Ad-hoc Retrieval
论文链接 https://arxiv.org/abs/2010.10137
作者单位 CAS Key Lab of Network Data Science and Technology, Institute of Computing Technology, Chinese Academy of Sciences, Beijing, China; University of Chinese Academy of Sciences, Beijing, China
文章类型 短文

背景

为 ad-hoc 检索提出了一个预训练任务:预测代表词。目前(指到 21 年初)的预训练任务分为基于序列(例如 MLM 和 PLM(即预测乱序片段在原句中的位置))和基于句子对(下一个句子预测 NSP 和句子顺序预测 SOP)的。但是 IR 任务需要处理短 query 和长 doc 的关系,它不仅要理解 query 和 doc 本身,还要处理二者的关系。

  1. 基于序列的任务:较好地获得二者的表示。
  2. 基于句子对的任务:句子对和查询/文档的差异、连贯性与相关性的差异,不太适合 IR 任务。

已有的关于 IR 的预训练任务集中在 QA 上:

  1. 逆完型 ICT:query 是文章中随机句子,doc 是文章剩下的句子。
  2. BFS:query 是维基百科第一部分随机句子,doc 是同一页面的随机段落。
  3. 维基链接预测 WLP:query 是维基百科第一部分随机句子,doc 是从另一个有超链接指向这个页面的页面的随机段落。

本论文受传统的 QL 模型的启发,即查询由文档生成(可见[论文阅读笔记 第一阶段检索综述-上篇 - BeBr2’s Blog](https://bebr2.com/2023/01/27/论文阅读笔记 第一阶段检索综述-上篇/#IR的语言模型)),通过似然来近似相关关系。

方法

  1. Representative Word Sets Sampling
  2. Representative Words Prediction

伪代码:

之后送入Transformer模型, 以 [𝐶𝐿𝑆]+𝑆+[𝑆𝐸𝑃]+𝐷+[𝑆𝐸𝑃] 方式拼接,然后 [𝐶𝐿𝑆] 的 hidden_state 送入MLP,假设S1S_1的似然大于S2S_2(似然的计算方法就是QL中的计算方式,已经事先得到了),这部分loss计算为:LROP=max(0,1s(S1D)+s(S2D))L_{ROP}=max(0, 1-s(S_1|D)+s(S_2|D))

这种loss是hinge loss,会将正样本和负样本的得分差控制在margin为m(这里为1)之内,同时让正样本的分数越高,负样本分数越低。

这里原文给出的是LROP=max(0,1P(S1D)+s(S2D))L_{ROP}=max(0, 1-P(S_1|D)+s(S_2|D)),似乎是不太对的。

注:BPROP的论文给出了改正。

然后还有个MLM loss,不再赘述。

和其他 IR 弱监督方法的区别

其他弱监督方法:

  1. 查询和文档都能获得,只是没有相关性标签。
  2. 训练的任务和最终使用的ranking目的相同。
  3. 没有通用性,通常针对某一种特定的IR任务。

本方法:

  1. 数据集中只有文档能获得。
  2. 训练目标与最终下游任务的目标不同。
  3. 是预训练任务。

实验

之前看论文这部分都是草草看一遍的,现在不能这样。

数据集

预训练语料

English Wikipedia:经典的维基百科。

MS MARCO Document Ranking dataset:文档是使用必应搜索引擎从真实的Web文档中提取的。

分别在这两个数据集上预训练PROP任务。

下游数据集

这些任务都是query少,doc多,彰显预训练任务的重要性。

Baselines

QL、BM25、BERT(将query和doc拼接,再截断最大长度)、Transformer-ICT(一个为QA场景的页面检索而设计的,给定上下文预测被删除的句子,本实验在维基百科上用ICT和MLM任务训练了Transformer,以此比较)。

另外还比较了一些SOTA的结果,从原始论文中获取的结果。

评估方法

五折交叉验证来训练,nDCG 和 P 作为评估指标,具体@多少不赘述。

实现细节

使用BERT-base版本,参数量为110M,泊松采样时 λ 设置为3,用 INQUERY 删除停用词,丢弃出现少于50次的词,类似word2vec做 subsampling (二次采样,频率高的词越可能被删除,可以见word2vec详解-优化 - 知乎 (zhihu.com))。采样使用放回抽样,每篇文章采集5对。

对于PROP任务,在送入transformer时将文档小写,word set 和文档拼接。对于MLM任务,和 Bert 相同(文中说 Note that sampled words in representative word sets are not considered to be masked。我感觉意思就只是提示一下这个 sample 和之前的不是一件事情而已?)。

微调时,先用BM25粗排,再用PROP模型训练rerank,微调时使用原始文本而不是删除停用词的作为输入,这和预训练不一样。

实验结果

可以看出相关领域的预训练对于下游任务也有作用(两个PROP在不同任务的性能对比),以及PROP任务相对于之前的预训练任务都更好。

消融实验:

可以看到ROP任务更好,且与MLM结合最好(虽然这个提升真的跟没有一样,指标是nDCG,没放出P)。

对采样代表词的策略进行对比,可以看到基于QL的抽样是更好的,无论是收敛速度还是效果上。

使用微调数据集的文档来further pretrain,结果会更好(一点)。

低资源下的微调,可以发现很快就能赶上全微调的BERT。

最后

讲了什么故事

缺少为 ad-hoc 检索设计的预训练任务,所以设计了一个预训练任务,并且通过各种消融实验证明有效性。

评价

这篇实验做得很仔细,而且细节也说得很详细。不过感觉idea挺老的,20年的文章这么好水吗(


论文阅读笔记 PROP
https://bebr2.com/2023/07/22/论文阅读笔记 PROP/
作者
BeBr2
发布于
2023年7月22日
许可协议