Grounded Language-Image Pre-training

概要

  • (入力)プロンプト + 画像 → (出力)bbox + フレーズ
    • 入力プロンプト: 検出したいフレーズが並んでいるもの(例えば COCO のクラス名をピリオド区切りで並べたもの)
    • 出力フレーズ: 検出された物体に対応するフレーズをプロンプトから抜き出したもの
  • モデル
    • Deep Fusion
      • CLIPは、Image ↔ Text の関係性を後続のドット積だけで見ていた
      • GLIPでは、ImageとTextのそれぞれのエンコーディング結果を混ぜ合わせている
          1. visual/textのエンコーダーから、visual/text featureを受け取る
              • visual feature: N(物体数)x d(次元数)
              • text feature: M(ワード数)x d(次元数)
          1. Cross-Modality Multi-Head Attention (X-MHA) でvisual/text featureを変換する
              • visual: Query=visual, Key=text, Value=visual
              • text: Query=text, Key=visual, Value=text
          1. 元のvisual/text featureに X-MHA で得たfeatureをそれぞれ足し合わせ、再びそれぞれのencoderに入れてvisual/text featureを更新する
    • Phrase Grounding
      • ドット積の部分
      • CLIPは image ↔ text だったが、GLIPは region (bbox) ↔ word (phrase)
      • visual featureとtext featureを掛け合わせた値 (alignment score) を、正解の組み合わせ (bbox ↔ phraseの二値ラベル) に近づける
  • 学習
    • loss: 物体検出(bbox)のloss + alignment scoreのloss
    • 学習手順
        1. gold (human-annotated) detection and grounding dataで教師モデルを学習
        1. 教師モデルを使い、webで収集したimage-textデータにラベル(bbox+phrase)を付与し、pseudo grounding dataを作成
            • ここでの入力プロンプトは、textから名詞を抽出したもの
        1. gold data + pseudo dataで生徒モデルを学習
    • 教師+生徒モデルによる学習がなぜ有効なのか?
      • webで収集したデータ内のフレーズ(単語)は、goldデータに含まれない場合がある
      • 教師モデルが同じフレーズを学習していなくても、言語的な文脈情報を使った予測 (educated guess) ができる
        • gold dataで “小瓶” を学習していたら、”ワクチン” に対しても画像内の小瓶の部分を検出できる
      • 生徒モデルは教師モデルの guess を supervised signal として利用する
        • gold dataになかった “ワクチン” と物体の関係性を学習する