Zero-Shot Learning
学習データなしで物体を検出・分類するゼロショット学習(ZSL)を探求します。Ultralytics YOLO-Worldがどのようにリアルタイムのオープンボキャブラリー検出を実現するかを学びましょう。
ゼロショット学習(ZSL)は、トレーニングフェーズで一度も遭遇したことのないオブジェクトを認識、分類、または検出できるようにAIモデルを可能にする機械学習のパラダイムです。従来の教師あり学習では、モデルが識別すべき各特定のカテゴリに対して何千ものラベル付きサンプルが必要でした。ZSLは、通常テキスト記述、意味属性、または埋め込みといった補助的な情報を活用して、既知のクラスと未知のクラスの間のギャップを埋めることで、この厳しい依存関係を解消します。この能力により、人工知能(AI)システムはより柔軟でスケーラブルになり、考えられるすべてのオブジェクトに対して網羅的なデータを収集することが非現実的な動的な環境にも対応できるようになります。
Link to this sectionゼロショット学習の仕組み#
ZSLの中核となるメカニズムは、共有された意味空間を使用して、馴染みのある概念から馴染みのない概念へと知識を転送することです。モデルは、白黒の縞模様のピクセルパターンを記憶するだけで「シマウマ」を認識することを学ぶのではなく、自然言語処理(NLP)から得られた視覚的特徴と意味属性(例:「馬のような形状」、「縞模様」、「4本の足」)との間の関係を学習します。
このプロセスは、画像とテキストの表現を整列させるマルチモーダルモデルに依存することがよくあります。OpenAIのCLIPのような基礎研究は、モデルが自然言語による教師信号からいかにして視覚的概念を学習できるかを示しています。ZSLモデルは未知のオブジェクトに遭遇すると、視覚的特徴を抽出し、それらを意味ベクトルの辞書と比較します。視覚的特徴が新しいクラスの意味記述と一致すれば、モデルはそれを正しく分類し、事実上の「ゼロショット」予測を実行できます。このアプローチは、広範なタスクにわたって一般化する現代の基盤モデルの基本となります。
Link to this section実社会での応用#
ゼロショット学習は、システムが初期トレーニングデータを超えて一般化できるようにすることで、さまざまな業界でイノベーションを推進しています。
-
Open-Vocabulary Object Detection: Modern architectures like YOLO-World utilize ZSL to detect objects based on user-defined text prompts. This allows for object detection in scenarios where defining a fixed list of classes beforehand is impossible, such as searching for specific items in vast video archives. Researchers at Google Research continue to push the boundaries of these open-vocabulary capabilities.
-
医療診断: ヘルスケアにおけるAIにおいて、希少疾患のラベル付きデータを取得することは困難で費用がかかる場合がよくあります。ZSLモデルは、一般的な疾患や、PubMedのようなデータベースにある医学文献からの希少な症状の記述に基づいてトレーニングでき、膨大な陽性症例のデータセットを必要とせずに、医用画像内の潜在的な希少異常をシステムがフラグ立てできるようになります。
-
野生生物の保護: 農業におけるAIや生態学において、ほとんど撮影されることのない絶滅危惧種を特定することは極めて重要です。ZSLを使用することで、保護活動家はEncyclopedia of Lifeのような生物学的データベースで定義された属性ベースの記述を使用して、これらの動物を検出できます。
Link to this sectionUltralyticsによるゼロショット検出#
Ultralytics YOLO-Worldモデルは、ゼロショット学習の実践例です。これにより、ユーザーはモデルを再トレーニングすることなく、実行時にカスタムクラスを動的に定義できます。これは、堅牢な検出バックボーンと、自然言語を理解するテキストエンコーダーを接続することで実現されています。
以下のPython例では、ultralyticsパッケージを使用して、標準的なトレーニングセットの一部ではなかったオブジェクトをYOLO-Worldで検出する方法を説明します。
from ultralytics import YOLOWorld
# Load a pre-trained YOLO-World model capable of Zero-Shot Learning
model = YOLOWorld("yolov8s-world.pt")
# Define custom classes via text prompts (e.g., specific accessories)
# The model adjusts to detect these new classes without retraining
model.set_classes(["blue backpack", "red apple", "sunglasses"])
# Run inference on an image to detect the new zero-shot classes
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()Link to this section関連概念との区別#
ZSLを完全に理解するためには、コンピュータビジョン(CV)で使用される類似の学習戦略と区別することが役立ちます。
- フューショット学習(FSL): ZSLはターゲットクラスの例を一切必要としませんが、FSLは適応のために非常に小さなサポートセット(通常1〜5例)をモデルに提供します。ZSLは、視覚的な例ではなく完全に意味的な推論に依存するため、一般的に難易度が高いと考えられています。
- ワンショット学習: モデルが正確に1つのラベル付きサンプルから学習するFSLのサブセットです。ZSLは、新しいカテゴリの画像が1枚もない状態でも動作するため、根本的に異なります。
- 転移学習: この広範な用語は、あるタスクから別のタスクへ知識を転送することを指します。ZSLは転移学習の一種であり、意味属性を使用して、新しいデータに対する従来のファインチューニングを必要とせずに、未知のクラスへ知識を転送します。
Link to this section課題と将来の展望#
ZSLは大きな可能性を秘めていますが、トレーニング中に学習した意味属性が未知のクラスの視覚的外観と完全には一致しない「ドメインシフト問題」などの課題に直面しています。さらに、ZSLモデルは、未知のクラスと比較して既知のクラスの予測精度が著しく高くなるというバイアスに悩まされる可能性があります。
スタンフォード大学AIラボやIEEE Computer Societyなどの組織による研究は、こうした制限に対処し続けています。コンピュータビジョンツールがより堅牢になるにつれて、ZSLは標準的な機能となり、膨大なデータラベリング作業への依存を減らすことが期待されています。高度なモデルをデプロイする前にデータセットを効率的に管理しようとしているチーム向けに、Ultralytics Platformはアノテーションとデータセット管理のための包括的なツールを提供しています。






