[論文筆記] OSCAR


Posted by Ivan Fang on 2021-06-17

tags: Paper Notes V+L

OSCAR (Object-Semantics Aligned Pre-training)

  • 原文:Oscar: Object-Semantics Aligned Pre-training for Vision-Language Tasks
  • 機構:Microsoft Corporation, University of Washington
  • 時間:2020 年

Introduction

  • 受到 BERT 的啟發,最近 V+L models 也開始流行 vision-language pre-training (VLP)。而 OSCAR 正是其中的一員。
  • OSCAR 的作法便是將 <word, tag, region> 丟進 multi-layer Transformer 做 pre-training,最後再針對特定任務做 fine-tuning。如 Fig. 1 所示。
    • word:word sequence
    • tag:a set of object tags
    • region:a set of image region features
  • VLP:透過 self-supervised learning 學習 image-text 的 cross-model representations,概念上就跟 BERT 差不多。

Oscar Pre-training

  • Input:text 與 image 會先做以下處理:
    • text:做 word embedding 得到 $w$。
    • image:經過 Faster R-CNN 後得到數個 object 的 region features $v$ 以及它們對應的 tags(文字形式)。對 tags 做 word embedding 得到 $q$。
  • OSCAR input 可以用 2 種觀點(view)來看:
    • $x$:modality view
    • $x'$:dictionary view
  • 針對不同的觀點,我們可以設計不同的 loss 做 self-supervised learning:
    • Modality View:$Contrasitive\ Loss$
      • 將 $h' = [q, v]$ 視為 image modality,$w$ 視為 language modality。
      • $q$ 有 50% 的機率被換成其它 tag sequence。
      • 使用資料集 $D$ 中的隨機抽樣而得 tag sequence 做替換。
      • [CLS] 的輸出端會接上一層 fully connected (FC) layer 當作 binary classifier $f(\cdot)$。用於預測 $q$ 是否為原來的 tag sequence。
      • contrasitive loss $L_{C}$ 公式如下:
        $$
        L_{C} = E_{(h',w) \sim D} \log p(y|f(h',w))
        $$
        • $y = 1$ 表示 $q$ 是原來的。
        • $y = 0$ 表示 $q$ 有被替換。
    • Dictionary View:$Masked\ Token\ Loss$
      • 定義 discrete token sequence $h = [q, w]$。
      • $h$ 中的 token 有 15% 的機率被蓋掉,蓋掉的布部分用 [MASK] 表示。
      • 模型要做的就是預測被蓋掉的這些 token 是什麼。訓練方法就跟 BERT 一樣。
      • masked token loss $L_{MTL}$ 的公式如下:
        $$
        L_{MTL} = E_{(v, h) \sim D} \log p(h_{i} | h_{\setminus i}, v)
        $$
        • $h_{i}$:被蓋掉的 token。
        • $h_{\setminus i}$:沒被蓋掉的 token。
  • 綜上所述,OSCAR 的 pre-training objective 即為(如 Fig. 3 所示):
    $$
    L_{pre-training} = L_{C} + L_{MTL}
    $$
    • $L_{C}$:二分類是否使用原本的 tag sequence。
    • $L_{MTL}$:預測被蓋掉的 token 是什麼。
  • Pre-training Corpus:OSCAR 用了很多 V+L datasets 作為 pre-training corpus,包括:COCO [21]、Conceptual Captions (CC) [31]、SBU captions [26]、flicker30k [44]、GQA [3]。總計 410 萬張圖片、650 萬對 text-tag-image。
  • 模型超參數如下:
    • OSCAR~L~ 對應 BERT~large~ 的參數。H = 1024。
    • OSCAR~B~ 對應 BERT~base~ 的參數。H = 768。
    • 為了讓 $v$ 的維度能更 $w, q$ 一樣,在 $v$ 輸入至 OSCAR 之前會先經過 linear 的轉換。
    • Optimizer:AdamW Optimizer
    • OSCAR~B~ 共訓練 100 萬個 steps、learning rate = 5e^-5^、batch size = 768。
    • OSCAR~L~ 共訓練 90 萬個 steps、learning rate = 1e^-5^、batch size = 512。
    • $h$ 與 $v$ 的 sequence lenth 分別是 35 與 50。

Experiments & Results

(由於我是做 VQA 的,因此這裡只關注在 VQA 上的成果,其它部分詳見原文)

  • OSCAR 與其它 VQA SOTA 如 Table 2 (b) 所示。
  • 作者將 image region 與 word token 丟入模型後,將模型最後一層的輸出抓出來當作 learned semantic features,然後將 learned semantic features 用 t-SNE 降維至二維,最後查看它們的空間分布。如 Fig 4. 所示,相較於 baseline,對於相似的物件,OSCAR 的輸出結果較為接近。
  • 作者分別用 Visual Geome (VG) 與 Open Image (OI) 訓練了兩種 Faster R-CNN。用來觀測不同的 tag sets 影響。實驗結果如 Table 4 所示。OSCAR^VG^ 的效能比 OSCAR^OI^ 好,推測就是因為 VG 中的物件種類較多。

References

[3] Aligning sentences in parallel corpora.
[21] Microsoft COCO: Common objects in context.
[26] Im2text: Describing images using 1 million captioned photographs.
[31] Conceptual captions: A cleaned, hypernymed, image alt-text dataset for automatic image captioning.
[44] From image descriptions to visual denotations: New similarity metrics for semantic inference over event descriptions.


#vqa #cv #NLP







Related Posts

Node.appendChild() vs. Element.append()

Node.appendChild() vs. Element.append()

[7] 進階資料型別 part2 - Tuple

[7] 進階資料型別 part2 - Tuple

初試啼聲,只用原生 JS 跟 CSS 寫「口罩地圖 」Ep.04

初試啼聲,只用原生 JS 跟 CSS 寫「口罩地圖 」Ep.04


Comments