Grounded Language-Image Pre-training

概要
- GLIP (Grounded Language-Image Pre-training)
- https://arxiv.org/abs/2112.03857
- CLIP 2023-11-16 ML勉強会 の拡張版のようなモデル
- (入力)プロンプト + 画像 → (出力)bbox + フレーズ
- 入力プロンプト: 検出したいフレーズが並んでいるもの(例えば COCO のクラス名をピリオド区切りで並べたもの)
- 出力フレーズ: 検出された物体に対応するフレーズをプロンプトから抜き出したもの
- モデル
- Deep Fusion
- CLIPは、Image ↔ Text の関係性を後続のドット積だけで見ていた
- GLIPでは、ImageとTextのそれぞれのエンコーディング結果を混ぜ合わせている
- visual/textのエンコーダーから、visual/text featureを受け取る
- visual feature: N(物体数)x d(次元数)
- text feature: M(ワード数)x d(次元数)
- Cross-Modality Multi-Head Attention (X-MHA) でvisual/text featureを変換する
- visual: Query=visual, Key=text, Value=visual
- text: Query=text, Key=visual, Value=text
- 元の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
- 学習手順
- gold (human-annotated) detection and grounding dataで教師モデルを学習
- 教師モデルを使い、webで収集したimage-textデータにラベル(bbox+phrase)を付与し、pseudo grounding dataを作成
- ここでの入力プロンプトは、textから名詞を抽出したもの
- gold data + pseudo dataで生徒モデルを学習
- 教師+生徒モデルによる学習がなぜ有効なのか?
- webで収集したデータ内のフレーズ(単語)は、goldデータに含まれない場合がある
- 教師モデルが同じフレーズを学習していなくても、言語的な文脈情報を使った予測 (educated guess) ができる
- gold dataで “小瓶” を学習していたら、”ワクチン” に対しても画像内の小瓶の部分を検出できる
- 生徒モデルは教師モデルの guess を supervised signal として利用する
- gold dataになかった “ワクチン” と物体の関係性を学習する