1行定義
CLIPとは、インターネット上の大量の画像と文章の組を対照学習し、画像と文章を同じベクトル空間で比べられるようにしたモデルのことです。
くわしく
CLIP(Contrastive Language-Image Pre-training)は、OpenAIが2021年に発表した、画像と言語を結びつけるモデルです。インターネットから集めた約4億組の画像と文章のペアで事前学習しました。
2つのエンコーダと対照学習
CLIPは、画像をベクトルに変換する画像エンコーダと、文章をベクトルに変換するテキストエンコーダをもちます。
学習では、ミニバッチ内の画像と文章について、すべての組み合わせの類似度を計算します。本当に対応する組の類似度は高く、対応しない組の類似度は低くなるように、2つのエンコーダを同時に学習します。このように、正しい組を近づけて違う組を遠ざける方法を対照学習といいます。その結果、犬が写った画像のベクトルと「a photo of a dog」という文のベクトルが、同じ空間の近い位置に置かれるようになります。
Zero-shotでの分類
クラス名を文章にしてテキストエンコーダに通せば、画像との類似度で分類できます。そのクラスのラベル付きデータで追加学習しなくても分類できるため、Zero-shot(ゼロショット)分類と呼ばれます。論文では、ImageNetの訓練データを1枚も使わずに、ImageNetで学習した元のResNet-50と同程度の精度に達したと報告されています。
活用
CLIP自体は画像を生成しませんが、画像と文章の対応を測れるため、生成AIの部品として使われます。DALL-E 2は、文章からCLIPの画像の埋め込みを予測し、それをもとに画像を生成します。初期のStable Diffusionでも、文章をベクトルに変換する部分にCLIPのテキストエンコーダが使われています。大規模なデータで学習し、さまざまなタスクに転用できることから、基盤モデルの例として挙げられます。
覚え方
「写真と説明文を、同じ地図の近い場所に置く」と覚えます。
G検定での出題
出題のされ方
画像と文章のペアを使った対照学習の仕組み、追加学習なしで分類できるZero-shotの性能、画像生成モデルの部品としての活用、マルチモーダルや基盤モデルとの関係が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| CLIPこのページの用語 | インターネット上の大量の画像と文章の組を対照学習し、画像と文章を同じベクトル空間で比べられるようにしたモデル |
| DALL-E | OpenAIが開発した、入力した文章(プロンプト)の内容に沿った画像を生成するText-To-Imageのモデル |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
CLIPは、画像と文章のペアについて、対応する組の埋め込みの類似度を高め、対応しない組の類似度を低くする対照学習で事前学習される。
答えを見る
答え ◯ 正しい
ミニバッチ内のすべての画像と文章の組み合わせで類似度を計算し、正しい組だけを近づけます。約4億組のペアで学習しました。
-
CLIPの画像エンコーダは、ImageNetの1000クラスの正解ラベルを使った教師あり学習で訓練されている。
答えを見る
答え × 誤り
CLIPは、クラスラベルではなく、インターネットから集めた画像と文章のペアで学習します。文章が教師の役割を果たします。
-
CLIPは、入力された文章から新しい画像を生成するモデルである。
答えを見る
答え × 誤り
CLIPは画像と文章がどれだけ対応するかを測るモデルで、画像は生成しません。ただし、DALL-E 2などの画像生成モデルの部品として使われます。