対照学習とCLIP
対照学習は、対応する例を近く、対応しない例を相対的に区別しやすい位置へ写すように表現を学ぶ方法です。CLIPは画像と文章の対応を利用します。教師となる数値ベクトルを人が一つずつ用意するのではなく、どの組が対応するかという情報から数値表現を学びます。
正しい組が教師になる
画像と説明文の組があれば、その組を正例とし、同じ学習バッチ内の別の説明文を候補として並べられます。モデルは、画像に対応する文章の得点を他の候補より高くするよう学びます。例えば犬の写真と「走る犬」、船の写真と「港の船」という二組から、正しい対応を当てる課題を作ります。犬の画像をどの数値座標へ置くべきかを人が指定する必要はありません。正しい対応を選ぶという損失が、画像側と文章側の表現を調整する方向を与えます。
二つのエンコーダーを比べる
CLIPの基本形では、画像エンコーダーとテキストエンコーダーがそれぞれ特徴ベクトルを出し、長さをそろえて内積などで近さを計算します。画像と文章の全候補の得点表を作り、画像から対応文を選ぶ方向と、文章から対応画像を選ぶ方向の両方を学習します。ベクトルの各成分に「赤さ」「犬らしさ」といった人間の名前が必ず一対一で付くわけではありません。意味は多くの成分に分散して表され、座標そのものより関係を利用します。
ゼロでないベクトルを長さ1へ正規化すると、内積は角度の余弦になります。二つが同方向なら1、直交すれば0ですが、この0を「意味的に完全に無関係」と一般化することはできません。近さの解釈は、学習された空間と使う課題に依存します。
確率と損失の小さな例
二つの文章候補の得点が2と0で、前者が正解だとします。温度を含む調整後の得点にsoftmaxを適用すると、正解確率はe²÷(e²+1)で約0.881、負の対数を取る損失は約0.127です。得点が同じなら正解確率は0.5、損失は約0.693になります。これは説明用の二候補の例であり、実際のCLIPの固定成績ではありません。正例の相対得点を上げるとこの損失が減り、誤差逆伝播を通じて両エンコーダーの重みが更新されます。
画像だけでも対応を作れる
SimCLRのような方法では、一枚の画像から切り抜きや色変化を加えた二つの表示を作り、その二つを正例にします。この場合、物体名のラベルは不要ですが、変形しても保ちたい性質を人が設計しています。数字の6を上下逆さにして9に見える変形を、区別したい課題で同一視させるのは不適切です。負例も完全とは限らず、別の画像や文章でも同じ対象を正しく説明することがあります。こうした偽の負例や、説明文の誤りが学習の質に影響します。
検索と生成での役割を区別する
学習後は「犬の写真」「船の写真」など候補文との近さを比べ、未学習の分類名を使う分類や検索に利用できます。しかし近さは、画像に本当にその数や関係が存在する確率を、そのまま保証する値ではありません。またCLIP単体は画像の画素を描く生成器ではありません。画像生成では文章側の表現を条件として使う構成があり、別の生成ネットワークが画像を作ります。検索に適した表現と、細かい位置関係を正確に描き分ける能力は、別々に評価する必要があります。
確認問題
対照学習で、人があらかじめ「犬の正解ベクトル」を作る必要はありますか。
解答と考え方を見る
通常は必要ありません。画像と説明文などの対応関係を用意し、正しい組を他の候補から選びやすくする損失からベクトル表現を学びます。ただし、対応データや変形方法の良し悪しは学習へ影響します。
参考資料・次に読む資料
- Radfordほか:Learning Transferable Visual Models From Natural Language Supervision画像と文章の対応を対照学習するCLIPの原論文。
- Chenほか:A Simple Framework for Contrastive Learning of Visual Representations同じ画像から作る異なる表示を対応付けるSimCLRの原論文。
資料確認日:2026-11-03。