【ふゅーしょっとがくしゅう】
フューショット学習 とは?
💡 「数例見せるだけ」でAIに新しいことを教える方法
📌 このページのポイント
- 少数の入出力例をプロンプトに示すことでAIにタスクを学ばせる
- モデルの再学習(ファインチューニング)が不要で手軽に試せる
- 0例(ゼロショット)・1例(ワンショット)・数例(フューショット)と分類される
- プロンプトに含める例の選び方・順序が性能に大きく影響する
フューショット学習って、ファインチューニングと何が違うの?
ファインチューニングはモデルのパラメータを実際に変更する「学習」だよ。フューショット学習はモデルを変えずに、プロンプトの中に例を入れることで「こういうことをしてほしい」と示すだけなんだ。モデルは一切変わっていないのにタスクをこなせるようになるのが面白いところだよ。
ゼロショットとワンショットとフューショットって何が違うの?
例の数の違いだよ。ゼロショットは例なし(「英語に翻訳して」とだけ言う)、ワンショットは例1個、フューショットは数個(一般的に2〜10個くらい)。例が多いほど性能が上がることが多いけど、プロンプトが長くなってコンテキストウィンドウを消費するというトレードオフがあるんだ。
どんな例を入れると効果的なの?
タスクの「典型的な難しさ」を示せる例がいいとされているよ。あとは多様性も大事で、同じようなパターンの例ばかり入れてもあまり意味がない。研究では「ランダムに選んだ例よりも、タスクの難しさを代表する例を選んだほうが効果的」という結果が出ていることが多いんだ。
例の「順番」って関係あるの?
実はとても影響するんだ。これを「Order Sensitivity(順序感度)」と呼ぶんだけど、全く同じ例でも並べる順序を変えるだけで精度が大きく変わることが研究で示されている。特に最後に置いた例の影響が強い「近接性バイアス」という傾向があるんだ。なぜ順序がこれほど影響するのかは完全には解明されていなくて、フューショット学習の設計でベテランエンジニアでも見落としがちな落とし穴なんだよ。
まとめ:ざっくりこれだけ覚えればOK!
「フューショット学習」って出てきたら「数個の例を見せてAIに新しいタスクを教える方法」と思えればだいたいOK!
📖 おまけ:英語の意味
「Few-Shot Learning」 = 少数例学習
💬 Few(少数)+ Shot(試行・例)+ Learning(学習)。数発の例で学習するというイメージで「フューショット」と呼ばれているよ