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。
- Modality View:$Contrasitive\ Loss$
- 綜上所述,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.