Web教科書

Few-shot / One-shot Learning

Few-shot / One-shot Learning

解説:人間のように「少し」で学ぶ

従来のディープラーニングは、犬を認識させるために何千枚もの犬の画像(大量のデータ)が必要でした。
しかし、人間は初めて見る動物でも、「これがキリンだよ」とたった1枚(One-shot)数枚(Few-shot)の写真を見せられただけで、次から「あ、キリンだ」と認識できます。

このように、「極めて少ないサンプル数」から学習し、未知のデータを識別できるようにする技術を、ショット(提示されるデータの数)に応じて以下のように呼びます。

データの数による分類

  • Zero-shot(ゼロショット):
    例題を1つも見せない状態で推論させる。
    (例:「この画像を分類して」といきなり渡す)
  • One-shot(ワンショット):
    正解の例題を1つだけ見せてから推論させる。
    (例:「これが犬の画像だよ。じゃあこれは?」)
  • Few-shot(フューショット):
    正解の例題を2〜10個程度(少量)見せてから推論させる。
    (例:「これが犬、これが猫、これが鳥だよ。じゃあこれは?」)

2つの文脈での使われ方

この用語は、大きく分けて2つのシチュエーションで使われます。

  1. 画像認識などのモデル学習(Meta-Learning):
    「未知のクラスを識別する能力」自体を鍛える学習方法。モデル更新を伴う場合もあれば、距離学習(Metric Learning)を使う場合もあります。
  2. LLM(ChatGPT等)のプロンプトエンジニアリング:
    AIに指示を出す際、プロンプト(命令文)の中に「入力と出力の例」をいくつか含めるテクニックのこと。「文脈内学習(In-context Learning)」とも呼ばれます。

G検定対策

重要キーワード:N-way K-shot

Few-shot学習のタスク設定を表す決まり文句です。

用語 意味
N-way 分類する「クラス(種類)の数」
(5-wayなら、犬・猫・鳥・魚・馬の5種類)
K-shot 各クラスごとに提示される「正解データの数」
(1-shotなら各1枚ずつ、5-shotなら各5枚ずつ)
サポートセット
(Support Set)
学習(参考)のために見せる「例題データ」のこと。
クエリセット
(Query Set)
実際に分類させたい「テストデータ」のこと。

出題ポイント

  • メタ学習(Meta-Learning):「学習の仕方を学習する(Learning to Learn)」枠組みとして出題されることが多い。
  • 人間のような学習:「大量のデータを必要とする」というディープラーニングの課題を克服するアプローチである。
  • シャムネットワーク(Siamese Network):2つの画像の「似ている度合い(距離)」を測ることで、未知の画像がどのクラスに近いかを判定する手法。One-shot学習でよく使われる。

ひっかけ対策

  • × One-shot学習は、一度学習したら二度と忘れない学習のことである
    (解説)「1枚のデータで学習できる」という意味であり、記憶の定着率の話ではありません。
  • × Zero-shot学習は、何も学習していないAIを使うことである
    (解説)「そのタスク専用のデータ」は見ていませんが、事前の「汎用的な学習(事前学習)」は済ませている状態です。知識ゼロではありません。
タイトルとURLをコピーしました