天天看點

CBMI 2022 | 蒸餾細粒度對齊分數以實作高效的圖文比對和檢索

CBMI 2022-《ALADIN》-蒸餾細粒度對齊分數以實作高效的圖文比對和檢索

【寫在前面】

在涉及視覺和語言的共同了解的任務中,圖像-文本比對正在發揮主導作用。此任務通常被用作預訓練目标,以打造能夠共同處理圖像和文本的體系結構。盡管如此,它有一個直接的下遊應用程式: 跨模态檢索,它包括查找與給定查詢文本相關的圖像,反之亦然。解決此任務在跨模态搜尋引擎中至關重要。許多最近的方法為image-text比對問題提出了有效的解決方案,主要是使用最近的大型視覺語言 (VL) Transformer網絡。但是,這些模型通常在計算上很昂貴,尤其是在推理時。這阻止了它們在大規模跨模态檢索方案中的采用,在這種方案中,結果應幾乎立即提供給使用者。**在本文中,作者通過提出一個對齊和蒸餾網絡 (ALADIN) 來填補有效性和效率之間的差距。**ALADIN首先通過在細粒度的圖像和文本上對齊來産生高效的分數。然後,它通過提取從細粒度對齊中獲得的相關性得分來學習共享的嵌入空間-可以在其中執行有效的kNN搜尋。作者在MS-COCO上獲得了顯著的結果,表明本文的方法可以與最先進的VL Transformer競争,同時速度幾乎快90倍。

1. 論文和代碼位址

CBMI 2022 | 蒸餾細粒度對齊分數以實作高效的圖文比對和檢索

ALADIN: Distilling Fine-grained Alignment Scores for Efficient Image-Text Matching and Retrieval(圖像,文本) 對輸出相關性得分,其中如果圖像與文本相關,則得分高,否則得分低。盡管此任務通常用作視覺語言預訓練目标,但對于跨模态圖像文字檢索至關重要,它通常由兩個子任務組成: 圖像檢索 (希望與給定文本相關的圖像) 和文字檢索,要求更好地描述輸入圖像的句子。在現代跨模态搜尋引擎中,高效有效地解決這些檢索任務具有重要的戰略意義。

許多最先進的圖像-文本比對模型,如Oscar 或UNITER ,包括具有早期融合的大型和深度多模态視覺語言 (VL) Transformer,其計算成本很高,尤其是在推理階段。實際上,在推理過程中,應通過多模态Transformer轉發來自測試集的所有 (圖像,文本) 對,以獲得相關性得分。這在大型資料集中顯然是不可行的,在大規模檢索場景中是不可用的,因為系統延遲應該盡可能小。

為了實作這樣的性能目标,文獻中的許多方法都将圖像和文本嵌入在一個共同的空間中,其中相似性是通過簡單的點積來衡量的。這允許引入離線階段,在該階段中,所有資料集項都被編碼和存儲,在該階段中,僅通過網絡轉發查詢并與所有離線存儲的元素進行比較。盡管這些方法非常有效,但它們通常不如使用大型VL Transformer進行早期模态融合的方法有效。

根據這些觀察結果,在本文中,作者提出了一種對齊和蒸餾網絡模型 (ALADIN),該模型利用大型VLTransformer獲得的知識來建構有效而有效的圖像文字檢索模型。特别是,作者采用了後期融合方法,以便将兩個視覺和文本管道保持分離,直到最終比對階段。第一個目标包括使用簡單而有效的對齊頭将圖像區域與句子單詞對齊。然後,通過使用學習到排名的目标從對齊頭提取分數來學習常見的視覺文本嵌入空間。在這種情況下,将學習的對齊分數用作ground truth (教師) 分數。

作者表明,在廣泛使用的ms-coco資料集上,對齊分數可以達到與大型聯合視覺語言模型 (例如UNITER和OSCAR) 相當的結果,同時效率更高,尤其是在推理過程中。另一方面,用于學習公共空間的蒸餾分數可以擊敗相同資料集上以前的公共空間方法,進而為大規模檢索開辟了基于度量的索引的道路。

本文的貢獻如下:

1)作者使用兩個預訓練的VL Transformer執行個體作為主幹來提取單獨的視覺和文本特征。

2)作者采用一種簡單而有效的對準方法來産生高品質的分數,而不是大型聯合VL Transformer的可擴充性差的輸出。

3)作者通過将問題架構為一個學習到排名的任務,并使用對齊頭輸出中的分數來提取最終分數,進而建立一個資訊豐富的嵌入空間。

3. 方法

提出的體系結構由兩個不同的階段組成。第一階段,稱為骨幹,由預訓練的大型視覺語言轉換器VinVL 的層組成,這是對強大的OSCAR模型的擴充 。在主幹中,語言和視覺路徑不會通過交叉注意機制進行互動,是以可以在推理時獨立地提取兩種模态中的特征。

CBMI 2022 | 蒸餾細粒度對齊分數以實作高效的圖文比對和檢索

相反,第二階段由兩個單獨的頭組成:** 對齊頭和比對頭**。對齊頭用于預訓練網絡,以細粒度的方式有效地對齊視覺和文本概念,如TERAN 中所做的那樣。不同地,比對頭用于構造資訊交叉模态公共空間,該空間可用于有效地将圖像和文本表示為固定長度向量,以用于大規模檢索。使用來自對齊頭的分數作為指導,提取來自比對頭的分數。總體架構如上圖所示。

3.1 Vision-Language Backbone

作為特征提取的主幹,作者使用VinVL中的預訓練層,這是對大規模視覺語言OSCAR模型的擴充。作者的目标是為輸入中的圖像V和文本C獲得合适的矢量表示。特别是,作者在圖像文字檢索任務上采用了預訓練的模型。作者在輸出序列的CLS token之上使用了二進制分類頭,并對模型進行了訓練,以預測輸入圖像和文本句子是否相關。

在本文的用例中,視覺和文本管道應分開,以便可以在推理時獨立forward它們。是以,作者使用VinVL體系結構的兩個執行個體,在共享權重配置中獨立地轉發這兩個模态,如圖上所示。

作者将從對象區域提取的視覺特征及其标簽都用作視覺token,并且兩個子序列由SEP token分隔。最後,解糾纏的VinVL架構的最後一層的輸出是兩個序清單示圖像V,表示文本C。在兩個序列中,第一個元素是CLS token,用于收集整個圖像或文本的代表性資訊。

3.2 Alignment Head

對齊頭包括相似度矩陣,其計算視覺token與文本token之間的細粒度相關性。然後将細粒度的相似性合并以獲得圖像和文本之間的最終全局相關性。特别是,作者使用類似于TERAN 中使用的配方。具體來說,主幹輸出中的特征用于計算視覺文本token對齊矩陣 ,建構如下:

其中,是來自第𝑘圖像的區域特征的索引集合,而是來自第𝑙個句子的單詞的索引集合。此時,圖像k和字幕l之間的相似度通過适當的彙集函數彙集相似度矩陣𝑨沿次元(𝑖,𝑗)來計算。

作者使用 “最大區域總和” 政策,該政策計算以下最終相似性得分:

用于計算公式中𝑨的點積相似度類似于視覺token和文本token之間的交叉注意的計算。差別歸結為視覺和文本pipeline之間的互動,這種互動僅發生在整個結構的最後。這種後期的交叉關注使得序列 V和C可緩存,無需forward

每當向系統發出新的查詢 (視覺或文本) 時,整個體系結構。僅涉及簡單的非參數運算的的計算非常高效,可以在GPU上輕松實作以獲得高推理速度。用于強制此網絡為每個 (圖像,文本) 對産生合适的相似性的損失函數是hinge-based triplet ranking loss:

其中是在圖像𝑘和字幕𝑙之間估計的相似性,以及;值𝑘‘,𝑙’是在mini-batch中找到的圖像和字幕難例的索引,𝛼是定義正負對之間應該保持的最小間隔的margin。

鑒于對齊頭直接連接配接到主幹,在此新的對準目标上對主幹進行了微調。

3.3 Matching Head

比對頭部使用從主幹給出的相同序列𝑽和𝑪,并使用它們來産生用于圖像V的特征和用于字幕C的。這些表示被強制放置在相同的𝑑維嵌入空間中。在這個空間中,可以使用度量空間方法或倒排檔案高效地計算𝑘-nerest-Neighbor搜尋,以便在給定文本查詢的情況下快速檢索圖像,反之亦然。具體地說,通過2層Transformer編碼器(TE)forward 𝑽和𝑪:

TE在兩個通道之間共享權重,編碼整個圖像和字幕的最終向量是從TE層輸出的CLS token:和。最終的相關度被簡單地計算為來自第𝑘個圖像(M)的向量和來自第𝑙個句子的之間的餘弦相似性:。

原則上,可以使用hinge-based triplet ranking loss來優化公共空間。鑒于對齊頭的良好有效性和效率折衷,作者提出使用先前學習的作為老師來學習的分布。

具體地說,作者把從中提取的分布作為一個學習排序問題。作者使用在ListNet方法中開發的數學架構,該架構對給定所有對象的分數的情況下一個對象被排在最前面的機率進行模組化。與這個架構不同,這裡需要針對兩個不同的糾纏分布進行優化:當句子用作查詢時,文本-圖像相似度的分布,以及當将圖像用作查詢時,圖像-文本相似度的分布。具體地,在給定文本查詢𝑘和圖像查詢𝑙的情況下,圖像𝑖和文本𝑗分别相對于𝑺(A)成為第一進制素的機率是:

其中𝐵是batch大小,因為學習過程僅限于目前batch中的圖像和句子。是以,在訓練期間,隻使用查詢𝑘檢索𝐵個圖像,而使用查詢𝑙檢索𝐵個文本元素。類似地,可以在上定義類似的機率:

其中𝜏是補償在\[0,1]範圍内的溫度超參數。實驗發現,𝜏=6.0時在實踐中效果很好。對于圖像到文本和文本到圖像的情況,最終的比對損失都可以表示為和機率之間的交叉熵。

需要準确且密集的教師分數才能獲得對教師分布和的良好估計。這在一定程度上促使選擇首先研究一種有效和高效的對準頭部,該對準頭部可以輸出分數作為比對頭部的ground truth。

3.4 Training

在訓練階段,遵守以下限制:(A)隻有在訓練對準頭時才對主幹進行微調,(B)梯度不會向後流過當訓練比對頭時(如上圖中通過停止梯度訓示所示)。限制(B)是基于分數用作教師分數。是以,不應該修改主幹的權重,因為假設主幹已經用對齊頭進行了訓練。考慮到這些限制,作者分兩步訓練網絡。首先,通過使用更新骨幹權重來訓練對齊頭。然後,當機了主幹,并通過使用更新二層Transformer編碼器的權值來學習比對頭。

4.實驗

CBMI 2022 | 蒸餾細粒度對齊分數以實作高效的圖文比對和檢索

上表展示了本文方法在MS-COCO 1K上的檢索實驗結果,在測試時,除了本文的模型之外,所有報告的模型都需要按的順序計算網絡forward步驟的數量,其中𝑛是圖像的數量,𝑟是與每個圖像關聯的句子數量。

CBMI 2022 | 蒸餾細粒度對齊分數以實作高效的圖文比對和檢索

作者使用類似的方法将本文的比對頭建立的公共空間與其他解纏方法進行比較。結果如上表所示。如上所述,為了比較,作者還報告了使用hinge-based triplet loss直接訓練的比對頭。而不需要從對齊頭中提取分數。

CBMI 2022 | 蒸餾細粒度對齊分數以實作高效的圖文比對和檢索

為了更好地顯示本文的模型在計算時間方面的優勢,在圖上中,作者繪制了與其他方法相比本文方法的有效性與效率的關系圖。

5. 總結

本文提出了一種高效的視覺-文本跨模态檢索體系結構。具體來說,作者提出了使用最先進的VL Transformer作為主幹,通過獨立forward視覺和文本管道來了解對齊分數。然後,使用對齊頭産生的分數來學習視覺-文本公共空間,該公共空間可以容易地産生可索引的定長特征。具體地說,使用學習排序蒸餾目标來解決這個問題,該目标實驗性地證明了它比hinge-based triplet ranking loss優化公共空間的有效性。在MS-COCO上進行的實驗證明了該方法的有效性。結果表明,該方法彌補了效率和效率之間的差距,使該系統能夠部署在大規模的跨通道檢索場景中。

【項目推薦】

面向小白的YOLO目标檢測庫:​​https://github.com/iscyy/yoloair​​