ChatGPTに「この文章を要約して」と指示すると、要約専用の訓練を受けていないのに適切な要約を返します。この能力を支えるのが「ゼロショット学習(Zero-Shot Learning)」です。
従来の機械学習では、タスクごとに大量の訓練データが必要でした。しかしGPT-4のような大規模言語モデル(LLM)は、一度も学習していないタスクでも、指示だけで実行できます。この革新的な能力の仕組みを、本記事で詳しく解説します。
ゼロショット学習とは何か?
ゼロショット学習は、AIが一度も学習していないタスクを、指示のみで実行する能力です。英語の「Zero-Shot」は「例示なし」を意味し、具体例を見せずに抽象的な指示だけで動作します。
従来の機械学習では、「感情分析」タスクに対して以下のような訓練データが必要でした。
「この映画は最高だった」→ ポジティブ
「期待外れで退屈」→ ネガティブ
...(数千〜数万件)
ゼロショット学習では、訓練データなしに「この文章の感情を分類してください」という指示だけで実行できます。
ゼロショット、ワンショット、フューショットの違い
LLMには、例示の数に応じて3種類の学習方法があります。
ゼロショット(Zero-Shot)
例示なしで指示のみを与えます。
プロンプト: この文章を英語に翻訳してください。「今日は良い天気です」
出力: "It's nice weather today."
ワンショット(One-Shot)
1つの例示を与えて、パターンを示します。
プロンプト:
例: 「猫」→「動物」
では、「バラ」→?
出力: 「植物」
フューショット(Few-Shot)
複数の例示(通常2〜10個)でパターンを明確にします。
プロンプト:
例1: 「嬉しい」→「ポジティブ」
例2: 「悲しい」→「ネガティブ」
例3: 「怒り」→「ネガティブ」
では、「興奮」→?
出力: 「ポジティブ」
フューショットは精度が高くなりますが、プロンプトが長くなり、コンテキストウィンドウを圧迫します。ゼロショットで十分な精度が得られる場合は、それを優先します。
なぜゼロショット学習が可能なのか?
ゼロショット学習を実現する3つの要因を解説します。
1. 大規模事前学習による知識の蓄積
GPT-4は、数兆単語のテキストで事前学習されています。この過程で、以下のような知識を獲得します。
- 言語パターン: 文法、語彙、慣用表現
- 世界知識: 歴史、科学、文化
- タスクパターン: 翻訳、要約、分類などの暗黙的な学習
膨大なテキストには、さまざまなタスクの実例が含まれており、明示的な訓練なしでタスク遂行能力を獲得します。
2. Transformerのメタ学習能力
Transformerアーキテクチャは、In-Context Learning(文脈内学習)という特性を持ちます。これは、プロンプト内の指示や例示から、その場でタスクを理解する能力です。
例えば、プロンプトに「〇〇を△△に変換してください」というパターンがあれば、Transformerは過去の学習経験から、そのパターンに従った変換を推論します。
3. Instruction Tuning(指示の微調整)
GPT-3.5以降のモデルは、「指示に従う」能力を強化する訓練を受けています。数千種類のタスクに対して、以下の形式で学習します。
指示: この文章を要約してください
入力: (長文)
出力: (要約)
この訓練により、未知のタスクでも「〇〇してください」という指示形式を理解し、適切に反応できるようになります。
ゼロショット学習の実装技術
プロンプトエンジニアリング
ゼロショット学習の性能は、プロンプトの書き方に大きく依存します。効果的なプロンプトの要素は以下です。
- 明確なタスク指示: 「要約」「分類」など具体的な動詞
- 出力形式の指定: 「箇条書きで」「JSON形式で」
- 制約条件: 「100文字以内で」「専門用語を避けて」
悪い例:
この文章どう思う?
良い例:
以下の文章を3つの要点にまとめ、箇条書きで出力してください。
各要点は50文字以内とします。
Chain-of-Thought(思考の連鎖)
複雑なタスクでは、「段階的に考えてください」と指示すると、精度が向上します。
プロンプト:
質問: トムは12個のリンゴを持っています。サリーに5個あげて、
ジョンから3個もらいました。トムは今何個持っていますか?
段階的に考えてください。
出力:
1. 最初: 12個
2. サリーに5個あげる: 12 - 5 = 7個
3. ジョンから3個もらう: 7 + 3 = 10個
答え: 10個
この手法は「ゼロショットCoT(Chain-of-Thought)」と呼ばれ、推論タスクで効果を発揮します。
役割の設定(Role Prompting)
AIに特定の役割を与えることで、専門的な回答を引き出せます。
あなたは経験豊富な小児科医です。
以下の症状について、可能性のある病気と対処法を教えてください。
この手法は、ChatGPT活用ガイドで詳しく紹介しています。
ゼロショット学習の活用事例
テキスト分類
- 感情分析: レビューの好意度判定
- トピック分類: ニュース記事のカテゴリ分け
- スパム検出: メールの振り分け
従来は各タスクに専用モデルが必要でしたが、ゼロショットLLMで統一的に処理できます。
情報抽出
- 固有表現認識: 人名、地名、組織名の抽出
- 関係抽出: 「AはBの社長」といった関係の検出
- キーワード抽出: 文章の重要語句の抽出
クリエイティブタスク
- ストーリー生成: 「〇〇をテーマにした短編小説を書いてください」
- キャッチコピー作成: 「〇〇商品のキャッチコピーを5個生成」
- コード生成: 「Pythonで素数判定関数を書いてください」
多言語対応
GPT-4は100言語以上を理解し、ゼロショットで多言語タスクを処理できます。翻訳だけでなく、英語の指示で日本語文章を要約する、といったクロスリンガルなタスクも可能です。
ゼロショット分類の仕組み:CLIPの例
画像認識でのゼロショット学習を実現したのが、OpenAIのCLIP(Contrastive Language-Image Pre-training)です。
CLIPの学習方法
- 画像とその説明文のペアを大量に学習
- 画像と文章を同じエンベディング空間にマッピング
- 関連する画像と文章が近くなるよう訓練
ゼロショット画像分類
学習時に見たことがない「ユニコーン」の画像を分類する例:
- 候補ラベル: 「犬」「猫」「ユニコーン」「ドラゴン」
- 各ラベルを「a photo of a unicorn」形式のテキストに変換
- 画像とすべてのテキストのエンベディング類似度を計算
- 最も類似度が高い「ユニコーン」を選択
CLIPは、事前定義されたカテゴリに縛られず、任意のテキストで画像を検索・分類できます。
ゼロショット学習の限界と課題
専門タスクでの精度不足
医療診断や法律文書解析など、高度な専門知識を要するタスクでは、ゼロショットの精度が不十分な場合があります。このような領域では、ファインチューニングが有効です。
プロンプトへの敏感さ
同じタスクでも、プロンプトの表現次第で出力が大きく変わります。最適なプロンプトを見つけるには試行錯誤が必要です。
一貫性の問題
同じプロンプトでも、実行ごとに異なる出力が生成される場合があります。温度パラメータを0に設定すると、決定論的な出力に近づきます。
バイアスの継承
学習データに含まれる社会的バイアスが、ゼロショット出力に反映される可能性があります。性別や人種に関するタスクでは注意が必要です。
ゼロショット学習の未来
マルチモーダルゼロショット
GPT-4Vのようなマルチモーダルモデルは、テキスト・画像・音声を横断したゼロショットタスクを実行できます。「この画像を説明して、それを基に俳句を作って」といった複合タスクが可能です。
エージェントシステムとの統合
ゼロショット学習により、AIエージェントが未知のツールやAPIを使いこなせるようになります。「このAPIドキュメントを読んで、〇〇機能を実装してください」といった指示が現実的になりつつあります。
継続学習との融合
ゼロショットで得た知識を、その場で学習して精度を向上させる「メタ学習」の研究が進んでいます。ユーザーとの対話中に適応するAIが実現するかもしれません。
FAQ
Q1. ゼロショットとファインチューニングの使い分けは?
ゼロショットは、多様なタスクを柔軟に処理する場合に適しています。特定タスクで高精度が必要、または大量のタスク固有データがある場合は、ファインチューニングが有効です。コストではゼロショットが有利です。
Q2. ゼロショット学習は本当に「学習なし」なのですか?
厳密には違います。事前学習で膨大な知識を獲得しており、その上でタスク固有の追加学習なしに実行する、という意味です。完全に何も学習していないわけではありません。
Q3. プロンプトの書き方でどれくらい精度が変わりますか?
タスクによりますが、適切なプロンプトエンジニアリングで、精度が20〜50%向上する例も報告されています。特に複雑な推論タスクでは、Chain-of-Thoughtなどの手法が効果的です。
Q4. ゼロショット学習はどのLLMでも使えますか?
GPT-3.5、GPT-4、Claude、Geminiなど、大規模なLLMで利用可能です。小規模モデルではゼロショット性能が低く、フューショットやファインチューニングが必要になります。モデルの規模が性能に直結します。
関連記事
出典
- Brown, T., et al. (2020). “Language Models are Few-Shot Learners”. NeurIPS.
- Radford, A., et al. (2021). “Learning Transferable Visual Models From Natural Language Supervision”. ICML.
- Wei, J., et al. (2022). “Chain-of-Thought Prompting Elicits Reasoning in Large Language Models”. NeurIPS.
- Sanh, V., et al. (2022). “Multitask Prompted Training Enables Zero-Shot Task Generalization”. ICLR.


コメント