今天給大家?guī)硪黄焙胶臀④洺銎返某砻芟蛄繖z索模型Dual-Cross-Encoder,結(jié)合Query生成和對(duì)比學(xué)習(xí)技術(shù),將文檔與生成的不同偽query進(jìn)行深度交互學(xué)習(xí)構(gòu)建文檔的不同視角的表征向量,再與Query向量進(jìn)行稠密向量檢索。
Paper:https://arxiv.org/pdf/2208.04232.pdf Github:https://github.com/jordane95/dual-cross-encoder
介紹
目前,稠密向量檢索已經(jīng)在信息檢索中起著至關(guān)重要的地位,相較于傳統(tǒng)的BM25,它可以更好地獲取問題與文檔之間的語義信息。針對(duì)query和document的相關(guān)性評(píng)分主要有Dual-Encoder和Cross-Encoder兩種框架:
Cross-Encoder,由于計(jì)算量太大,無法在召回階段使用;
Dual-Encoder,由于query和document沒有相互,并且無法很好地表現(xiàn)長文檔中的多主題內(nèi)容。
一些研究(Poly-Encoder、ColBERT等)致力于用后期交互體系結(jié)構(gòu),權(quán)衡模型的速度與效果,但「無法直接使用ANN進(jìn)行排序」。與之前的工作不同,我們主要使用生成的query來學(xué)習(xí)查詢通知的文檔表示。我們提出了一種新的稠密檢索模型,使用生成的偽query與每個(gè)文檔進(jìn)行深度交互編碼,以獲得融合query信息的多視角文檔表示,并單獨(dú)編碼query向量,使得該模型不僅像普通的Dual-Encoder模型一樣具有很高的推理效率,而且在文檔編碼中與query深度交互,提供多視角表示,以更好地匹配不同的查詢query。
Dual-Cross-Encoder模型
Dual-Cross-Encoder中,文檔編碼器部分為Cross-Encoder,而問題編碼器與文檔編碼器之間的模式相當(dāng)于Dual-Encoder。具體來說,問題編碼器為
文檔編碼器為
它們之間相似性是通過點(diǎn)積來衡量的,
注意,來自問題編碼器和文檔編碼器的query是不相同的,因?yàn)橹荒茉L問到訓(xùn)練集中的文檔的標(biāo)準(zhǔn)query,并且手動(dòng)編寫整個(gè)語料庫中的每個(gè)文檔可能出現(xiàn)的query是不現(xiàn)實(shí)的。
因此,使用T5模型,依賴doc2query技術(shù)為每個(gè)文檔生成若干偽query,并在解碼時(shí)采用Top-K方式,保證query的多樣性。
模型訓(xùn)練
采用對(duì)比學(xué)習(xí)的方式訓(xùn)練模型,而對(duì)比學(xué)習(xí)的宗旨就是拉近相似數(shù)據(jù),推開不相似數(shù)據(jù),有效地學(xué)習(xí)數(shù)據(jù)表征。
將query信息融合到文檔表示中后,重新定義正例和負(fù)例,對(duì)于給定,四種形式的正負(fù)例,為、、和。
難負(fù)例:負(fù)文檔從通過BM25排名靠前的文檔中隨機(jī)抽取得來。難負(fù)例可以使模型學(xué)習(xí)到更細(xì)粒度的信息,如負(fù)文檔通常與query有關(guān),但不能準(zhǔn)確回答,并且還阻止模型只學(xué)習(xí)來自query端的匹配信號(hào),而忽略文檔端信息。
批次內(nèi)負(fù)例:可以提高訓(xùn)練效率,使模型學(xué)習(xí)到主題層次的辨別能力。
訓(xùn)練階段,使用數(shù)據(jù)增強(qiáng)的方式,將生成的query視為偽標(biāo)注數(shù)據(jù),首先在這些噪聲數(shù)據(jù)上,進(jìn)行模型訓(xùn)練,視作一個(gè)熱身階段;然后在真實(shí)標(biāo)注的高質(zhì)量訓(xùn)練集上進(jìn)行模型微調(diào)。
模型推理
創(chuàng)建索引
對(duì)語料庫進(jìn)行編碼,以獲得具有query深度交互的多視圖文檔表示。將表示為第個(gè)文檔的第個(gè)視圖,
其中,表示Query生成模型。
檢索
當(dāng)進(jìn)行檢索時(shí),使用問題編碼器對(duì)其進(jìn)行編碼,獲取上下文表征向量。對(duì)文檔進(jìn)行多視角向量編碼,并將其問題與文檔中不同視角相關(guān)性得分的最大值(max-pooling)作為問題與文檔的相關(guān)性得分。
支持直接使用ANN進(jìn)行排序。
實(shí)現(xiàn)細(xì)節(jié)
在8塊32GB V100上進(jìn)行模型訓(xùn)練,采用bert-base-uncase初始化所有編碼器,query最大長度為16,文檔最大長度為128,每個(gè)樣本的正例和負(fù)例數(shù)量對(duì)比為1:7。訓(xùn)練的Batch-Size大小為32,學(xué)習(xí)率為5e?6,warmup10%的步數(shù)。
結(jié)果
從下表中可以看出,相較于DPR Dual-Encoder,具有顯著提高,證明了方法的有效性;并媲美Col-Bert模型,同時(shí)更高效。從下圖可以看出,query生成質(zhì)量與檢索呈正相關(guān)。
總結(jié)
挺有意思一篇文章,通過偽query來表征不同視角的文檔,并且支持ANN排序?,F(xiàn)在越來越多的長文檔表征論文從多個(gè)不同視角出發(fā),單一向量確實(shí)很難表達(dá)出多種差異較大的信息,甚至訓(xùn)練中會(huì)導(dǎo)致趨同。
-
編碼器
+關(guān)注
關(guān)注
45文章
3811瀏覽量
138135 -
框架
+關(guān)注
關(guān)注
0文章
404瀏覽量
17904 -
Query
+關(guān)注
關(guān)注
0文章
11瀏覽量
9508 -
模型
+關(guān)注
關(guān)注
1文章
3522瀏覽量
50452
原文標(biāo)題:Dual-Cross-Encoder:面向稠密向量檢索的Query深度交互的文檔多視角表征
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
基于模糊聚類表征的音頻例子檢索及相關(guān)反饋
什么是Query
基于多尺度HOG的草圖檢索
熵加權(quán)多視角核K-means算法
基于最小重構(gòu)誤差向量圖像檢索算法

基于視角相容性的多視角數(shù)據(jù)缺失補(bǔ)全
基于多類支持向量機(jī)的深度視頻幀內(nèi)編碼快速算法

實(shí)現(xiàn)SQL Query項(xiàng)目的詳細(xì)資料總結(jié)
基于雙峰高斯分布的深度哈希檢索算法

稠密檢索模型在zero-shot場景下的泛化能力
通過Token實(shí)現(xiàn)多視角文檔向量表征的構(gòu)建
機(jī)器學(xué)習(xí)多模態(tài)落地存在哪些挑戰(zhàn)
UniVL-DR: 多模態(tài)稠密向量檢索模型

評(píng)論