跳至主要内容

[21.01] VinVL

再訪奧斯卡

VinVL: Revisiting Visual Representations in Vision-Language Models


看完了上一篇的奧斯卡,後續的研究立刻就跟了上來。

這篇論文作者認為奧斯卡雖然不錯,但還是有缺點,即:

  • 它對於視覺表示的探索不夠深入。

那麼怎麼樣的作法,才能稱之為「深入」呢?

讓我們仔細地來看過這篇論文。

定義問題

VinVL demo

作者專注於視覺語言預訓練(VLP)領域,特別是在改進物件偵測(OD)模型的視覺表徵方面。在多數視覺語言(VL)任務中,視覺特徵的有效性和豐富性對於直接關係到模型的性能。下面是一些主要的問題點:

  1. 豐富的視覺表徵的必要性

    當前的 VLP 方法通常強烈依賴於物件偵測模型所提供的視覺表徵。作者指出:儘管這些模型為處理各種 VL 任務提供了有價值的視覺信息,但還有改進的空間,尤其是在處理複雜、多樣並富含語義的圖像場景方面。

  2. 跨模態融合模型的效果

    VLP 通常由兩部分組成:預訓練的物件偵測模型和一個跨模態融合模型,後者是用於結合視覺和語言特徵。雖然大部分的研究聚焦於改進跨模態模型,但作者強調,更加強大和語義豐富的視覺表徵同樣關鍵。

  3. 現有物件偵測模型的局限性

    作者明確指出當前廣泛使用的 OD 模型,在一些文獻中作為一個「黑盒」使用,在其訓練數據集和目標上可能存在一些局限性,這影響了其在各種 VL 任務上的效能。

  4. 視覺物件和概念的多樣性

    在許多實際應用中,模型需要能夠識別和理解圖像中的各種視覺物件和概念。當前的模型,尤其是在 Open Images 上訓練的模型,可能無法充分捕捉和表達這些豐富多樣的視覺內容。

解決問題

VinVL 模型設計

在這篇論文中,作者沒有提出新的結構,就僅針對之前的 Oscar 架構進行視覺特徵的優化。

視覺語言模型通常由兩個主要部分組成:影像理解模組(Vision)和跨模態理解模組(VL)。其中,Vision 模組將影像轉換為語義表示(q)(例如:標籤或檢測到的對象),和高維潛在空間中的分佈表示(v)(例如:由預訓練的 Faster-RCNN 模型生成)。

接著,這些視覺特徵與語言輸入一起用於各種 VL 任務。在本文中深入探討了影像理解模組的改進方法,尤其聚焦於物件檢測的預訓練和利用屬性信息的注入,以下是幾個要點:

物件檢測預訓練

  • 資料處理

    使用四個主要的公共數據集(COCO、OpenImagesV5、Objects365V1 和 Visual Genome)進行目標檢測模型的預訓練,這些數據集包含多種大小和多樣性的影像和標籤資料。具體使用了多個策略來建立一個統一的大型語料庫,例如:類別感知採樣和對不平衡資料集的貢獻進行平衡。

  • 模型架構

    在模型架構方面,儘管特徵金字塔網路(FPN)在目標檢測任務上表現優於 C4 模型,但 C4 模型為 VL 任務提供了更有效的區域特徵。

    提示

    C4 模型是什麼?

    我剛看到的時候也感到困惑,於是跟著論文找到另外一篇參考文獻,發現原來所謂的 C4 模型就是指從 CNN 架構中提取出來的 1/2^4(就是 1/16)的特徵圖啦!

    在這篇參考文獻內提出了一個論述:使用 1/16 尺度的特徵圖比起 FPN 更能提升 VL 任務的表現。而這個論述被本篇論文的作者採用了,所以你會在這邊看到「C4 模型」這個名詞。

  • 預訓練策略

    作者採用了一系列經典與經驗相結合的方法以提升模型的性能。

    • 鎖定(freeze)模型的初步層級,包括第一卷積層、第一個殘差區塊以及所有的批次標準化層,以保留低級的視覺特徵並防止在初期訓練時被破壞。
    • 為了擴展數據集並增強模型的泛化能力,作者也應用了一系列的資料增強技巧,其中包括水平翻轉和多尺度訓練。

    作者選擇使用的目標檢測模型基本架構為「X152-C4 架構」。初始模型主幹的權重是基於在 ImageNet-5K 數據集上訓練過的模型進行初始化的,並且在 16 張影像的批次大小下進行了 1.8M 次的迭代訓練。

屬性注入

在目標檢測模型(OD)的訓練與微調中,一個重要的方向是如何將額外的信息或特徵整合到模型中以提升其預測能力。

  • 預訓練模型與屬性分支

    • 預訓練的 OD 模型:基本上是先在一個較大的數據集上訓練物件檢測模型,以便學習到一般的視覺特徵和物件檢測的基本能力。
    • 加入屬性分支:在該預訓練的 OD 模型中添加了一個新的分支來預測物件的屬性,從而使模型在進行物件檢測的同時也能識別和預測出物件的某些屬性。
  • 在 Visual Genome(VG) 數據集上的微調

    • 屬性資訊:這裡的屬性指的是物件的某些特徵或者特性,比如顏色、形狀、大小等,VG 數據集提供了 524 個這樣的屬性分類。
    • 微調策略:在將屬性分支加入到模型後,對其在 VG 數據集上進行微調,以便模型學習到與這些屬性相關的視覺特徵並提高在物件檢測任務中對這些屬性的預測能力。
    • 屬性損失權重調整:選擇一個比先前研究更大的屬性損失權重(0.5 -> 1.25),目的是在微調過程中更加強調屬性學習的重要性,以在最終的模型中實現對物件屬性更加精準的預測。

這樣的方法能夠使模型在 VG 數據集上,不僅能夠檢測出物件,還能夠識別和預測物件的多個屬性,並且與之前的模型相比,展現了顯著的優勢。

提高效率

在視覺語言任務中,物件的視覺特徵和屬性的豐富性帶來了一定的計算挑戰,特別是在特徵提取過程中。

  • 非極大值抑制 (NMS) 的挑戰

    由於視覺物件和屬性的豐富多樣性,使用類別感知非極大值抑制(NMS)在後處理階段需要消耗大量的計算資源來消除重疊的邊界框,導致特徵提取過程極其緩慢。

  • 提高效率的策略

    • 使用類別不可知 NMS:使用只執行一次 NMS 操作的類別不可知 NMS,這不僅降低了計算的複雜度,而且維持了一個較高的操作效率。
    • 調整卷積層設定:將原先設置為 dilation=2 的卷積層替換為不進行擴張的卷積層,這同樣是一個針對計算效率的優化。

這兩種主要的調整和替換使區域特徵提取過程的速度有了顯著提升,而且在 VL 下游任務的準確性方面並沒有出現下降。

提示

空洞卷積是什麼?

原文是 Dilated Convolution,是一種通過在卷積核內引入間隔(即空洞)來擴大其感受域的技術。當 dilation > 1 時,卷積核對輸入的採樣更為稀疏,意味著每一個輸出特徵是由輸入特徵中更寬廣範圍的區域計算得來。它可以捕獲到較大範圍內的信息,但也帶來了更高的計算複雜度。

討論

下游任務的表現

VinVL results

  1. 為了評估模型參數效率,最先進的模型 (SoTA) 被劃分為三類:

    • SoTAS: 小型模型,在基於 Transformer 的 VLP 模型之前達到最佳表現。
    • SoTAB: 大小與 BERT 基礎類似的 VLP 模型的最佳效能。
    • SoTAL: 大小與 BERT Large 類似的 VLP 模型的最佳表現。
  2. OSCAR+ 和 VINVL 在 7 個視覺語言任務上的結果比先前的 SoTA 更好,大多數情況下都遠遠超出。

  3. VQA:OSCAR+B 模型優於 VQA 排行榜上的最佳模型。

  4. GQA:OSCAR+B 搭配 VINVL 是第一個超越神經狀態機 (NSM) 的 VLP 模型。

  5. 圖像字幕:OSCAR+B 模型在 COCO 圖像字幕線上排行榜上排名第一,超越了 263 個模型。

  6. NoCaps:沒有使用任何 VLP,基於 BERT 的模型加上新的視覺特徵(VinVL)已經超越了人類的 CIDEr 效能。再加上 VIVO 預訓練後,效能進一步提高,成為新的 SoTA。

視覺特徵有多重要?

VinVL ablation

作者分析了兩種不同的視覺模型(R101-C4 和 X152-C4)以及不同的視覺語言前處理(VLP)方法(無 VLP 和 OSCAR)在視覺問答(VQA)任務上的效能。X152-C4 和 R101-C4 模型分別代表著不同的視覺模型架構,其中 VinVL(一個包含 4 個資料集的預訓練模型)和其他 VLP 方法均用於預訓練。

  1. 模型比較與效能提升

    • OSCAR vs. OSCAR+:利用 R101-C4 特徵的 OSCAR 模型作為基線,當更換為 X152-C4 特徵的 OSCAR+ 模型時,絕對精度從 72.38 提升至 74.90。
    • 貢獻分析: OSCAR+ 預訓練提供了 5% 的精度,而透過改進視覺特徵的視覺預訓練貢獻了 95% 的精度增益。
  2. 視覺表徵的重要性

    • 經過這次模型比較,顯示視覺表徵在 VLP 和下游任務中起著關鍵的作用。視覺模型和 VLP 方法均對結果的改善做出了明顯貢獻。
    • VinVL 和 VLP 的增益顯示為相加的形式,代表視覺預訓練和 VLP 各自對視覺模型和 VL 模型做出了獨立的改善。

視覺概念多樣性的影響

文章探討了視覺概念,尤其是物件和屬性詞彙的多樣性,對視覺語言模型,特別是視覺問答(VQA)任務的影響。

  • 視覺概念詞彙的豐富度

    VinVL concepts

    • 更豐富的物件詞彙與 VQA 結果的正相關: 模型在物件詞彙更豐富的數據集上通常獲得更好的 VQA 結果。例如:模型在 VG w/o attr 上的表現優於在具有較少物件類別的 VG-obj 和 ImageNet 上。
    • 物件詞彙與視覺概念的完整性: 某些視覺概念(例如:「天空」和「水」)被證明對 VQA 任務極具影響力,這也揭示了更全面的物件詞彙在模型表現上的優勢。
    • 屬性的使用對 VQA 結果極為關鍵。當模型被訓練以識別屬性時(如在 VG 或 4Sets→VG 數據集上),它們的表現顯著優於沒有這類訓練的模型。
    • 即便在較小的視覺模型(例如:R50-C4)上,視覺預訓練也能提升 VQA 的表現,證明視覺預訓練的普遍效益。
  • 豐富的視覺語義對視覺語言任務的影響

    VinVL concepts

    • COCO groundtruth(GT-Obj 和 GT-Obj&Stuff)在物件定位方面表現出色,但其詞彙有限。相對的,VG 訓練模型在物件定位方面可能不如 COCO groundtruth,但它們擁有更豐富的詞彙,因此對 VQA 任務更有利。
    • 相對於典型的物件檢測(OD)任務,視覺語言(VL)中的 OD 任務更加依賴豐富的視覺語義。VL 任務要求的視覺語義需與語言模態中的豐富語義一致,強調了豐富視覺詞彙在 VL 任務中的重要性。

結論

雖然 VinVL 嘗試引入更多的視覺特徵,但總還是沒有掙脫類別的概念。當選定的物件和屬性類別也許並不足夠豐富,或者在某種程度上帶有一定的偏見,這意味著模型無法完全捕捉到所有的視覺概念,影響其深入應用於更廣泛領域的可能性。

再來,相信你也看出來了,這個模型規模的龐大和複雜度也是一個突出的問題。作者大概也是明白,所以特別寫了一個章節來說明提高效率的方式,來告訴使用者該怎麼改善推論速度。

VinVL 模型的大型架構和複雜計算過程要求較高的計算資源和儲存能力,這在一定程度上限制了其在資源有限的應用場景中的適用性和普及程度。

最後,屬性和視覺概念的融合難題同樣不可忽視。模型需要在多個來源的數據集上進行訓練以涵蓋廣泛的視覺概念和屬性。然而,如何融合這些異質來源的資料、確保資料一致性並充分發揮它們的優勢,在實現一個具有高度一致性和廣泛應用性的模型時仍是一大挑戰。

VinVL 模型透過在多個數據集上的訓練,展現出在多個 VL 任務上的強大能力和潛力,特別是在物件識別和視覺屬性的理解上。儘管模型仍然面臨一些挑戰,但其在多個任務上的優異表現及其廣泛的應用前景彰顯出其作為視覺語言預訓練模型的價值。