このブログ記事では、コンピュータビジョンにおけるCLIP(およびSigLIP)について紹介します。

前回の記事では、クラスラベルを使用して条件付き画像生成器を訓練し、CFGとCADSを用いて多様で高品質な画像を生成するための推論をガイドする方法について説明しました。 しかし、前述のように、クラスラベルではなく、テキストプロンプトを用いるとより細かく生成をコントロールできます。そこで本記事では、 画像生成や他のコンピュータビジョンタスクに役立つテキスト埋め込みを取得できる他にさまざまなユースケースを持つCLIPとSigLIPについて紹介します。
ゼロショットCLIP
自然言語処理におけるタスク非依存のウェブスケール事前学習の成功(GPT)に触発され、OpenAIはコンピュータビジョンでも同じ技術を採用する可能性を探り、CLIPを発明しました。 CLIP(Contrastive Language-Image Pre-training)は画像とテキストのエンコーダーで構成され、ウェブから収集した画像とキャプションのペアを同じ潜在空間内の類似した埋め込みにマッピングするよう訓練されています (そして、一致しない組み合わせに対しては異なる埋め込みを生成します)。これにより、埋め込みは有用な視覚的およびテキスト的意味を含むようになります。

これらの埋め込みの主要な使用例の一つは、特定のデータセットで訓練されていないモデルがそのテストセットに対して分類を実行する、ゼロショット分類です。
画像とテキストを同じ潜在空間内の埋め込みに変換することを学習することで、画像の埋め込みと候補クラスを説明するテキスト(例:「{label}
の写真」)の埋め込み間のベクトル類似性を利用して、
あらゆる分類タスクにゼロショット転移できます。
上記はCLIPのメカニズムを視覚化しています。(上の内積の代わりに、学習可能な温度パラメターを持つコサイン類似度を使用できます。 アプローチの詳細については、記事の最後に引用されている原論文を確認することをお勧めします。)画像エンコーダーとテキストエンコーダーの任意の組み合わせ(ResNet50やViT(およびその変種)、 トランスフォーマーなど)を選択できます。その単純さにもかかわらず、クラスラベルを明確にするためのコンテキストを追加するプロンプトエンジニアリング (例:アスリートの種類としての「ボクサー」と犬種としての「ボクサー」を区別する)により、ゼロショットCLIPはいくつかの画像分類タスク(一般的で単純なタスク)において、 一部の完全教師あり画像分類器を上回る優れたパフォーマンスを達成しました。
表現学習
CLIPは表現学習においても良い性能を達成しており、埋め込みは様々な下流のコンピュータビジョンタスクに活用できます。 元の論文では、地理位置情報認識、光学文字認識(OCR)、表情認識など複数のタスクにおいて、 CLIPと他の事前学習モデルの特徴量を用いた線形モデル(線形プローブ)を比較し、多くのタスクでCLIPの埋め込みが優れていることを確認しています。 また、CLIPモデルはImageNetで事前学習されたモデルよりも自然な分布シフトに対してより堅牢であることも観察されました。 これは、モデルが多様なデータで訓練されている他、一般的な意味を学ぶことを促す正則化メカニズムとして機能する、キャプションの使用に起因すると考えられます (ただし、真の分布外データに対しては依然として一般化が不十分です)。
元の論文ではCLIPを様々な側面から広範に研究し、効果的な堅牢性とタスク固有のパフォーマンスのトレードオフ、 少数ショット学習におけるサンプル効率、スケーリング法則に基づく一部のタスクで最先端のパフォーマンスを達成するために必要な計算量の非現実性、 ウェブスケールの事前学習に伴うバイアスなど、いくつかの限界を特定しました。また、モデルはキャプションを生成する能力がなく、 物体検出のようなより繊細なタスクを実行するように訓練されていません(分析の詳細については論文を確認することを強くお勧めします)。 しかし、CLIPはタスクやドメイン固有の知識やスキルを必要とせずに、多くのコンピュータビジョンタスク(テキスト画像検索を含む)で高いパフォーマンスと堅牢性を達成するための興味深い研究方向を提示しました。
上記では主に画像エンコーダによるエンベディングの下流タスクでの使用について議論しましたが、 テキストエンコーダによるエンベディングにも様々な使用例があります。ここで、条件付き画像生成の文脈に戻ることができます。 CLIPのテキストエンコーダによる豊かな視覚的意味論を持つエンベディングは、主にDDPM(CADSを使用)による条件付き画像生成の条件として、 クラスエンベディングの代わりに使用されます。これは生成器に有用な信号を提供し、生成される画像に対するより細かなコントロールを可能にします。 このように、CLIPはコンピュータビジョンとマルチモーダル学習の最近の進歩における重要な貢献をもたらしました。
SigLIP
CLIPのもう一つの重大な欠点は、トレーニング中に必要なメモリ量であり、これは画像とテキストの埋め込みの全行列を具現化してからカテゴリカルクロスエントロピー損失を適用する必要があることに起因しています。 このメモリ量の問題があるにもかかわらず、CLIPモデルの品質は、最適化のための多くの対照的な目標を含むことができる十分に大きなバッチサイズに依存しています (ただし、過度に大きなバッチサイズはラベルの不均衡を悪化させ、パフォーマンスに悪影響を与える可能性があります)。
各ペアの損失計算を並列化可能にし、行列の具現化の必要性を避け、さらに小さなバッチでモデルのパフォーマンスを向上させるため、 SigLIPは問題をラベル[-1, 1]に対する二項分類問題として再解釈し、効率的な損失計算のためにログシグモイド損失(標準的な二項クロスエントロピーではなく)を使用します。 損失は以下のように定式化されます。
ここで、とは画像とテキストの埋め込み、はラベル(対角エントリに対しては1、それ以外に対しては-1)、とは学習可能なパラメータです。 ラベルが正の場合、シグモイド関数は通常通り動作し、が減少するにつれて値が大きくなり、マイナスされている損失が小さくなります。 ラベルが負の場合、シグモイド関数は反転し、が増加するにつれて損失が大きくなります。トレーニング中は負のラベルが支配的になるため、 学習可能なパラメータとはそれぞれとに初期化することで、負のラベルに対する損失の極端さを減らし、トレーニングを容易にします。
この定式化により、SigLIPは小さなバッチサイズでのImageNetゼロショット転移においてCLIPを上回り、SigLIPは32Kバッチサイズでピークパフォーマンスを達成し、 98KバッチサイズでのCLIPのパフォーマンスをわずかに上回りました。(バッチサイズをさらに増やすとSigLIPのパフォーマンス向上が減少し、両モデルのパフォーマンスも低下しました。) また、自然な分布シフトに対する堅牢性は研究されていませんが、SigLIPはCLIPよりもノイズに対してより堅牢であることが観察されました。
結論
この記事では、ゼロショット転移や条件付き画像生成を含むダウンストリームタスクのための表現学習に利用できるCLIPとSigLIPについて説明しました。 SigLIPはわずかに高いパフォーマンスとノイズに対する堅牢性、そしてトレーニング中の大幅なメモリ要件の改善を達成していますが、 CLIPは(自然な分布シフト、バイアス、制限に関して)十分に研究されており、多くの問題に実用化された実績があるため、人気のある選択肢であり続けています。 また、事前トレーニングのコストはダウンストリームタスクに取り組む多くの研究者にとって無関係であるため、CLIPは依然として人気を保っています。 実際、最近の多くの条件付きDDPMsはSigLIPではなく、CADSサンプリングとCLIPを使用するようにトレーニングされています。
リソース
- Radford. A. et al. 2021. Learning Transferable Visual Models From Natural Language Supervision. ArXiv.
- Zhai, X. et al. 2023. Sigmoid Loss for Language Image Pre-Training. ArXiv.