Vision-Languageモデルへのダイブ
Vision-languageモデル(VLM)は、視覚とテキストのモダリティを統合し、画像と自然言語テキストの両方を処理できるようにします。これにより、ゼロショット画像分類、画像キャプション生成、視覚的質問応答などの複雑なタスクが可能になります。視覚エンコーダとテキストエンコーダを別々に、あるいは融合させて使用することで、視覚情報とテキスト記述を結び付け、モダリティ間の推論や検索を実現します。
Vision-Language事前学習の主要戦略
最新のVision-Languageモデルは通常、画像エンコーダ、テキストエンコーダ、そして融合戦略を組み合わせます。従来の手作り特徴量に依存したモデルから、現在は主にTransformerアーキテクチャが採用されています。以下の5つの戦略が、これらのモデルの事前学習における主要アプローチです。
1. コントラスト学習
コントラスト学習は、マッチする画像‑テキストペアの距離を最小化し、マッチしないペアの距離を最大化することで、画像とテキストを共通の特徴空間に整列させます。
- 主要モデル: CLIP, CLOOB, ALIGN, and DeCLIP.
- メカニズム: これらのモデルは大量の {image, caption} ペアデータセットを使用します。例えば、CLIPはコサイン距離で埋め込み類似度を測ります。
- バリエーション: LiT (Language-Image Pre-training) はテキストエンコーダをファインチューニングし、画像エンコーダは凍結したままでサンプル効率を向上させます。
2. PrefixLM
PrefixLMは画像を言語モデルへのプレフィックスとして扱い、視覚入力に基づいてシーケンスの次トークンを予測させます。
- メカニズム: Visual Transformers (ViT) は画像をパッチに分割し、順次入力します。SimVLMやVirTexのようなモデルでは、エンコーダが結合された画像パッチとプレフィックステキストを受け取り、デコーダがテキストの続き(continuation)を予測します。
- Frozen PrefixLM: 効率性向上のため、FrozenやClipCapといったモデルは言語モデルを凍結し、画像エンコーダのみを更新して画像埋め込みを凍結LMの空間に合わせます。
- 高度なアーキテクチャ: Flamingo は Perceiver Resampler モジュールと新しいクロスアテンション層を用いて、凍結されたLMを視覚データに条件付け、最先端のfew‑shot学習を実現します。
3. クロスアテンションによるマルチモーダル融合
この戦略は、画像情報をプレフィックスとして扱うのではなく、クロスアテンション機構を通じて言語モデルデコーダの層に直接融合します。
- 主要モデル: VisualGPT, VC-GPT, and Flamingo.
- 目的: 大規模なマルチモーダルデータセットが入手できない場合でも、テキスト生成能力と視覚情報のバランスを取ることが重要です。FIBER は視覚とテキストのバックボーン両方にゲーティング機構付きクロスアテンション層を挿入してこのバランスを改善します。
4. マスク言語モデリング (MLM) と画像テキストマッチング (ITM)
MLM と ITM は、特定の画像領域と対応するテキストセグメントを整合させます。
- MLM: モデルは画像に対応するキャプション中のマスクされた単語を予測します。これにはしばしばバウンディングボックスや物体検出モデル(例: Faster‑RCNN)による領域提案が必要です。
- ITM: モデルは与えられた画像とキャプションのペアが実際にマッチしているかどうかを予測します。
- 主要モデル: VisualBERT, FLAVA, ViLBERT, LXMERT, and BridgeTower. FLAVA は特に MLM、ITM、Masked‑Image Modeling (MIM)、およびコントラスト学習を組み合わせています。
5. トレーニングなし(最適化ベース)
一部の戦略は、事前学習済みの単一モーダルモデルをそのまま利用し、追加学習を行わずにモダリティ間を橋渡しします。
- MaGiC: 自己回帰LMを用いてキャプションを生成し、CLIPベースの「Magic score」で最適化します。
- ASIF: 小規模な真のマルチモーダルペアデータセットから構築した相対表現空間で、類似度に基づく検索を実行します。
マルチモーダルデータセット
事前学習データセット
VLMは大規模なウェブスクレイピングで得られた画像‑テキストペアで事前学習されます。代表例は以下の通りです。
- PMD: Flickr30K、COCO、Conceptual Captions を組み合わせたデータセット。
- LAION-5B: CLIP を用いてノイズを除去し、高品質なペアを確保した大規模データセット。
- COCO: 画像インスタンスに対しオブジェクトラベルと自然文の説明が付与されています。
- Conceptual Captions & Flickr30K: ウェブスクレイピングされた画像と自由形式のキャプションから構成されます。
ダウストリームデータセット
ファインチューニングはタスク固有のデータセットで行われます。
- 視覚質問応答 (VQA): VQA, VQA v2, NLVR2, OKVQA, TextVQA, TextCaps, and VizWiz.
- 分類・推論: Hateful Memes(マルチモーダル分類)、SNLI-VE(視覚的含意)、Winoground(構成的推論)。
🤗 Transformersでの実装
Hugging Face Transformers は多数の VLM をサポートし、ゼロショット分類、セグメンテーション、VQA などのツールを提供します。
サポートされているモデル
- 汎用: CLIP, FLAVA, BridgeTower, BLIP, LiT.
- 専門タスク: OWL‑ViT(ゼロショット物体検出)、CLIPSeg と GroupViT(画像セグメンテーション)、X‑CLIP(ゼロショット動画分類)。
- アーキテクチャテンプレート:
VisionEncoderDecoderModelは任意の Transformer 系ビジョンエンコーダ(例: ViT, Swin)と任意の言語デコーダ(例: GPT2, BERT)を組み合わせることを可能にします。
実用例
- ViLT for VQA: ユーザーは
ViltForQuestionAnsweringとViltProcessorを使用して画像と質問(例: "How many cats are there?")を入力し、予測された回答を取得できます。 - CLIPSeg for Segmentation:
CLIPSegForImageSegmentationはテキスト記述(例: "a cat")を提供するだけで、画像内の特定オブジェクトに対するバイナリセグメンテーションマップをゼロショットで生成します。
新興研究領域
Vision‑Language 表現は、専門領域や複雑な物理的相互作用へと拡大しています。
- 医療: Clinical‑BERT は診断やレポート生成に、MedFuseNet は医療 VQA に利用されます。
- 画像・3D 操作: StyleCLIP と DiffusionCLIP が画像操作を、AvatarCLIP と Text2Mesh が 3D 形状・テクスチャ操作を実現します。
- ロボティクス: CLIPort は模倣学習のために共同表現を使用します。大規模言語モデル(LLM)は ProgPrompt や SayCan のようにタスク計画や推論に統合されつつあり、OWL‑ViT や GLIP といったオープンボキャブラリ検出モデルの台頭により、マルチモーダルモデルがロボットのナビゲーションや操作にさらに組み込まれることが期待されています。