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

Few-Shot Learning

少数ショット学習(FSL)は、メトリック学習、メタ学習、ファインチューニング、またはプロンプトを用いて、少数のラベル付きサンプルから新しいクラスを認識します。

Few-shot learning (FSL)は、新しいタスク、特に新しいクラスの認識を、各クラスあたりごく少数(通常1~10個)のラベル付きサンプルから学習する課題です。標準的な教師あり学習では、クラスごとに数百から数千枚のラベル付き画像が必要ですが、希少な欠陥や希少疾患、発売されたばかりの製品では、画像の収集に多大な費用がかかるか、収集自体が不可能です。Few-shot手法は、事前知識を活用してこの差を埋めます。関連性の高い大規模データで事前学習したモデルは、新しいクラスをうまく分離する特徴をすでに生成できるため、わずかなサンプルでクラスを定義できます。同じ考え方は言語モデルにも見られ、プロンプト内の少数の例によって、学習を行わずにモデルを新しいタスクへ導きます。

N-way K-shotタスク#

Few-shotの課題は、N-way K-shotとして表されます。これは、新しいNクラスそれぞれにK個のラベル付きサンプルがある設定です。これらのサンプルはサポートセットを構成し、モデルは同じNクラスからなる別のクエリセットのラベル付け性能で評価されます。したがって、5-way 1-shotタスクでは、モデルが未学習の5クラスについて各1つずつ例を与え、新しい画像をそのいずれかに分類させます。One-shot learningはK = 1の場合であり、zero-shot learningはK = 0の場合です。後者では、例の代わりにテキストや属性でクラスを説明します。研究ベンチマークでは、Omniglot(50種類のアルファベットからなる1,623個の手書き文字)や、ImageNetの100クラスを各600枚の画像で構成したminiImageNetなど、学習時に除外されたクラスで評価します。

Few-shot learningのアプローチ#

メトリック学習では、同じクラスのサンプルが互いに近くなるよう、画像を埋め込み空間に写像するネットワークを学習します。そのため、クエリには最も類似するサポートサンプルのラベルが割り当てられます。Prototypical networksは、各クラスのサポート埋め込みを平均してプロトタイプを作り、クエリを最も近いプロトタイプに割り当てます。新しいクラスが追加されても再学習は不要です。

その他のアプローチでは、モデルの重みや入力を適応させます。

  • メタ学習: ベースクラスから作成した数千の小規模な模擬タスクで学習し、モデルに適応方法を習得させます。モデル非依存メタ学習 (MAML)は、新しいタスクのサポートセットで数回勾配を更新すると良好な重みが得られるような初期値を学習します。
  • 転移とファインチューニング: 大規模データセットでバックボーンを事前学習し、その後、サポートセットを使って新しい分類ヘッドだけを学習するか、ネットワーク全体を低い学習率で学習します。このシンプルなベースラインは、標準的な少数ショットベンチマークで専用のメタ学習手法に匹敵します。また、大規模な事前学習済みモデルの線形プロービングも、強力な少数ショットのベースラインです。
  • 基盤モデルへのプロンプト入力: 大規模言語モデルは、重みを更新せずに、プロンプトに含めた少数の例から新しいタスクを実行します。GPT-3は、20以上の言語ベンチマークでこの能力を示しました。ビジョンモデルも同様に、例示用のボックスなどのビジュアルプロンプトを利用します。

ビジュアルプロンプトによるFew-shot物体検出#

検出では、few-shotの課題に位置特定が加わります。モデルは、学習時に与えられていないクラスのすべてのインスタンスを見つける必要があります。YOLO26はYOLOE-26も支えています。これはオープンボキャブラリー版で、ビジュアルプロンプトエンコーダーが例示ボックスをクラス埋め込みに変換し、学習なしで新しい画像内の一致する物体を検出・セグメント化します。同じクラスIDを持つボックスは1つのプロンプトに統合されるため、あるクラスの例が2つあれば2-shotのサポートセットとして機能します。この例では、1枚の画像に写った2人をサポートセットとし、別の画像から該当する人物を探します。

import numpy as np
from ultralytics import YOLOE
from ultralytics.models.yolo.yoloe import YOLOEVPSegPredictor

# ビジュアルプロンプトに対応するYOLOE-26チェックポイント
model = YOLOE("yoloe-26s-seg.pt")

# サポートセット: 参照画像内の1クラス (人物) の例示ボックス2つ
boxes = np.array([[221.52, 405.8, 344.98, 857.54], [669.47, 392.19, 809.72, 877.04]])
support = {"bboxes": boxes, "cls": np.array([0, 0])}

# クエリ: 学習なしで、別の画像から例に似た物体を見つける
results = model.predict(
    "https://ultralytics.com/images/zidane.jpg",
    refer_image="https://ultralytics.com/images/bus.jpg",
    visual_prompts=support,
    predictor=YOLOEVPSegPredictor,
)
result = results[0]
result.save(filename="few_shot_result.jpg")

ビジュアルプロンプトは名前を付けずに例をまとめるため、結果の一致箇所には、クラスIDごとに1つの名前としてobject0、object1などのラベルが付きます。

実際のアプリケーション#

  • 製造検査: 新しく導入された部品の亀裂など、新しい欠陥の種類は、検査担当者が検出対象にしようとするまで数回しか現れないことがあります。few-shot検出や異常検知を使えば、大規模な新規データセットなしで検出対象に追加できます。
  • 医用画像: 希少疾患では注釈付きスキャンが少ないため、医用画像解析モデルは、専門家がラベル付けした少数の症例から得た新しい所見に、事前学習済みの特徴を適応させます。
  • 小売とロボティクス: 店舗では新商品が追加され、ロボットは常に新しい物体に遭遇します。少数の参照写真があれば、システムは棚やグリッパー内の物体を認識できます。
  • 転移学習: あるタスクの知識を別のタスクに再利用する、より広範な手法です。few-shot learningはデータが極端に少ない場合であり、転移学習はその最も一般的な手段です。
  • メタ学習: 学び方を学習するトレーニング戦略であり、few-shotの課題を解決する複数の方法の1つです。few-shot learningは課題そのものの設定を指します。
  • Few-shotプロンプティング: 推論時に入力へ例を含めることで、凍結されたモデルを適応させます。一方、few-shotファインチューニングは、同じ少数の例を使ってモデルの重みを変更します。

ソリューションを見る

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

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

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の未来を一緒に築きましょう!

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