結論
Zero-shotは、解きたいタスクの例を1つも与えず、指示やクラス名などの説明だけを手がかりに推論させる方式です。Few-shotは少数の例を与えてから推論させる方式で、大規模言語モデルのプロンプトで使う場合は、Zero-shotと同じくモデルの重みを更新しません。
比較表
| 観点 | Zero-shot | Few-shot |
|---|---|---|
| 与える例の数 | 0(指示やクラス名などの説明だけ) | 少数。GPT-3の論文の評価では、多くの場合10〜100個 |
| 大規模言語モデルでの使い方 | 「次の文を英語に訳してください」のように指示だけを書く | 入力と答えの組を数個並べ、最後に本番の入力を置く |
| 画像認識での例 | CLIPで、クラス名を「〇〇の写真」という文にし、画像と最も近い文のクラスを選ぶ | クラスごとに数枚の画像だけを与え、新しいクラスを見分ける(N-way K-shotの課題) |
| 重みの更新 | しない | プロンプトで例を与える使い方ではしない。メタ学習などで数回だけ更新する方法もある |
| 強み | 例を集めて用意する手間がかからない | 出力の形式や判断の基準を、例で具体的に伝えられる |
| 弱み | 形式があいまいなタスクでは、説明だけでは意図が伝わりにくい | 例の選び方や並べ方で結果が変わることがある。例が増えるほどプロンプトが長くなる |
| 例が1つの場合 | 例を1つでも与えればZero-shotではない(One-shotと呼ぶ) | One-shotとして別に扱う。シラバスもFew-shotとOne-shotを別のキーワードに挙げている |
| シラバス項目 | 技術分野 項目32 マルチモーダル | 技術分野 項目31 転移学習・ファインチューニング |
| G検定での問われ方 | 例を1つも与えない点でのOne-shot・Few-shotとの区別、CLIPがラベル付きデータなしで分類する仕組み | 与える例の数による区別、重みを更新しない点でのファインチューニングとの違い |
それぞれの説明
Zero-shotとFew-shotは、新しいタスクに対して例をいくつ与えるかで区別する言葉です。「ショット」は与える例の数を表し、例が0ならZero-shot、1つならOne-shot、少数ならFew-shotです。どちらも、事前学習で幅広い知識を身につけたモデルを使うことが前提になります。
Zero-shot
Zero-shotでは、解きたいタスクの例を1つも与えません。代わりに、指示やクラス名などの説明を与えます。大規模言語モデルなら、「次の文を英語に訳してください」と書くだけです。
画像ではCLIPが代表例です。クラス名を「〇〇の写真」という文にし、画像と最も近い文を選んで分類します。CLIPの論文は、ImageNetの学習用画像約128万枚を1枚も使わずに、それらで学習した元のResNet-50と同等の精度を示しました。例を集める手間はかかりませんが、出力の形式などが説明だけでは伝わりにくいことがあります。
Few-shot
Few-shotでは、少数の例を与えます。大規模言語モデルでは、入力と答えの組をいくつかプロンプトに並べ、最後に本番の入力を置きます。2020年のGPT-3の論文はこの使い方をFew-shotと呼び、評価では多くの場合10〜100個の例を使いました。例で形式や基準を具体的に示せるため、Zero-shotより精度が上がることが多くあります。ただし、例の選び方や並べる順番で結果が変わることも報告されています。
画像認識などでは、クラスごとに数枚の画像だけで新しいクラスを見分ける課題もFew-shotと呼びます。こちらでは、メタ学習で身につけた初期値から、少ない回数だけ重みを更新する方法も使われます。
ファインチューニングとの違い
プロンプトで例や指示を与えるZero-shotとFew-shotは、どちらもモデルの重みを更新しません。多くの場合、数千件以上のラベル付きデータで重みを更新するファインチューニングとは、この点が異なります。例の数と、重みを更新するかどうかの2点を押さえると、選択肢を見分けやすくなります。
見分けるコツ
- 「ショット」は与える例の数です。0ならZero-shot、1つならOne-shot、少数ならFew-shotと、数で見分けます。
- Zero-shotでも、指示やクラス名という説明は与えます。「何の情報も与えずに解く」という意味ではありません。
- プロンプトで例を見せても重みは変わりません。多くのラベル付きデータで重みを更新するならファインチューニングで、Few-shotとは別の方法です。
◯×チェック
-
Zero-shotとは、モデルが事前学習の段階も含めて一度もデータを見ていない状態で、推論させることを指す。
答えを見る
答え × 誤り
Zero-shotの「ゼロ」は、解きたいタスクの例の数です。モデルは事前学習で幅広い知識を得ており、その知識と指示やクラス名を手がかりに推論します。
-
大規模言語モデルにFew-shotで例を示すとき、同じ例を使っても、並べる順番を変えるだけで精度が大きく変わることがある。
答えを見る
答え ◯ 正しい
GPT-3などを使った実験で、例の選び方やプロンプトの形式に加え、例の順番によっても、精度が当て推量に近い水準から最高水準に近い水準まで変わりうると報告されています(Zhaoら、2021年)。
-
ラベル付きの例をまったく用意できない新しい分類タスクでも、Zero-shotであれば試すことができる。
答えを見る
答え ◯ 正しい
Zero-shotではクラス名や指示などの説明だけを与えるため、例を集める前でも使えます。精度が足りなければ、数個の例を用意してFew-shotを試します。
関連問題
出典と作成について
作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)
公開日: 最終更新日: 最終確認日:
対応シラバス:シラバス第1.4版 技術32・技術31
出典
- G検定 試験出題範囲(シラバス2024)第1.4版(技術分野 項目31 転移学習・ファインチューニング)2026年11月1日閲覧
- G検定 試験出題範囲(シラバス2024)第1.4版(技術分野 項目32 マルチモーダル)2026年11月1日閲覧
- Tom B. Brown et al., Language Models are Few-Shot Learners (2020)(1 Introduction、2 Approach(Fine-Tuning、Few-Shot、One-Shot、Zero-Shotの定義))2026年11月1日閲覧
- Alec Radford et al., Learning Transferable Visual Models From Natural Language Supervision (2021)2026年11月1日閲覧
- Tony Z. Zhao, Eric Wallace, Shi Feng, Dan Klein, Sameer Singh, Calibrate Before Use: Improving Few-Shot Performance of Language Models, ICML 2021(Abstract)2026年11月1日閲覧
- Chelsea Finn, Pieter Abbeel, Sergey Levine, Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks, ICML 20172026年11月1日閲覧
ほかの違い比較51件
- アジャイルとウォーターフォールの違い
- 赤池情報量規準(AIC)とベイズ情報量規準(BIC)の違い
- バギングとブースティングの違い
- バッチ正規化とレイヤー正規化の違い
- バッチ学習・ミニバッチ学習とオンライン学習の違い
- BERTとGPTの違い
- CBOWとスキップグラムの違い
- 分類問題と回帰問題の違い
- CNN・RNNとTransformerの違い
- 協調フィルタリングとコンテンツベースフィルタリングの違い
- 共分散と相関係数の違い
- データ汚染とAdversarial Attackの違い
- 決定木とランダムフォレストの違い
- 深さ優先探索と幅優先探索の違い
- 営業秘密と限定提供データの違い
- Faster R-CNNとYOLOの違い
- GANと拡散モデル(Diffusion Model)の違い
- GANとVAEの違い
- GDPRと個人情報保護法の違い
- 勾配降下法と誤差逆伝播法の違い
- グリッドサーチとランダムサーチの違い
- ホールドアウト検証と交差検証の違い
- 画像分類(物体識別)と物体検出の違い
- 委託・第三者提供と共同利用の違い
- k-means法と階層的クラスタリングの違い
- 個人情報・個人データと保有個人データの違い
- 個人情報と個人識別符号の違い
- L1正則化とL2正則化の違い
- 最小二乗法と最尤法の違い
- LIMEとSHAPの違い
- LSTMとGRUの違い
- 機械学習とディープラーニングの違い
- 平均絶対値誤差(MAE)と平均二乗誤差(MSE)の違い
- 正規化と正則化の違い
- 主成分分析(PCA)と特異値分解(SVD)の違い
- 主成分分析(PCA)とt-SNEの違い
- 適合率と再現率の違い
- プルーニング・量子化と蒸留の違い
- Q学習とSARSAの違い
- RNNとLSTMの違い
- Self-AttentionとSource-Target Attentionの違い
- セマンティック・インスタンスとパノプティックの違い
- 新規性と進歩性の違い
- シグモイド関数とソフトマックス関数の違い
- ソフトローとハードローの違い
- 強いAIと弱いAIの違い
- 教師あり学習・教師なし学習と強化学習の違い
- 特許権と著作権の違い
- 匿名加工情報と仮名加工情報の違い
- 転移学習とファインチューニングの違い
- 請負契約と準委任契約の違い