ワンショット学習(OSL)は機械学習(ML)の中でも特殊な分野であり、各クラスに対して1つの学習インスタンスのみに基づいて新しい例を分類することを目標としている。これは、高い精度を達成するためにクラスごとに何千ものラベル付き例を必要とする従来の教師あり学習手法とは対照的である。OSLは、学習データが乏しく、高価で、収集に時間がかかるようなシナリオにおいて特に重要であり、データ制限が一般的な実世界のアプリケーションにとって極めて重要な技術である。
一発学習の仕組み
OSLモデルは、多数の例から入力とクラスラベルの対応付けを直接学習する代わりに、一般的に類似性関数を学習する。核となる考え方は、新しい未見の例(クエリ)が、各クラスの1つの利用可能なラベル付き例(サポート)にどれだけ似ているかを決定することである。クエリー例が特定のクラスのサポート例と非常に類似している場合、そのクラス・ラベルが割り当てられる。これには多くの場合、シャムネットワークのような深層学習(DL)アーキテクチャが使われる。これらのネットワークは、メトリック学習のような技術によってOSLタスクに適応される前に、ロバストな特徴表現を学習するために、転移学習を使用して大規模なデータセット(ImageNetなど)で事前に訓練されることが多い。
一発学習のキーコンセプト
- サポートセット:これは、モデルが学習する必要のある、各クラスに提供された単一のラベル付き事例を含む。
- クエリー集合:これは、モデルがサポート・セットに基づいて分類する必要のある、ラベル付けされていない例を含む。
- 類似性/メトリック学習:データポイント間の類似性を測定する距離関数またはメトリックを学習するプロセスで、クエリ例とサポート例を比較するために重要である。
- エピソード学習:より大きなデータセットからサンプリングされた多数の小さなOSLタスク(エピソード)でモデルを学習し、学習中のワンショットシナリオをシミュレートする一般的な学習戦略。
一発学習 vs 関連パラダイム
OSLを理解するには、関連する概念と区別する必要がある:
- FSL(フューショット・ラーニング):OSLはFSLの極端な変形と考えられている。OSLがクラスごとに1つの例しか使わないのに対して、FSLはクラスごとに少数の例(k > 1、通常は5または10)を使う。どちらもデータ不足に対処するものですが、利用可能なサンプル数が異なります。これらのパラダイムについて詳しくは、数発学習、ゼロ発学習、転移学習を理解するブログ記事をご覧ください。
- ゼロショット学習(ZSL):ZSLは、学習中に一度も見たことのないクラスからインスタンスを分類するという、さらに難しい問題に取り組む。これは通常、意味属性やテキスト記述など、見たクラスと見たことのないクラスを結びつける補助情報を活用することで達成される。OSLは1つの例を見る必要があるが、ZSLは0例を見る必要があるが、追加の意味的コンテキストが必要である。
- 転移学習と 微調整:OSLはしばしば転移学習(大規模データセットでの事前学習)を用いるが、その目的は異なる。標準的な転移学習やファインチューニングは、通常、適応のために適切な量のターゲットデータが利用可能であることを前提としているが、OSLは特に1つのサンプル制約を扱う。 Ultralytics YOLO モデルをカスタムトレーニングするような手法では、事前にトレーニングされた重みを微調整することが多いが、通常はクラスごとに1つ以上の例を使用する。
実世界での応用
OSLは、以前はデータの制限によって妨げられていた様々なアプリケーションを可能にする:
- 顔認証:セキュリティ・システムや個人用機器は、写真1枚で登録した後、その人物を識別または確認する必要があるかもしれない。NISTは顔認識技術に関する広範な試験を行っており、その多くは同様の数ショットまたはワンショットの課題に直面しています。
- 希少物体の検出: 製造業の品質管理や野生動物の保護のような分野では、希少な欠陥や絶滅危惧種を特定することは、1つまたはごく少数の先行事例によってのみ可能かもしれません。しかし Ultralytics YOLO11のようなモデルは、十分なデータがあれば物体検出を得意としますが、OSL技術は極めて稀なクラスのためにそれらを補強することができます。
- 署名検証:ファイルに保存された1つの参照署名に基づいて、個人の署名を認証すること。多くの場合、低データ領域において、このタスクのためのディープラーニングが研究されている。
- 創薬:潜在的な新薬候補を特定したり、非常に限られた実験結果に基づいて分子の特性を予測し、研究プロセスを加速する。薬物-標的相互作用の予測におけるOSLの応用を示す研究。
課題と今後の方向性
OSLにおける主な課題は汎化である。いかにしてモデルがオーバーフィットすることなく、たった1つの例からクラスの本質を確実に学習できるか?たった一つのサポート例の選択と質が決定的に重要になる。現在進行中の研究では、OSLのパフォーマンスを向上させるために、よりロバストな特徴表現、より優れた類似性メトリクスの開発、メタ学習(「学習するための学習」)のような技術の活用に焦点を当てている。OSL機能をUltralytics HUBのような汎用ビジョンモデルやプラットフォームに統合することで、データに制約のある環境での適用範囲が大幅に広がる可能性があります。OSLモデルの評価には、このような困難な条件下での性能指標を慎重に検討する必要があります。