1行定義
Few-shot学習とは、新しいクラスやタスクについて、数個程度の少ない例だけを手がかりに、識別や推論ができるようにする方式のことです。
くわしく
Few-shot学習は、新しいクラスやタスクを、数個程度の例だけから扱えるようにする考え方です。「ショット」は与える例の数を表します。例を1つも与えないのがZero-shot、1つだけ与えるのがOne-shotで、Few-shotは少数の例を与える場合です。
人は、初めて見る鳥でも、図鑑の写真を数枚見れば見分けられるようになります。一方、通常の教師あり学習では、クラスごとに大量のラベル付きデータが必要です。不良品の写真が数枚しかない、新商品の写真がまだ少ない、といった場面でFew-shot学習が役立ちます。
画像認識などでのFew-shot学習
評価には、クラスの数Nと1クラスあたりの例の数Kを決めた課題を使います。これをN-way K-shotと呼びます。代表的な方法は2つあります。
- 距離を学習する方法:似たものが近くに集まるベクトルへの変換を学びます。プロトタイプネットワークは、各クラスの例のベクトルの平均をクラスの代表とし、新しい入力を最も近い代表のクラスに分類します。
- メタ学習:多数の小さな課題を解かせ、少ない例からすばやく学ぶ方法そのものを学びます。MAMLは、数回の勾配の更新で新しい課題に適応できるような重みの初期値を学習します。
大規模言語モデルでのFew-shot
GPT-3の論文は、プロンプトの中に入力と答えの例をいくつか並べ、その後に本番の入力を与える使い方をFew-shotと呼びました。このとき、モデルの重みは更新しません。プロンプトの中の例からタスクをくみ取るこの能力は、文脈内学習(In-Context Learning)とも呼ばれます。
注意点
少ない例で対応できるのは、事前学習やメタ学習で汎用的な知識を得ているからです。事前学習で得た知識が乏しい領域では、精度が出にくくなります。どの例を選ぶかで結果が変わることもあります。
覚え方
「ショットは例の数。ゼロ、ワン、フュー(少し)」と覚えます。
G検定での出題
出題のされ方
与える例の数によるZero-shot・One-shotとの区別、大規模言語モデルのプロンプトに少数の例を含める使い方、少ない例で対応できるのは事前学習で得た知識があるからだという点が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| Few-shot学習このページの用語 | 新しいクラスやタスクについて、数個程度の少ない例だけを手がかりに、識別や推論ができるようにする方式 |
| One-shot学習 | 新しいクラスやタスクについて、1つだけの例を手がかりに、識別や推論ができるようにする方式 |
| Zero-shot | 解きたいクラスやタスクの例を1つも見せずに、事前に学習した知識と、クラス名や指示などの説明だけを手がかりに推論させる方式 |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
画像認識のFew-shot学習の評価で使われる「5-way 5-shot」という課題では、5つのクラスについて、クラスごとに5個の例を与える。
答えを見る
答え ◯ 正しい
N-way K-shotのNはクラスの数、Kは1クラスあたりの例の数です。「5-way 1-shot」なら、5クラスについて各1個の例だけを与えます。
-
Few-shot学習では、事前学習などで得た知識を使わず、与えられた数個の例だけでモデルをゼロから学習する。
答えを見る
答え × 誤り
数個の例だけでゼロから学習しても、過学習してうまく汎化しません。事前学習やメタ学習で得た汎用的な知識があるからこそ、少ない例で対応できます。
-
メタ学習の手法であるMAMLは、新しいタスクの少数の例で数回だけ勾配を更新すれば適応できるような、重みの初期値を学習する。
答えを見る
答え ◯ 正しい
多数の小さなタスクで学習を繰り返し、どのタスクにもすばやく合わせられる出発点を探します。学び方そのものを学ぶメタ学習の代表例です。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目31 転移学習・ファインチューニング)
- Tom B. Brown et al., Language Models are Few-Shot Learners (2020) (2 Approach(Few-Shot、One-Shot、Zero-Shotの定義))
- Jake Snell, Kevin Swersky, Richard S. Zemel, Prototypical Networks for Few-shot Learning, NeurIPS 2017
- Chelsea Finn, Pieter Abbeel, Sergey Levine, Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks, ICML 2017