1行定義
Flamingoとは、DeepMindが2022年に発表した、画像や動画と文章が交互に並んだ入力を読み取り、文章を出力する視覚言語モデルのことです。
くわしく
Flamingoは、DeepMindが2022年に発表した視覚言語モデルです。画像や動画と文章が交互に並んだ入力を読み、続きの文章を出力します。写真について質問に答えたり、説明文を書いたりできます。
少数の例で新しいタスクに対応する
最大の特徴は、Few-shotの能力です。たとえば「写真1とその答え」「写真2とその答え」のように数組の例を並べ、最後に新しい写真と質問を置きます。するとモデルは、例からタスクの形をくみ取って答えます。タスクごとの追加の学習は要りません。評価した16のベンチマークのうち6つでは、はるかに多くのデータでファインチューニングしたモデルを上回りました。
学習済みの2つのモデルをつなぐ
Flamingoは、見る役割と言葉を扱う役割を、それぞれ学習済みのモデルに任せます。
- 画像エンコーダ:対照学習で事前学習したモデルで、重みを固定します。
- 言語モデル:Chinchillaという大規模言語モデルで、重みを固定します。
- Perceiver Resampler:画像の特徴を64個のトークンにまとめます。
- ゲート付きのクロスアテンション層:言語モデルの層の間に挿入し、文章側から画像の情報を参照させます。
追加で学習するのは、つなぎの部分だけです。挿入した層の出力にはtanh(α)を掛け、αの初期値を0にします。学習の開始時は元の言語モデルと同じ出力になり、学習が安定します。学習データには、Webページから画像と文章を並び順のまま取り出したデータなどを使いました。
ほかのモデルとの違い
CLIPは画像と文章の類似度を測るだけで、文章は生成しません。DALL-Eは文章から画像を作ります。Flamingoは画像を読んで文章で答え、Image CaptioningやVisual Question Answeringを1つのモデルでこなします。
覚え方
「固定した目と言葉の頭を、新しい層でつなぐ」と覚えます。
G検定での出題
出題のされ方
少数の例を示すだけで新しいタスクに対応するFew-shotの能力、学習済みの画像側と言語側のモデルを固定してつなぐ構成、出力が文章である点でのCLIPやText-To-Imageとの違いが問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| Flamingoこのページの用語 | DeepMindが2022年に発表した、画像や動画と文章が交互に並んだ入力を読み取り、文章を出力する視覚言語モデル |
| CLIP | インターネット上の大量の画像と文章の組を対照学習し、画像と文章を同じベクトル空間で比べられるようにしたモデル |
| Unified-IO | 画像や文章、座標などの入出力を共通のトークン列で表し、視覚と言語にまたがる多数のタスクを1つで扱うモデル |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
Flamingoは、文章を入力として、その内容に合う画像を生成するText-To-Imageのモデルである。
答えを見る
答え × 誤り
Flamingoの出力は文章です。画像や動画は入力として読み取るだけで、生成はしません。文章から画像を作るのはDALL-Eなどです。
-
Flamingoでは、画像エンコーダが出力する数の定まらない特徴を、Perceiver Resamplerと呼ぶ部品で一定の数のトークンにまとめてから、言語モデル側に渡す。
答えを見る
答え ◯ 正しい
画像の大きさや動画のフレーム数によらず、64個のトークンにまとめます。文章側から画像を参照する計算量を抑えるための工夫です。
-
Flamingoの学習には、Webページから画像と文章をページ内の並び順のまま取り出した、画像と文章が交互に並ぶデータが使われた。
答えを見る
答え ◯ 正しい
M3Wと呼ぶ、約4,300万ページ分のデータです。論文の実験では、このデータを学習から外すと性能が大きく下がりました。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目32 マルチモーダル)
- Jean-Baptiste Alayrac et al., Flamingo: a Visual Language Model for Few-Shot Learning, NeurIPS 2022 (2 Approach(Perceiver Resampler、GATED XATTN-DENSE、学習データ))