ゼロショット学習とは?学習データなしでAIが推論できる仕組みを解説

what-is-zero-shot Uncategorized

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以降のモデルは、「指示に従う」能力を強化する訓練を受けています。数千種類のタスクに対して、以下の形式で学習します。

指示: この文章を要約してください
入力: (長文)
出力: (要約)

この訓練により、未知のタスクでも「〇〇してください」という指示形式を理解し、適切に反応できるようになります。

ゼロショット学習の実装技術

プロンプトエンジニアリング

ゼロショット学習の性能は、プロンプトの書き方に大きく依存します。効果的なプロンプトの要素は以下です。

  1. 明確なタスク指示: 「要約」「分類」など具体的な動詞
  2. 出力形式の指定: 「箇条書きで」「JSON形式で」
  3. 制約条件: 「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の学習方法

  1. 画像とその説明文のペアを大量に学習
  2. 画像と文章を同じエンベディング空間にマッピング
  3. 関連する画像と文章が近くなるよう訓練

ゼロショット画像分類

学習時に見たことがない「ユニコーン」の画像を分類する例:

  1. 候補ラベル: 「犬」「猫」「ユニコーン」「ドラゴン」
  2. 各ラベルを「a photo of a unicorn」形式のテキストに変換
  3. 画像とすべてのテキストのエンベディング類似度を計算
  4. 最も類似度が高い「ユニコーン」を選択

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で利用可能です。小規模モデルではゼロショット性能が低く、フューショットやファインチューニングが必要になります。モデルの規模が性能に直結します。

関連記事

出典

  1. Brown, T., et al. (2020). “Language Models are Few-Shot Learners”. NeurIPS.
  2. Radford, A., et al. (2021). “Learning Transferable Visual Models From Natural Language Supervision”. ICML.
  3. Wei, J., et al. (2022). “Chain-of-Thought Prompting Elicits Reasoning in Large Language Models”. NeurIPS.
  4. Sanh, V., et al. (2022). “Multitask Prompted Training Enables Zero-Shot Task Generalization”. ICLR.

コメント