G検定 › Web参考書 › 第6章

マルチモーダル(CLIP、DALL-E、Flamingo、Image Captioning、VQA、基盤モデル)

第6章 ディープラーニングの応用例 / 節 7

シラバスのキーワード: CLIPDALL-EFlamingoImage CaptioningText-To-ImageVisual Question AnsweringUnified-IOZero-shot基盤モデルマルチタスク学習

本文を読んだあと、覚えているか確認してください。

マルチモーダルとは

テキスト、画像、音声など複数の種類のデータ(モダリティ)を組み合わせて扱うことです。

タスク 内容
Image Captioning 画像を入力して説明文を生成
Text-To-Image テキストから画像を生成(DALL-E、Stable Diffusion)
Visual Question Answering(VQA) 画像についての質問にテキストで答える

CLIP

OpenAIが2021年に発表したモデルで、大量の画像と説明文のペアを用い、対応する画像とテキストの埋め込みが共通の空間で近くなるように対照学習しています。分類時はクラス名を文にしてテキスト埋め込みを作り、画像埋め込みとの類似度が最も高いものを選ぶため、追加学習なしに任意のクラスを扱うZero-shot分類ができます。DALL-Eなどのテキストから画像を生成するモデルにも利用されています。

その他のモデル

基盤モデルとマルチタスク学習

大規模で多様なデータで事前学習され、ファインチューニングやプロンプトで多種多様な下流タスクに適応できる汎用モデルを基盤モデル(Foundation Model)と呼びます。GPT、BERT、CLIP、DALL-Eなどが該当します。複数のタスクを1つのモデルで同時に学習し、タスク間で知識を共有するのがマルチタスク学習です。

試験で問われる観点

この節の練習問題(5問)

答えを見る前に選んでから開いてください。同じ問題は章別演習でランダム出題されます。

  1. 問1
    マルチモーダルモデルに関する記述として、最も適切なものを選びなさい。
    1. 1CLIPは大量の音声とテキストのペアで、対応するペアが近づくように対照学習したモデルで、学習していない話者でも音声の説明を与えれば認識できるZero-shot性能を持つ。DALL-Eは画像から説明文を生成するImage Captioningモデルである
    2. 2CLIPはテキストから画像を生成するText-to-Imageモデルで、DALL-Eは大量の画像とテキストのペアで対応するペアが近づくように対照学習したモデルで、学習していないクラスでもテキストの説明を与えれば分類できるZero-shot性能を持つ
    3. 3CLIPは画像とテキストのペアを入力し、対応しているかどうかを教師あり学習で分類するモデルで、学習に含まれないクラスは分類できず追加のファインチューニングが必要になる。DALL-Eはテキストのみを扱う大規模言語モデルで画像は生成できない
    4. 4CLIPは大量の画像とテキストのペアで、対応するペアが近づくように対照学習したモデルで、学習していないクラスでもテキストの説明を与えれば分類できるZero-shot性能を持つ。DALL-Eはテキストから画像を生成するText-to-Imageモデルである
    答えと解説

    正解: 4

    CLIP(OpenAI、2021年)は画像エンコーダとテキストエンコーダを、対応する画像とテキストの表現が近くなるように学習したモデルで、「犬の写真」のようなテキストとの類似度で分類できるため、追加学習なしのZero-shot分類が可能です。DALL-Eはテキストから画像を生成するモデル、Flamingoは画像とテキストを交えた入力で対話や質問応答ができるモデルです。CLIPが扱うのは音声ではなく画像であり、CLIPとDALL-Eの役割を入れ替えた説明や、CLIPを教師あり分類でZero-shot不可とする説明、DALL-Eをテキスト専用とする説明は誤りです。Image Captioningは画像から説明文を生成するタスク、Visual Question Answeringは画像についての質問に答えるタスクで、これらを含む幅広いタスクに使える大規模な事前学習モデルを基盤モデルと呼びます。

  2. 問2
    「基盤モデル(Foundation Model)」の説明として、最も適切なものを選びなさい。
    1. 1特定の1つのタスク専用に、そのタスクの小規模なデータのみで一から学習した軽量なモデルで、他のタスクへの転用は想定されていない
    2. 2人手で記述したルールに基づいて動作し、データからの学習を行わない基礎的なプログラムで、エキスパートシステムの推論エンジンの総称
    3. 3大規模なデータで事前学習されたモデルのうち、ファインチューニングをせずプロンプトのみで利用するものを指し、追加学習を行ったものは含まない
    4. 4大規模で多様なデータで事前学習され、ファインチューニングやプロンプトによって多種多様な下流タスクに適応できる汎用的なモデルの総称
    答えと解説

    正解: 4

    基盤モデルはスタンフォード大学の研究者らが提唱した概念で、GPTやBERT、CLIP、DALL-Eのように大規模データで事前学習し、幅広いタスクの土台となるモデルを指します。テキストと画像など複数のモダリティを統一的に扱うUnified-IOのようなモデルも登場しています。特定タスク専用に小規模データで学習したモデルや、ルールに基づいて動作するプログラムは基盤モデルではありません。また基盤モデルはプロンプトだけで使うものに限らず、ファインチューニングして下流タスクに適応させたものも含みます。

  3. 問3
    CLIPがZero-shotの画像分類を実現できる理由として、最も適切なものを選びなさい。
    1. 1大量の画像とその説明文のペアで、対応する画像とテキストの埋め込みが近くなるように学習しているため、「猫の写真」などのテキストと画像の類似度を比べるだけで、学習時に用意していないクラスでも分類できる
    2. 2ImageNetの1000クラスのラベル付き画像で分類器として学習し、分類したいクラスごとに数十枚の画像を追加でファインチューニングする仕組みを備えているため、学習時に用意していないクラスでも分類できる
    3. 3大量の画像とその説明文のペアで、説明文から画像を生成するように学習しているため、「猫の写真」などのテキストから画像を生成し、入力画像と画素単位で一致するかを比べることで、学習時に用意していないクラスでも分類できる
    4. 4大量の画像とその説明文のペアで、画像の埋め込みとテキストの埋め込みが互いに遠くなるように学習しているため、テキストの埋め込みから最も遠い画像を選ぶだけで、学習時に用意していないクラスでも分類できる
    答えと解説

    正解: 1

    CLIPは画像エンコーダとテキストエンコーダを対照学習で訓練し、対応する画像と説明文が共通の埋め込み空間で近くなるようにしています。分類時はクラス名を文にしてテキスト埋め込みを作り、画像埋め込みとの類似度が最も高いものを選ぶため、追加学習なしに任意のクラスを扱えます。この仕組みはDALL-Eなどのテキストから画像を生成するモデルにも応用されています。

  4. 問4
    倉庫の棚の写真と「この棚に空きスペースはあるか」という質問を入力し、テキストで回答させるシステムを作りたい。このタスクとして最も適切なものを選びなさい。
    1. 1Visual Question Answering
    2. 2Image Captioning(画像の説明文生成)
    3. 3Text-To-Image(テキストから画像生成)
    4. 4パノプティックセグメンテーション
    答えと解説

    正解: 1

    画像とそれについての質問を入力し、答えをテキストで出力するタスクはVisual Question Answering(VQA)です。Image Captioningは質問を受けずに画像の説明文を生成するタスク、Text-To-Imageは逆にテキストから画像を生成するタスクです。パノプティックセグメンテーションは画像のすべてのピクセルにラベルを付ける画像認識のタスクで、質問に答えるものではありません。

  5. 問5
    マルチモーダルモデルに関する記述として、誤っているものを選びなさい。
    1. 1CLIPは、対応する画像とテキストの埋め込みが近くなるよう対照学習している
    2. 2Flamingoは、画像と文章を交互に含む入力を扱い、少数の例で視覚言語タスクに対応する
    3. 3Unified-IOは、多様な入出力を統一的な形式で扱い、多くのタスクを1つのモデルで実行する
    4. 4DALL-E 2以降は拡散モデルを使わず、GANだけでテキストから画像を生成している
    答えと解説

    正解: 4

    DALL-E 2以降は拡散モデルとCLIPを組み合わせてテキストから画像を生成しており、GANだけで生成しているという記述は誤りです。CLIPは画像と説明文のペアで対照学習したモデル、Flamingoは画像と文章が交互に並ぶ入力を少数の例で扱うモデル、Unified-IOは多様な入出力を統一形式で扱うモデルで、いずれも正しい説明です。