ワンショット学習とは、ごく少数の例、理想的にはカテゴリーやクラスごとにたった1つの例からモデルを認識し、汎化するように訓練する機械学習アプローチである。これは、効果的に学習するために通常数百から数千の例を必要とする従来の機械学習手法とは対照的である。ワンショット学習は、大規模なデータセットの取得が困難、高価、あるいは単に実行不可能なシナリオにおいて、特に価値がある。ワンショット学習は、人間の学習を模倣することを目的としており、新しい物体や概念を一度や数度見ただけで認識できることがよくある。
ワンショット学習の核となる考え方は、オブジェクトの分類を直接学習するのではなく、類似性や距離のメトリクスを学習することである。ワンショット学習は、特定のカテゴリーを認識するためにモデルを学習するのではなく、2つの入力がどの程度似ているか、あるいは異なっているかを理解するためにモデルを学習する。一般的な手法としては、シャム・ネットワークやトリプレット損失関数があり、埋め込み空間において類似の入力は近くにあり、非類似の入力は遠くにあるような埋め込みを学習する。
学習段階では、モデルは対または3つ組の事例を提示され、それらを区別することを学習する。新しいインスタンスに直面し、そのインスタンスをいくつかの未知のカテゴリの中で分類するよう求められると(1つのカテゴリにつき1つの例のみが与えられる)、モデルは新しいインスタンスを、与えられた例のそれぞれと比較する。そして、学習された埋め込み空間において、典型的には最近傍アプローチを用いて、これらの例との類似性に基づいて新しいインスタンスを分類する。このアプローチは、モデルが特定の例を記憶するのではなく、類似性を示す特徴を識別することを学習するため、限られたデータでも効果的な汎化を可能にする。
ワンショット学習は、データ不足が課題となる様々な分野で応用されている:
密接に関連しているが、ワンショット学習はフューショット学習のサブセットである。ワンショット学習は、特にクラスごとに1つの例から学習することを指す。一方、Few-Shot Learningは、モデルが少数の例から学習するシナリオを包含する。どちらのアプローチも、限られたデータという課題に対処することを目的としているが、Few-Shot Learningは、特定のケースとしてのOne-Shot Learningを含む、より広い用語である。どちらも、効果的なモデル学習のために大規模なデータセットに依存することが多い従来の機械学習とは対照的である。
要約すると、ワンショット学習は機械学習における強力なパラダイムシフトを提供し、最小限のデータから効果的にモデルを学習することを可能にする。乏しい例から汎化するその能力は、特にデータ取得に制約のあるコンピューター・ビジョンやその他の領域において、様々な実世界アプリケーションに不可欠である。AIが進化し続ける中、ワンショット学習とその関連技術は、データの制約に対処し、機械学習アプリケーションの範囲を拡大する上で、ますます重要な役割を果たすようになっている。