物体検出結果のタグを利用して視覚-言語6タスクでSoTA更新,OSCAR

Oscar: Object-Semantics Aligned Pre-training for Vision-Language Tasks

f:id:e4exp:20210208201250p:plain

まとめ

  • どんなもの?
    • 言語embedding,画像の物体検出特徴に加えて,画像から物体検出で得られた物体タグの系列をTransformerのSelf Attentionでvisual, language特徴をalignmentするためのアンカーポイントとして使用するVision Language Pre-train(VLP)モデル.
  • 先行研究と比べてどこがすごい?
    • 言語理解・生成の6個の下流タスクでSoTAを達成
    • 先行研究のタグはvisualとword embedding両方に関連づいていないため,groundingが不足していたが,本研究はこれを解決
  • 技術や手法のキモはどこ?

    • OSCARが他のVLPとことなるのは入力image textペアの表現とpre training 目的関数
      • 入力は単語−タグ−画像のトリプル(w, q, v)で表現する
        • wは単語埋め込みの系列,
        • qは検出された物体タグ(text)の埋め込み系列,
        • vは画像の領域ベクトルの集合
          • vとqの生成方法:K個の物体領域がある画像を,Faster R-CNNを使って各領域のvisual semanticsを(v', z)として抽出,P次元領域特徴ベクトルv' in RPとして,P=2048が使われる.
          • また,領域位置zはR次元ベクトル(R=4 or 6).v'とzを結合してposition-sensitive region feature vectorにする.これをさらに線形写像でvにする.word embeddingと同じ次元数にするため
          • 同じFasterRCNNは高精度物体タグを検出するためにも使う.qはその物体タグの単語埋め込みの系列
      • pre-train時の目的関数は2つ.masked token lossとcontrastive loss
        • 離散token 系列をh=[w, q]として,Masked Token Loss(MTL)でpre trainする.各iterationで,hの各tokenを確率15%[MASK]トークンと置き換えてmaskする.目的はmaskされたトークンを周囲のtoken h_\iと画像特徴vから予測すること.NLLを最適化する
        • 各入力tripleにつき,h'=[q, v]を画像modalityを表すとしてグループ化.wは言語modalityとする.次にqを50%の確率でデータセット内の異なるタグ系列に置き換え,polluted画像表現をサンプルする.special token [CLS]上のencoder出力は(h', w)のvision language 表現が融合しているので,二値分類器として全結合をその上に適用して,ペアが元の画像表現を含んでいる(y=1)か,pulluted onesか(y=0)を予測する
    • datasetは公開データセット(COCOなど)を組み合わせてimage, textペアが合計6.5million
  • どうやって有効だと検証した?

    • image-text retreaval(サブタスク2個), image captioning, novel object captioning, VQA, GQA, natural language visual reasoning for Real, でそれぞれOSCARをfine-tuningし,結果をそれぞれのSoTAと比較.6/7個のタスクでSoTAを更新
  • 議論はある?

    • VQA, Image Retrieval, Image Captioningでタグ利用有無でablationを行い,タグを利用したほうが速く収束する
    • tagはfeatureとして使ったときに改善が少ない.OSCARで行っているようにanchor pointとしては有望.(tagは視覚特徴から抽出され,言語特徴と同じ意味空間を使っているため,特徴間のalignmentをするためのアンカーポイントになる,というのが本手法の鍵.Transformerのattentionでタグ,言語,視覚特徴それぞれをペアとしたablationの結果これが示されている.デフォルトではすべてのmodalityに対してfull attentionする)
    • 使用するタグの種類(語彙)は,どのデータセットでも性能改善する.
  • 次に読むべき論文は?

    • Image Captioningのsota
      • [46] Zhou, L., Palangi, H., Zhang, L., Hu, H., Corso, J.J., Gao, J.: Uni ed vision-language pre-training for image captioning and VQA. AAAI (2020)
        • VLP
      • [2]Anderson, P., He, X., Buehler, C., Teney, D., Johnson, M., Gould, S., Zhang, L.: Bottom-up and top-down attention for image captioning and visual question answering. In: CVPR (2018)
        • 物体検出を利用
    • CIDEr最適化.captioningタスクでの改善に使用
      • [30]Rennie, S.J., Marcheret, E., Mroueh, Y., Ross, J., Goel, V.: Self-critical sequence training for image captioning. In: CVPR (2017)
  • その他

  • image captioningへのfine tuning:

    • seq2seqの目的関数を使い,事前訓練と同様の方法でfine tuning
      • caption.tokenの15%をランダムにマスクして,対応する出力表現を使い,マスクされたtoken idを分類する.caption tokenはその時点より以前のtokenにしか注意できない(causal設定).すべてのキャプショントークンは画像領域とオブジェクトタグに完全に注意を払いますが、その逆ではないことに注意(?
    • 推論では,画像領域をencodeし,得られる物体タグ,special token[CLS]を入力とする
      • 生成は[MASK]tokenをfeedすることで開始し,次時刻には前の[MASK]を出力単語と入れ替えて,その後に新たな[MASK]をappendして入力する.[STOP]tokenが出たら終了する.beam size =5のbeam searchを使用し,COCO image captioning datasetでの結果を報告
    • pre train時のmask token lossによる双方向attention とは違う.OSCARをCOCOで直接fine tuneする.COCOはKarpathy split.訓練中にcaptionのトークンの15%をランダムに選んで最大3トークンをmaskする.
      • OSCAR_Bではcross-entropyで40 epoch, bach size=256, 初期学習率3e^-5,CIDEr最適化を5epoch,batch size = 64, で初期学習率1e^-6
      • OSCAR_Lモデルはfine tune 30epoch, b_size=128, lr=1e^-5, CIDEr 3 epoch with b_size =48, lr=1e^-6,1e^-7