Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Zero-Shot Learning

ゼロショット学習は、入力とテキスト記述を照合することで、ラベル付きの例なしにクラスを認識します。CLIP、オープンボキャブラリー検出、限界について解説します。

ゼロショット学習(ZSL)とは、ラベル付き学習例を見たことのないクラスをモデルが認識する能力です。例の代わりに、新しいクラスごとの説明をモデルに与えます。説明は属性のリストの場合もあれば、最新のシステムではテキストとしてのクラス名の場合もあります。モデルは入力を、共有された埋め込み空間内の説明と照合します。標準的な教師あり学習では、学習ラベルに含まれるクラスしか予測できません。そのため、カテゴリを追加するには、新しいデータを収集してラベル付けし、再学習する必要があります。ゼロショットモデルでは、クラス名を追加するだけでカテゴリを追加できます。4億組の画像とキャプションで学習したOpenAIのCLIPは、ImageNetの128万枚のラベル付き学習画像を使わずに、元の教師ありResNet-50と同等のImageNet精度を達成しました。

ゼロショット学習の仕組み#

ゼロショット学習では、既知クラスと未知クラスを結び付ける意味空間を通じて知識を転移します。初期の手法では、クラスごとに「縞模様がある」「ひづめがある」「草原に生息する」といった人手で定義した属性を記述し、モデルがこれらの属性を予測するように学習しました。そのため、学習時に見たことのない動物でも、属性が一致するクラスとして認識できました。視覚言語モデルは、手作業で作成した属性を自然言語に置き換えました。CLIPは、対照学習を用いて画像エンコーダーとテキストエンコーダーを学習し、一致する画像とキャプションの埋め込みが近くなるようにします。分類時には、「シマウマの写真」のような候補クラスごとのプロンプトを埋め込み、画像も埋め込み、最も高いコサイン類似度を持つクラスを選択します。

推論時にテキストから分類器を構築するため、クラスのリストはリクエストごとに変更できます。同じ仕組みは大規模言語モデル(LLM)にも適用されます。ゼロショットプロンプティングとは、GPT-3の論文で定義されているように、実例を示さず、指示だけをモデルに与えることです。

ゼロショット物体検出#

オープンボキャブラリー検出器は、ゼロショット学習を画像全体から個々の物体へと拡張します。候補となる各領域を、要求されたクラスのテキスト埋め込みと照合してスコア付けするため、動画アーカイブ内の特定の商品など、固定されたラベルセットにない物体も検出できます。YOLO-Worldは、この手法をリアルタイムYOLOモデルに適用しています。UltralyticsのYOLOE-26は、オープンボキャブラリー対応のYOLO26です。set_classes()に渡された各クラス名をMobileCLIP2テキストエンコーダーでエンコードし、再学習なしで該当クラスのボックスとインスタンスセグメンテーションマスクを返します。

from ultralytics import YOLOE

# テキストプロンプトを受け付けるYOLOE-26チェックポイント
model = YOLOE("yoloe-26s-seg.pt")

# 推論時にクラスを指定します。ここではCOCOのラベルにない単語を使っています
model.set_classes(["city bus", "sneakers", "glasses"])

# 指定したクラスを検出してセグメント化します
results = model.predict("https://ultralytics.com/images/bus.jpg")
result = results[0]
result.save(filename="zero_shot_result.jpg")

最初のset_classes()呼び出しでテキストエンコーダーがダウンロードされます。物体検出における「ゼロショット」とは、そのクラスのラベル付きボックスをモデルが受け取っていないことを意味します。ただし、エンコーダーの事前学習に使われた画像とテキストのデータに、そのクラス名が含まれていた可能性はあります。Ultralytics Platformは、ゼロショット検出器と視覚言語モデルを使って検出データセットを自動アノテーションします。VLM Leaderboardでは、それぞれのモデルが実世界の画像からどれほど正確に物体を見つけるかを比較します。

用途#

  • ビジュアル検索とモデレーション: メディアライブラリやコンテンツプラットフォームは、テキストクエリに一致する画像を検索したり、各クエリに対して分類器を学習させずに新しいカテゴリのコンテンツを検出したりできます。
  • ロボティクス: 「青いマグカップを取って」と指示されたロボットは、検出対象として学習したことのない物体カテゴリを見つけることができます。
  • 野生生物と生物多様性: 生命の系統樹全体にわたる1,000万枚以上の画像で学習したBioCLIPは、種の名前からゼロショットで種を分類し、CVPR 2024で最優秀学生論文賞を受賞しました。
  • 医用画像: 所見を記述した放射線科レポートとX線画像の組み合わせで学習したモデルは、明示的な学習ラベルとしてアノテーションされていない所見を検出できます。

課題#

ゼロショット精度は通常、同じクラスのラベル付き例で学習したモデルより低く、特に名前がウェブ上のテキストであまり使われない細分類や専門的なカテゴリではその傾向が強くなります。テスト画像が既知クラスと未知クラスの両方から得られる汎用ゼロショット学習では、モデルは学習済みクラスを優先するため、ベンチマーク研究では、この条件下で未知クラスの精度が大幅に低下することが示されています。結果は表現にも左右されるため、プロンプトエンジニアリングもゼロショット分類の一部です。CLIPのImageNet精度は、単なるクラス名を「a photo of a {label}.」というプロンプトに置き換えることで1.3%向上しました。

  • 少数ショット学習: クラスあたり通常1~10個程度の少数のラベル付き例から、新しいクラスを学習します。ゼロショット学習では例を使わず、代わりに説明を与えます。
  • ワンショット学習: 少数ショット学習のうち、クラスあたりラベル付き例を正確に1つ使う手法で、多くの場合、埋め込みの類似度で照合します。
  • 転移学習: 通常はラベル付きデータでファインチューニングし、新しいタスクに事前学習済みモデルを再利用します。ゼロショット学習では、追加の学習をせず、共有されたテキストと画像の空間を通じて転移します。
  • 視覚プロンプティング: 言葉ではなく、サンプル画像やボックスで対象を指定します。特定の部品やロゴなど、名前で表しにくい物体に役立ちます。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう