Yolo 深圳
深セン
今すぐ参加
用語集

One-Shot Learning

One-Shot Learningのパワーをご覧ください。これは、現実世界のアプリケーションのために、最小限のデータからモデルが一般化を可能にする革新的なAI技術です。

ワンショット学習(OSL)は、機械学習(ML)の洗練されたアプローチである。 機械学習(ML)の中の洗練されたアプローチである。 新しい物体を認識し、分類する。従来の 従来のディープラーニング(DL)手法では 従来のディープラーニング(DL)手法が、高い精度を達成するために膨大な学習データを必要とするのとは対照的だ。 OSLは、新しい概念を1度見ただけで瞬時に理解する人間の認知能力を模倣している。この能力は この能力は、以下のようなアプリケーションで特に重要である。 データラベリングが高価であったり、データが乏しかったり、新しいカテゴリーが動的に出現するようなアプリケーションでは、この能力は特に重要である。 ID検証や稀な異常の識別のように、データが乏しかったり、新しいカテゴリーが動的に現れたりするアプリケーションでは、この能力は特に重要である。

一発学習のメカニズム

OSLの背後にある中核的なメカニズムは、問題を分類から差の評価にシフトすることである。代わりに 特定のクラス("猫 "と "犬 "のような)を記憶するためにモデルを訓練する代わりに、システムは類似性関数を学習する。 類似性関数を学習する。これは多くの場合 シャム・ネットワークとして知られるニューラルネットワーク(NN)アーキテクチャーを用いて達成されることが多い。 シャム・ネットワーク。シャム・ネットワークは、同じモデルの重みを共有する同一のサブネットワークを利用する。 つの異なる入力画像を同時に処理するため を同時に処理する。

この過程で、ネットワークは(画像のような)高次元の入力を、埋め込みとして知られるコンパクトな低次元のベクトル に変換する。もし2つの画像が 2つの画像が同じクラスに属する場合、ネットワークはベクトル空間内で埋め込みを近づけるように学習する。逆に 異なる場合、埋め込みは離される。このプロセスは 特徴抽出に大きく依存している。 に大きく依存している。推論時に、新しい画像は、その埋め込みを、保存されている各クラスの単一の「ショット」と比較することによって分類されます。 「ショット "と比較することで分類されます。 ユークリッド距離や余弦類似度などである。

次のPython スニペットは、埋め込みを抽出する方法を示しています。 YOLO11を使って埋め込みを抽出し、既知の 「ショット "と新しいクエリ画像の類似度を計算する方法を示します。

import numpy as np
from ultralytics import YOLO

# Load a pre-trained YOLO11 classification model
model = YOLO("yolo11n-cls.pt")

# Extract embeddings for a 'shot' (reference) and a 'query' image
# The model returns a list of results; we access the first item
shot_result = model.embed("reference_image.jpg")[0]
query_result = model.embed("test_image.jpg")[0]

# Calculate Cosine Similarity (1.0 = identical, -1.0 = opposite)
# High similarity suggests the images belong to the same class
similarity = np.dot(shot_result, query_result) / (np.linalg.norm(shot_result) * np.linalg.norm(query_result))

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

関連する学習パラダイムの区別

OSLを理解するには、他の低データ学習技術と区別する必要がある。これらは効率性という目標を共有しているが その制約は大きく異なる:

  • フューショット・ラーニング(FSL)これは OSLを包含する、より広いカテゴリーである。FSLでは、モデルは少量の例題を与えられる。 を提供される。OSLはFSLの最も極端なケースであり、例数($k$)は1である。 になります。
  • ゼロショット・ラーニング(ZSL):ZSL は、視覚的に見たことのないクラスを識別することをモデルに要求することで、データ不足をさらに一歩進めます。これは セマンティック検索とメタデータに依存し、視覚的特徴をテキスト記述に関連付ける。 例えば、「シマウマ」が「縞模様の馬」に似ていることを知ることで「シマウマ」を識別する。 縞模様の馬 "のように見えることを知ることで "シマウマ "を識別するなど)。
  • 転移学習これは のような膨大なデータセットで訓練されたモデルを使う ImageNetのような巨大なデータセットで事前に訓練されたモデルを タスクに特化した小さなデータセットで微調整を行う。 転移学習は必要なデータを減らすことができるが、オーバーフィッティングを防ぐために、一般的にはまだ1つ以上の例を必要とする。 を必要とする。

実際のアプリケーション

一発学習が可能にしたもの 人工知能 を機能させることができるようになった。

  1. 顔認識最も一般的な使用例は 最も一般的な使用例は、生体認証セキュリティである。ユーザーがスマートフォンに顔を登録すると、デバイスは1つの参照表現(「ワンショット」)をキャプチャする。 ワンショット)。その後、システムはOSLの原理を使用して、ライブの顔認識画像と比較することで、ユーザーの身元を確認する。 この後、システムはOSLの原理を使用して、ライブ・フィードを保存された参照と比較することでユーザーの身元を確認し、データ・セキュリティを大幅に強化する。 データ・セキュリティが大幅に強化される。この方法は この方法は、 GoogleFaceNet論文のような研究によって普及した。 ロスを利用した埋め込み学習である。
  2. 工業品質管理:製造業では、不具合は非常にまれで、さまざまな場合があります。そのため 従来のトレーニングでは、壊れた部品の大規模なデータセットを収集することは困難でした。 を収集することは困難です。OSLは コンピュータビジョンシステムは を学習することができます。埋め込み空間において大きく外れた部品はすべて 異常検出イベントとしてフラグが立てられます、 新しい生産ラインの品質保証を即座に行うことができます。

課題と今後の展望

その有用性にもかかわらず、ワンショット学習は汎化に関する課題に直面している。このモデルは単一のインスタンスからクラス モデルは1つのインスタンスからクラスを推定するため、その参照画像のノイズや異常値の影響を受けやすい。研究者はしばしば メタ学習、つまり「学習するための学習」を採用することが多い。 を採用することが多い。以下のようなフレームワークがある。 PyTorchTensorFlowのようなフレームワークは、これらの高度な 進化し続けている。さらに 合成データを組み込むことで、シングルショットを補強することができる、 モデルが学習するためのよりロバストな表現を提供する。

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加