CLIP (Contrastive Language-Image Pre-training)
CLIP(対照的言語画像事前学習)を探り、ビジョンと言語を橋渡しする仕組みを学びます。ゼロショット学習を可能にし、Ultralytics YOLO26を支える方法をご紹介します。
CLIP(対照的言語・画像事前学習)は、OpenAIが開発した革新的なニューラルネットワークアーキテクチャであり、視覚データと自然言語の間の隔たりを埋めます。固定されたカテゴリセットに対して労力のかかるデータラベリングを必要とする従来のコンピュータビジョン(CV)システムとは異なり、CLIPはインターネットから収集した数百万の画像とテキストのペアで学習することで、画像を理解できるようになります。このアプローチにより、モデルはゼロショット学習を実行できます。つまり、テキストによる説明を読むだけで、学習中に明示的に見たことのない物体、概念、スタイルを識別できます。視覚情報と言語情報を共有特徴空間にマッピングすることで、CLIPは広範な下流タスク向けの強力な基盤モデルとして機能し、タスク固有の大規模なファインチューニングを必要としません。
アーキテクチャの仕組み#
CLIPの中核となる仕組みは、2つの並列エンコーダーで構成されます。1つは通常、ビジョントランスフォーマー(ViT)またはResNetをベースとする画像エンコーダーで、もう1つは最新の大規模言語モデル(LLMs)で使用されているものに類似したテキストTransformerです。対照学習と呼ばれるプロセスを通じて、システムはバッチ内のどのテキスト断片がどの画像に対応するかを予測するように学習されます。
学習中、モデルはパラメーターを最適化し、一致する画像とテキストのペアのベクトル埋め込みを互いに近づける一方で、一致しないペアを遠ざけます。これにより、「ゴールデンレトリバー」の画像の数学的表現が「犬の写真」というテキスト埋め込みの空間的に近くに位置する、マルチモーダルな潜在空間が形成されます。これらのベクトル間のコサイン類似度を計算することで、モデルは画像が自然言語プロンプトにどの程度対応しているかを定量化でき、柔軟な画像分類と検索が可能になります。
実世界での利用例#
視覚と言語を結び付ける能力により、CLIPは現代のAIアプリケーションにおける中核技術となっています。
- インテリジェントなセマンティック検索:CLIPを使用すると、複雑な自然言語処理(NLP)クエリで大規模な画像データベースを検索できます。たとえば、小売業におけるAIでは、画像に特定のメタデータタグが付いていなくても、購入者が「ヴィンテージの花柄サマードレス」と検索して、視覚的に正確な結果を取得できます。これは高性能なベクトルデータベースによって実現されることが多いです。
- 生成AIの制御: Stable Diffusionなどのモデルは、ユーザープロンプトを解釈し、生成プロセスを誘導するためにCLIPを利用します。CLIPはスコアラーとして機能し、生成された視覚出力がテキストによる説明とどの程度一致しているかを評価します。これは高品質なテキストから画像への合成に不可欠です。
- オープンボキャブラリー物体検出: YOLO-Worldなどの高度なアーキテクチャは、任意のテキスト入力に基づいて物体を検出するためにCLIPの埋め込みを統合しています。これにより、医療分野におけるAIなどの分野で動的な検出が可能になります。そこでは、再学習なしで未知の機器や異常を識別する必要があります。
UltralyticsでCLIPの特徴量を使用する#
標準的な物体検出器は学習対象のクラスに制限されますが、CLIPベースの特徴量を使用すると、オープンボキャブラリー検出が可能になります。次のPythonコードは、ultralyticsパッケージを使用してカスタムテキストプロンプトで物体を検出する方法を示しています。
from ultralytics import YOLOWorld
# Load a pre-trained YOLO-World model utilizing CLIP features
model = YOLOWorld("yolov8s-world.pt")
# Define custom classes using natural language text prompts
model.set_classes(["person wearing sunglasses", "red backpack"])
# Run inference on an image to detect the text-defined objects
results = model.predict("travelers.jpg")
# Display the results
results[0].show()関連する概念との違い#
CLIPの具体的な有用性を理解するには、CLIPを他の一般的なAIパラダイムと区別することが役立ちます。
- CLIPと教師あり学習の比較:従来の教師ありモデルでは、すべてのカテゴリ(例:「猫」、「車」)について、厳密な定義とラベル付きの例が必要です。CLIPはウェブ上に存在する未加工の画像とテキストのペアから学習するため、柔軟性が高く、Ultralytics Platformなどのツールで行われることが多い手動アノテーションのボトルネックを解消します。
- CLIPとYOLO26の比較:CLIPが概念に対する汎用的な理解を提供する一方で、YOLO26は速度と正確な位置特定に最適化された、専門的なリアルタイム物体検出器です。CLIPは特徴抽出器またはゼロショット分類器として使用されることが多いのに対し、YOLO26は本番環境での高速なリアルタイム推論を担うエンジンです。
- CLIPと標準的な対照学習の比較:SimCLRなどの手法は、通常、特徴量を学習するために同じ画像の2つの拡張ビューを比較します。CLIPは画像とテキストによる説明を対照させることで、単一のデータモダリティだけでなく、異なる2つのデータモダリティを橋渡しします。









