本文詳細研究了視覺語言(VL)任務中更好的視覺表示,並開發了一種目標檢測模型,來提供以對象為中心的圖像表示。與最廣泛使用的bottom-up and top-down模型相比,新模型更大,更適用於VL任務,並在結合多個公共目標檢測數據集的更大訓練語料庫上進行預訓練。
因此,它可以生成更豐富的視覺對象和概念集合的表示。雖然之前的VL研究主要集中在改進視覺語言融合模型,而不涉及目標檢測模型的改進,但作者發現視覺特徵在VL模型中起著重要作用。在本文的實驗中,作者將新的目標檢測模型生成的視覺特徵輸入到基於Transformer的VL融合模型OSCAR中,並利用改進的方法OSCAR+對VL模型進行預訓練,然後在多個下遊VL任務中對其進行微調。結果表明,新的視覺特徵顯著提高了所有VL任務的性能,在多個基準數據集上達到SOTA的結果。論文和代碼地址
論文地址:https://arxiv.org/abs/2101.00529
代碼地址:https://github.com/pzzhang/VinVL
Motivation
視覺語言預訓練(VLP)已被證明對廣泛的視覺語言(VL)任務是有效的。VLP通常包括兩個部分:
1)預訓練目標檢測模型,用於將圖像和圖像中的視覺對象編碼為特徵向量;2)預訓練跨模態融合模型,用於混合文本和視覺特徵。現有的VLP研究主要集中在改進跨模態融合模型上,而本文著重於改進以對象為中心的視覺表示,並進行了全面的研究來證明視覺特徵在VL模型中的重要性 。
在目前的多模態預訓練工作中,大多使用的目標檢測(OD)模型是在Visual Genome數據集上訓練的。OD模型提供了一種以對象為中心的圖像表示。在這項工作中,作者預訓練了一個基於ResNeXt-152 C4結構(簡稱X152-C4)的大規模對象屬性檢測模型。
與以前的OD模型相比,新模型對VL任務進行了專門的設計,並且模型更大,訓練的數據量更大,訓練的數據結合了多個公共目標檢測數據集,包括COCO、OpenImages(OI)、Objects365、Visual Genome (VG)。因此,本文的OD模型在廣泛的VL任務上取得了更好的結果,如上表所示。與其他OD模型(如在OpenImages上訓練的X152-FPN)相比,本文的新模型可以對視覺對象和概念的集合進行更精細的編碼,如上圖中的示例所示(作圖為OpenImages上訓練的X152-FPN結果,右圖為本文模型的結果)。
方法
基於深度學習的VL模型通常包括兩個模塊:圖像理解模塊Vision 和跨模態理解模塊VL :
其中,Img和w分別是視覺和語言模態的輸入。視覺模塊的輸出由q和v組成。q是圖像的語義表示,如標籤或檢測到的對象,v是圖像在高維潛在空間中的特徵表示。大多數VL模型僅使用視覺特徵v,而最近OSCAR模型提出,q可以作為學習更好的視覺語言聯合表示的anchor,因此可以提高各種VL任務的性能。
上面式子中的w和y因不同VL任務而不同。在VQA中,w是一個問題,y是要預測的答案。在文本圖像檢索中,w是句子,y是句子圖像對的匹配分數。在圖像字幕中,w是不給定的,y是要生成的字幕。2)使用大規模的圖像文本語料庫進行預訓練
然而,目前的VLP工作將圖像理解模塊視覺視為一個黑盒,自bottom-up and top-down模型以來,視覺特徵的改進未被觸及,然而目標檢測方面已經取得了很多研究進展:1)開發了更多樣化、更豐富、更大的訓練數據集(如OpenImages和Objects 365)2)在目標檢測算法方面獲得新的進展,如特徵金字塔網絡、one-stage密集預測和anchor-free檢測器
3)利用更強大的GPU訓練更大的模型
本文的重點是改善視覺模態,以獲得更好的視覺表現。作者設計了一個新的OD模型,通過豐富視覺對象和屬性類別,擴大模型大小和在更大的數據集上進行訓練,從而提升多模態預訓練模型的性能。3.1.1. Object Detection Pre-training為了改進VL任務的OD模型,作者使用了四個目標檢測數據集。由於大多數數據集沒有屬性標註,作者採用預訓練和微調策略來構建OD模型。首先在由四個公共數據集組成的大規模語料庫上預訓練OD模型,然後在Visual Genome上用附加屬性分支對模型進行微調,使其能夠檢測對象和屬性。
Data上表展示了本文目標檢測器的訓練數據的細節,這些數據集在一定程度上互補的。例如,VG數據集為對象及其屬性提供了豐富多樣的注釋集,並具有開放的詞彙表。但是它的注釋非常嘈雜,並且存在注釋缺失的問題。而COCO數據集的注釋非常好,但是視覺對象和屬性的覆蓋率遠低於VG中的覆蓋率。作者採取以下步驟通過組合四個數據集來構建統一的語料庫:2)為了平衡每個數據集的貢獻,作者根據數量合併了四個數據集(8×COCO(8×0.11M)、8×VG(8×0.1M)、2×類感知採樣Object 365(2×0.8M)和1×類感知採樣OpenImages(2.2M))。
3)為了統一它們的對象詞彙表,作者使用VG詞彙表及其對象別名作為基本詞彙表,如果和它們的類名或別名匹配,則將其他三個數據集中的類合併到VG類中,如果找不到匹配,則添加一個新類。
4)最後,作者保留1594個VG類和來自其他三個數據集的254個無法映射的類,最終數據集包含1848個類。
Model Architecture (FPN vs C4)儘管最近的工作表明FPN模型在目標檢測方面優於C4模型,但FPN沒有為VL任務提供比C4更有效的區域特徵。作者提出了兩個原因:
首先,C4模型中用於區域特徵提取的所有層都使用ImageNet數據集進行預訓練,而FPN模型的MLP頭則沒有進行預訓練;第二個原因是不同的網絡架構(CNN與MLP)。C4中使用的卷積頭在編碼視覺信息方面比FPN的MLP頭具有更好的假設偏置。因此,作者使用C4架構進行VLP。Model Pre-Training按照目標檢測訓練中的常見做法,首先凍結第一個卷積層、第一個殘差塊和所有BN層。作者還使用了幾種數據增強方法,包括horizontal flipping和multi-scale training。訓練具有X152-C4結構的檢測模型時,作者用ImageNet-5K的checkpoint初始化模型的backbone,並訓練180萬次迭代,Batch Size為16。
3.1.2. Injecting attribute information into the model作者將屬性分支添加到預訓練好的OD模型中,然後在VG上微調OD模型以注入屬性信息(524個類)。由於對象表示在目標檢測預訓練階段進行了預訓練,因此作者將屬性損失權重設為1.25。本文的模型在檢測VG上的對象和屬性方面明顯優於以前的模型。
3.1.3. Efficient region feature extractor for VL tasks由於視覺對象和屬性集更豐富,經典的類感知非極大抑制(NMS)後處理需要大量時間來移除重疊的邊界框,使得特徵提取過程非常緩慢。為了提高效率,作者用類無關NMS取代了類感知NMS。作者還將dilation=2的卷積換成了正常的卷積。這兩種替換使得區域特徵提取過程快得多,而VL下遊任務的精度沒有任何下降。
預訓練的OD模型用作圖像理解模塊,為VL任務生成