MS MARCO Passage Ranking Leaderboard —— BM25 + monoBERT + duoBERT + TCP

人工智能74

本文对MS MARCO Passage Ranking 榜单的 BM25 + monoBERT + duoBERT + TCP 进行解读,原文地址请点击此处

1. 背景介绍

这个模型在MS MARCO上的最好成绩是0.38,和目前的SOTA 0.45有一定差距,但由于作者 Rodrigo Nogueira 等人在此前的一篇论文《Passage Re-ranking with BERT》中首次将BERT用于检索中的重排序任务,是将BERT作为重排序器的鼻祖,因此他的 BM25 + monoBERT + duoBERT + TCP 还是要解读一遍的。在《Passage Re-ranking with BERT》中,Rodrigo Nogueira 给出了BERT作为重排序器(查询与段落拼接,当成BERT句子对分类任务来做)的 Baseline 结果,如下图,
MS MARCO Passage Ranking Leaderboard —— BM25 + monoBERT + duoBERT + TCP
BM25 + monoBERT + duoBERT + TCP 这个模型探索了BERT作为重排序器的更多玩法,比朴素地使用BERT的效果提升约3个点,我们在后面介绍。

; 2. Multi-Stage Ranking with BERT

MS MARCO Passage Ranking Leaderboard —— BM25 + monoBERT + duoBERT + TCP
如图所示,作者将检索+重排序分为了三个阶段:H 0 H_{0}H 0 ​、H 1 H_{1}H 1 ​ 和 H 2 H_{2}H 2 ​ 。

  • H 0 H_{0}H 0 ​ :"Bag of Words" BM25
    阶段 H 0 H_{0}H 0 ​ 使用 BM25 进行精确的词条匹配,接收查询 q q q ,输出 top-k 0 k_{0}k 0 ​ 个候选 R 0 R_{0}R 0 ​
  • H 1 H_{1}H 1 ​ :monoBERT
    monoBERT 就是最原始的BERT用法,将查询与段落按照BERT的方式拼接,计算他们之间的相关性分数,论文将这种方式称为 Pointwise re-ranker。阶段 H 1 H_{1}H 1 ​ 基于 monoBERT 生成的相关性分数,输出 top-k 1 k_{1}k 1 ​ 个候选 R 1 R_{1}R 1 ​
  • H 2 H_{2}H 2 ​ :duoBERT
    这个 duoBERT 比较新鲜,采用了 Pairwise 的方式训练 re-ranker。注意到这里出现的 Pairwise 和 前面的 Pointwise,这两其实是之前机器学习排序模型(Learning to Rank)中的概念:
    MS MARCO Passage Ranking Leaderboard —— BM25 + monoBERT + duoBERT + TCP

根据学习目标的不同,排序模型大体可以分为Pointwise、Pairwise和Listwise。这三种方法的示意图如上图所示。其中,Pointwise方法直接预测每个文档和问题的相关分数,尽管这种方法很容易实现,但对于排序来说,更重要的是学到不同文档之间的排序关系。基于这种思想,Pairwise方法将排序问题转换为对两两文档的比较。具体来讲,给定一个问题,每个文档都会和其他的文档两两比较,判断该文档是否优于其他文档。这样的话,模型就学习到了不同文档之间的相对关系。

然而,Pairwise的排序任务存在两个问题:第一,这种方法优化两两文档的比较而非更多文档的排序,跟文档排序的目标不同;第二,随机从文档中抽取Pair容易造成训练数据偏置的问题。为了弥补这些问题,Listwise方法将Pairwsie的思路加以延伸,直接学习排序之间的相互关系。根据使用的损失函数形式,研究人员提出了多种不同的Listwise模型。比如,ListNet直接使用每个文档的top-1概率分布作为排序列表,并使用交叉熵损失来优化。ListMLE使用最大似然来优化。SoftRank直接使用NDCG这种排序的度量指标来进行优化。大多数研究表明,相比于Pointwise和Pairwise方法,Listwise的学习方式能够产生更好的排序结果。(以上两段引用自这里

回到本文,duoBERT 将查询 q q q,候选段落 d i d_{i}d i ​ 和候选段落 d j d_{j}d j ​ 拼接送入BERT,取[CLS]输出向量计算概率,因为有 k 1 k_{1}k 1 ​ 个候选段落,所以要计算 k 1 ∗ ( k 1 − 1 ) k_{1} * (k_{1}-1)k 1 ​∗(k 1 ​−1 ) 次概率。 训练时采用以下损失函数:
L duo = − ∑ i ∈ J pos , j ∈ J neg log ⁡ ( p i , j ) − ∑ i ∈ J neg , j ∈ J p o s log ⁡ ( 1 − p i , j ) \begin{aligned} L_{\text {duo }}=-& \sum_{i \in J_{\text {pos }}, j \in J_{\text {neg }}} \log \left(p_{i, j}\right) \ &-\sum_{i \in J_{\text {neg }}, j \in J_{\mathrm{pos}}} \log \left(1-p_{i, j}\right) \end{aligned}L duo ​=−​i ∈J pos ​,j ∈J neg ​∑​lo g (p i ,j ​)−i ∈J neg ​,j ∈J p o s ​∑​lo g (1 −p i ,j ​)​

根据损失函数来看,建模的任务应该是最大化段落 d i d_{i}d i ​ 与查询 q q q 的相关分数大于段落 d j d_{j}d j ​ 与查询 q q q 的相关分数的概率,即 d i d_{i}d i ​ 优于 d j d_{j}d j ​ 的概率。在推理时,聚合成对分数 p i , j p_{i,j}p i ,j ​,以便每个文档都收到一个分数 s i s_{i}s i ​。论文给出了五种不同的聚合方法(SUM、BINARY、MIN、MAX 和 SAMPLE):
SUM : s i = ∑ j ∈ J i p i , j , BINARY : s i = ∑ j ∈ J i 1 p i , j > 0.5 , MIN : s i = min ⁡ j ∈ J i p i , j , MAX : s i = max ⁡ j ∈ J i p i , j , SAMPLE : s i = ∑ j ∈ J i ( m ) p i , j , \begin{aligned} \text { SUM }: s_{i} &=\sum_{j \in J_{i}} p_{i, j}, \ \text { BINARY }: s_{i}&= \sum_{j \in J_{i}} \mathbb{1}{p{i, j}>0.5}, \ \text { MIN }: s_{i} &=\min {j \in J{i}} p_{i, j}, \ \text { MAX }: s_{i} &=\max {j \in J{i}} p_{i, j}, \ \text { SAMPLE }: s_{i} &=\sum_{j \in J_{i}(m)} p_{i, j}, \end{aligned}SUM :s i ​BINARY :s i ​MIN :s i ​MAX :s i ​SAMPLE :s i ​​=j ∈J i ​∑​p i ,j ​,=j ∈J i ​∑​1 p i ,j ​>0 .5 ​,=j ∈J i ​min ​p i ,j ​,=j ∈J i ​max ​p i ,j ​,=j ∈J i ​(m )∑​p i ,j ​,​

其中 J i = { 0 ≤ j < ∣ R 1 ∣ , j ≠ i } J_{i}=\left{0 \leq j,m m m 是从集合 J i J_{i}J i ​ 中不放回抽取的样本数。最终的候选列表 R 2 R_{2}R 2 ​ 根据分数 s i s_{i}s i ​ 重新排列 R 1 R_{1}R 1 ​ 中的候选得到。

3. 实验结果分析

等等,BM25 + monoBERT + duoBERT + TCP 里面的 TCP 呢?这是个什么东西?协议?其实 TCP 是 Target Corpus Pre-training 的缩写,即在目标语料库 MS MARCO 进一步预训练的意思,就这么简单。
MS MARCO Passage Ranking Leaderboard —— BM25 + monoBERT + duoBERT + TCP
上图显示了在 MS MARCO 数据集上的实验结果,Anserini 实现的 BM25 要比微软的效果好两个点,造成差异的原因有以下几种: tokenization、停用词选择、词干提取和参数调整等。这种多阶段的方法还是比较费时的,毕竟要接连过两个交互式BERT,duoBERT 还要计算 k 1 ∗ ( k 1 − 1 ) k_{1} * (k_{1}-1)k 1 ​∗(k 1 ​−1 ) 次,很大程度上增加了检索延迟,但是将 Pairwise 应用于 BERT 上这一点还是很有借鉴性的,这篇论文也在一定程度上为后来的榜首 DR-BERT (美团提出的)提供了思路。

Original: https://blog.csdn.net/qq_43183860/article/details/124150751
Author: 北在哪
Title: MS MARCO Passage Ranking Leaderboard —— BM25 + monoBERT + duoBERT + TCP