AIにおけるFew-Shot Learningとは? 迅速な適応のための最小限の例
- Olivia Johnson

- 6月7日
- 読了時間: 6分
Few-shot learningは、少数のラベル付き例のみから新しいタスクを実行するようにAIモデルを訓練する機械学習アプローチです。この手法により、ほとんどの教師ありモデルが要求する数千または数百万の訓練サンプルが不要になります。データが不足している場合、収集にコストがかかる場合、または急速に変化する場合に役立ちます。
Few-shot learningを使用するモデルは、画像分類、テキスト分類、レコメンデーションシステムにすでに登場しています。この手法により、チームはアイデアをより迅速にテストでき、専門分野にモデルを適応させるコストを削減できます。
Key Takeaways
Few-shot learningにより、モデルは大規模なデータセットに頼るのではなく、少数の例から汎化できます。
このアプローチは、サポートセット、クエリ例、および学習された類似度メトリクスを組み合わせて予測を行います。
例を使用しないzero-shot learningや、大規模なラベル付きコレクションを必要とする完全な教師あり学習とは異なります。
実際の展開では、医療画像処理、カスタマーサポートのルーティング、迅速な製品分類で価値を示しています。
コンテキスト対応エージェントは、ゼロから再訓練せずに個人用ナレッジベースから関連する過去の例を取得することで、同じ原則を借りることができます。
Few-Shot Learning Definition
Few-shot learningとは、モデルが新しいクラスごとに1〜20程度のラベル付き例を受け取る訓練レジームを指します。目標は、これらの例を未見のクエリ項目の正しいラベルにマッピングする関数を学習することです。
この設定を定義する3つの主要な属性があります。第一に、サポートセットには限られたラベル付き例が含まれます。第二に、クエリセットには、モデルがさらに訓練することなく分類しなければならない項目が含まれます。第三に、モデルは類似度またはメタ学習メカニズムを通じて、事前の訓練から現在のタスクに知識を転移しなければなりません。
このアプローチは、訓練分布とテスト分布に異なるクラスが含まれるため、標準的な教師あり学習とは異なります。したがって、成功は固定されたクラス表現を記憶するのではなく、一般化可能な比較戦略を学習することに依存します。
How Few-Shot Learning Works
プロセスは、各入力を共有ベクトル空間にマッピングする埋め込みステップから始まります。2番目のステップでは、各クエリベクトルをサポートベクトルと比較して最も近い一致を特定します。
Episode construction
訓練は短いエピソードで行われます。各エピソードでは、モデルがこれまでに見たことのないクラスから小さなサポートセットとクエリセットをサンプリングします。モデルはサポートセットでパラメータを更新し、クエリセットで即座に評価されます。
Metric learning
多くの実装では、クラス境界ではなく距離関数を学習します。Prototypical networksは各クラスのサポート例の平均埋め込みを計算し、クエリを最も近いプロトタイプに割り当てます。Relation networksは、例のペアをスコアリングする明示的な比較モジュールを学習します。
Meta-optimization
別の手法ファミリーは、新しいタスクに迅速に適応する初期化を最適化します。Model-agnostic meta-learningはサポートセットで数回の勾配ステップを実行し、クエリセットでのパフォーマンスを測定した後、初期パラメータを accordingly 調整します。
この手法には依然として限界があります。サポート例にノイズが含まれている場合や、クラスが微妙な違いを共有している場合、精度は急激に低下します。現在の研究は、より良い正則化と、few-shotモジュールをより大きな事前訓練済みバックボーンと組み合わせたハイブリッドアプローチに焦点を当てています。
Few-Shot Learning vs Zero-Shot Learning
[Number of examples]
Few-shot learning: クラスごとに1〜20のラベル付き例に依存します。
Zero-shot learning: 例を一切使用せず、テキスト記述などの補助情報に完全に依存します。
[Knowledge transfer]
Few-shot learning: 実際のインスタンスの明示的な比較を通じて知識を転移します。
Zero-shot learning: 意味的埋め込みまたは属性ベクトルを通じて知識を転移します。
[Typical accuracy]
Few-shot learning: 少数のクリーンな例が利用可能な場合、通常はzero-shotのパフォーマンスを上回ります。
Zero-shot learning: ラベル付きデータを一切収集できない場合に役立ちます。
数例を迅速に入手できる場合はfew-shot learningを選択します。ラベル付けが不可能な場合や、新しいクラスが注釈プロセスに追いつけない速度で出現する場合はzero-shot learningを選択します。
Real-World Applications
医療画像チームは、わずか数十枚のスキャンから稀な疾患を特定するためにfew-shot learningを適用しています。モデルは事前訓練中に豊富な一般的な症例から学習し、稀な疾患に数千の新しい画像を収集せずに適応します。
Eコマースプラットフォームは、カテゴリごとの過去のチケットをわずか数件見るだけで、顧客メッセージを正しい部門にルーティングします。サポートチームはシステム全体を再訓練せずに新しい問題タイプを追加できます。
コンテンツモデレーションシステムは、確認済みの少数の例を使用してソーシャルメディア投稿の新興トピックを分類します。この迅速な適応により、新しいトレンドが一夜にして現れた場合の対応遅延を低減します。
Few-Shot Learning in Practice
Few-shot技術は今日のほとんどの個人用AIエージェントでは周辺的な役割に留まっています。代わりにremioは、会議、ドキュメント、決定を長期にわたって保存する5段階のメモリシステムを維持しています。ユーザーが新しい質問をした場合、エージェントは関連する過去の項目を取得し、明示的な再訓練なしに回答を合成します。
この検索ベースのアプローチは、ユーザーの自身の履歴から具体的な例を提供することで、few-shot learningと同様の結果を実現します。例はプライベートに保たれ、新たなデータが到着するたびに自動的に更新されます。
Common Questions About few-shot learning
Q: few-shot learningには特別なハードウェアが必要ですか?
A: 現在のほとんどの実装は、標準的な訓練に使用されるものと同じGPU上で動作します。サポートセットが小さいため、適応中のメモリ使用量が削減されます。
Q: few-shot learningはtransfer learningとどのように異なりますか?
A: Transfer learningは大規模なソースタスクから重みを再利用します。Few-shot learningは、ベースモデルの重みを変更せずに小さなサポートセットを比較する方法を学習する明示的なステージを追加します。
Q: few-shot learningはテキストデータで機能しますか?
A: はい。文を埋め込み、少数のラベル付き例と比較するモデルは、インテント検出やエンティティ抽出などのタスクをすでにサポートしています。
Q: サポート例にノイズが含まれている場合はどうなりますか?
A: 精度は急速に低下します。そのため、研究では比較前に低品質のサポート項目を除去するフィルタリングステップとfew-shotモジュールを組み合わせています。
Q: few-shot learningは今日のプロダクション利用に準備ができていますか?
A: いくつかのプロダクションシステムはすでに分類と検索のためにfew-shotコンポーネントを搭載しています。パフォーマンスはドメインによって異なり、各新しいタスクで慎重な評価が必要です。


