FSL(Few-Shot Learning)とは、機械学習(Machine Learning:ML)の一分野であり、クラスごとに非常に少数の訓練例(多くの場合、ほんの一握り)から汎化できるモデルを設計することに焦点を当てている。これは、一般的に膨大な量のラベル付き学習データを必要とする従来のディープラーニング(DL)アプローチとは対照的である。核となる考え方は、人間の学習から着想を得たもので、私たちは1つか2つの事例を見ただけで、新しい概念を認識できることがよくある。FSLは、データ収集が高価で、時間がかかり、あるいは本質的に制限されている領域で特に重要であり、人工知能(AI)をより適応的かつデータ効率的にする。
数発学習の仕組み
Few-Shot学習技術は、限られたデータから新しい概念を素早く学習するために、事前知識を活用することを目的としている。一般的な戦略には以下が含まれる:
- メタ学習:しばしば「学習するための学習」と表現されるメタ学習では、メタ学習フェーズにおいて、様々な学習タスクに対してモデルを学習させる。これによりモデルは、少ない例で新しいタスクに素早く適応できる効率的な学習アルゴリズムや初期パラメータを学習することができる。この目的のために、いくつかのメタ学習アルゴリズムが開発されている。
- 転移学習:FSLは、(ImageNetや COCOのような)大規模なデータセットで事前に訓練されたモデルから始めることで、転移学習を利用することが多い。この事前に訓練されたモデルは、すでに大規模なデータセットから一般的な特徴を理解しており、その後、特定のターゲットタスクのために利用可能な少数の例を使用して微調整されます。このアプローチは、モデルの重みに埋め込まれた一般的な知識を活用します。
- データ増強: データ補強のテクニックを使って、利用可能な数少ないトレーニングサンプルのバリエーションを生成することで、限られたデータセットを拡張することができる。高度な補強戦略が必要になるかもしれない。
これらの方法によって、ニューラルネットワーク(NN)は、タスク固有のデータが最小限であっても、妥当な性能を達成することができる。
数発学習と関連概念
FSLを類似の学習パラダイムと区別することは重要だ:
- ゼロショット学習(ZSL):ZSLは、学習中に一度も見たことのないクラスのインスタンスを分類することを目的とする。これは通常、見たデータと見たことのないデータのギャップを埋めるために、見たことのないクラスのテキスト記述や属性などの補助情報を使用することで達成される。これとは対照的に、FSLは新しいクラスごとに少なくとも数個のラベル付き例を必要とする。ZSL、FSL、そして転移学習の概要がさらなる文脈を提供する。
- ワンショット学習(OSL):OSLはFSLの極端な変形であり、モデルは1つのラベル付き例のみから新しいクラスを認識することを学習しなければならない。FSLと目的は同じだが、より厳しいデータ制約の下で動作する。
- 転移学習:FSLはしばしば技術として転移学習を用いるが、この用語は互換性がない。転移学習は、より広い概念であり、ソースタスクの知識を活用してターゲットタスクのパフォーマンスを向上させることを含む。FSLは特に、対象タスクのラベル付きデータが極めて限られている場合に効果的に学習するという課題に取り組んでいる。
数ショット学習の応用
FSLは、大規模なデータセットの入手が現実的でない、あるいは不可能なシナリオでのAIアプリケーションを可能にする:
課題と今後の方向性
FSLは、その有望性にもかかわらず、提供された数少ない具体例に対するモデルの感度や、それらの具体例を超えたロバストな汎化の確保などの課題に直面している。このような限られたデータでオーバーフィッティングを克服することは重要なハードルである。現在進行中の研究では、よりロバストなメタ学習アルゴリズムの開発、教師なし学習や 自己教師あり学習を事前学習にうまく活用すること、低データ領域での汎化を理解するための理論的フレームワークの構築に重点を置いている。Google AIや Meta AIのような組織は、AIシステムをより柔軟でデータ消費量の少ないものにすることを目指し、FSL技術の進歩に積極的に貢献している。