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

本文提出多階段 神經段落 檢索系統,結合了合成數據訓練、負採樣和融合技術,並通過實驗證明了這些策略的有效性。合成數據和增加的負樣本都有利於模型更好地把握文檔集內段落的整體分佈,因而可以改善段落檢索模型的表現。