YOLO Vision Shenzhen
深セン
今すぐ参加
用語集

One-Shot Learning

AIにおけるワンショット学習を探ります。効率的なコンピュータビジョンのために、Ultralytics YOLO26とシャムネットワークを使用して単一の画像からobjectをclassifyする方法を学びましょう。

ワンショット学習は、単一のトレーニング例からオブジェクトカテゴリに関する情報を学習するように設計された、機械学習 (ML)における特殊な分類技術です。効果的に汎化するために何千ものアノテーションされた画像を含む大規模なデータセットを必要とする従来のディープラーニング (DL)アルゴリズムとは異なり、ワンショット学習は新しい概念を即座に把握する人間の認知能力を模倣します。例えば、人は通常、特定の珍しい鳥を一度見ただけで認識できますが、この手法は人工知能 (AI)システムにおいてその効率性を再現しようとします。これは、データラベリングが高価である場合、データが不足している場合、またはモデル全体を再トレーニングすることなく新しいカテゴリを動的に追加する必要があるシナリオで特に価値があります。

コンセプトの背景にあるメカニズム

ワンショット学習の核となる原則は、目標を標準的な分類から類似性評価へとシフトさせることを含みます。ニューラルネットワーク (NN)を特定のクラスラベル(例:「犬」や「猫」)を出力するように学習させる代わりに、モデルは距離関数を学習します。これに用いられる一般的なアーキテクチャは、同じモデル重みを共有する2つの同一のサブネットワークで構成されるシャムニューラルネットワークです。

動作中、ネットワークは入力画像を埋め込みとして知られるコンパクトな数値ベクトルに変換するために特徴抽出を実行します。その後、システムは新しいクエリ画像の埋め込みを単一の参照「ショット」の埋め込みと比較します。数学的距離(多くの場合、ユークリッド距離またはコサイン類似度を使用して計算されます)が特定のしきい値を下回る場合、画像は同じクラスに属すると判断されます。これにより、モデルは学習された特徴空間における近接性に基づいて、IDを検証したり、オブジェクトをclassifyしたりすることができます。

以下のpythonコードは、埋め込みを抽出し、類似度を計算する方法を示しています。 YOLO26 の分類モデルである。 ultralytics パッケージで提供される。

import numpy as np
from ultralytics import YOLO

# Load a pre-trained YOLO26 classification model for feature extraction
model = YOLO("yolo26n-cls.pt")

# Extract embeddings for a reference 'shot' and a query image
# The embed() method returns the feature vector directly
shot_vec = model.embed("reference_img.jpg")[0]
query_vec = model.embed("query_img.jpg")[0]

# Calculate similarity (higher dot product implies greater similarity)
similarity = np.dot(shot_vec, query_vec) / (np.linalg.norm(shot_vec) * np.linalg.norm(query_vec))

print(f"Similarity Score: {similarity:.4f}")

関連パラダイムの区別

ワンショット学習は、他のデータ効率の良い学習手法と異なる制約を通じて類似の問題を解決するため、これらを区別することが重要です。

  • Few-Shot Learning (FSL): これはOne-Shot Learningを包含するより広範なカテゴリです。FSLでは、モデルには少数の「サポートセット」の例が提供され、通常はクラスあたり2〜5枚の画像です。One-Shot Learningは、サポートセットのサイズがちょうど1である極端なケースに過ぎません。
  • ゼロショット学習 (ZSL): ZSLは、モデルが視覚的に一度も見たことのないカテゴリを認識することに対応します。ZSLは参照画像の代わりに、自然言語処理 (NLP)を介して、意味属性やテキスト記述(例:「縞模様の馬」というテキスト記述と視覚的特徴を関連付けて「シマウマ」を識別する)に依存します。
  • 転移学習: これは、ImageNetのような大規模データベースで事前学習されたモデルを、新しいタスクでファインチューニングする手法です。転移学習はワンショット学習で使用される特徴抽出器を強化しますが、標準的な転移学習では、過学習なしに重みを効果的に更新するために、通常1つ以上の例が必要です。

実際のアプリケーション

ワンショット学習は、膨大な量の学習データを収集することが現実的でない分野において、新たな可能性を切り開いた。

顔認識とセキュリティ

ワンショット学習の最も遍在するアプリケーションは、生体認証セキュリティです。スマートフォンでFace IDを設定したり、従業員アクセスシステムに登録したりする際、デバイスはユーザーの顔の単一の数学的表現をキャプチャします。日常使用では、顔認識システムは、この保存された「ワンショット」とライブカメラフィードを比較して身元を確認します。これは、照明や角度の変化が類似性の一致を損なわないように、基礎的なFaceNet研究で議論されているような堅牢な埋め込み技術に依存しています。

工業品質管理

製造業におけるAIでは、欠陥が稀で一貫性がないため、「欠陥のある」部品のバランスの取れたデータセットを作成することは困難です。ワンショット学習により、コンピュータービジョン(CV)システムは、単一の「完璧な」参照部品の表現を学習できます。組み立てライン上の、この参照から著しく離れた埋め込みを生成する品目は、異常検知のためにフラグ付けされます。これにより、何千もの破損部品の画像を必要とせずに即座の品質保証が可能になり、これはUltralytics Platformを介して管理およびデプロイできます。

課題と今後の展望

ワンショット学習は強力ですが、ノイズの影響を受けやすいです。単一の参照画像がぼやけていたり、遮られていたり、代表的でなかったりすると、モデルがそのクラスを認識する能力は著しく低下します。研究者は、モデルの安定性と汎化性能を向上させるために、しばしば「学習の学習」であるメタ学習を採用します。アーキテクチャが進化するにつれて、YOLO26のような新しいモデルは、ワンショット推論をより高速かつ正確にする堅牢な特徴抽出器を組み込み、より適応的でインテリジェントなエッジAIデバイスへの道を開いています。

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

未来の機械学習で、新たな一歩を踏み出しましょう。