

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
はじめに
近年、AIは私たちの生活のあらゆる場面で役立っています。その中で few-shot learning(フューショット・ラーニング、少数の例から学ぶ学習法)は、従来よりもデータをあまり用意できない状況で力を発揮します。つまり、少ないデータしか用意できない新しいタスクに対して、すばやく適応する方法です。
few-shotとは何か
few-shotとは、新しい課題に直面したとき、わずかな例だけを見て判断や予測のモデルを作ることを指します。例えば、野球の打ち方を習うとき、10回ではなく数回の練習で「打つべき形」を覚えるようなイメージです。機械がこの感覚を持つように、AI研究では特別な工夫をします。
他の学習法との違い
AIの学習には大きく分けて三つのショットという考え方があります。
AIの学習には大きく分けて三つのショットという考え方があります。ここでは zero-shot、few-shot、many-shot の3つをざっくり比較します。
| 例の数 | 特徴 | |
|---|---|---|
| zero-shot | 0例 | 与えられた説明だけで推論する。新しいタスクに適応する難しさが高いことが多い。 |
| few-shot | 数個〜数十個 | 少ないデータで新しいタスクへ素早く適応できる。定性的な直感や prior knowledge の活用が重要。 |
| many-shot | hundreds〜thousands | データが豊富な場合に高い精度を狙えるが、データ収集コストが高い。 |
実世界での活用例
実務では few-shot は特に次のような場面で役立ちます。
・画像認識で新しいカテゴリを追加するとき、たくさんの画像がない場合でも学習を進める。
・自然言語処理で新しい言い回しや専門用語を理解するとき、少数の例だけで対応する。
・医療や産業の現場で、データが限定されるタスクに素早く適応する。
学習の仕組みと工夫
few-shotを実現するための技術はいくつかあります。代表的なものを簡単に紹介します。
メタ学習
メタ学習は、モデルが新しいタスクを素早く学ぶ方法を学ぶ訓練です。過去のさまざまなタスクの経験から、少ないデータで適切な初期設定や学習の順序を見つけられるようにします。これにより、初期の学習を効率化して新しいタスクへすばやく適応します。
プロトタイプネット
プロトタイプネットは、各クラスの代表点を作り、それと新しいデータを比較して判断します。未知のクラスのデータが少なくても、代表点さえ分かれば推論できる点が強みです。
他のアプローチ
そのほかにも、データを工夫して使う方法やモデルの構造を工夫する方法があります。実務では目的に合わせて複数の工夫を組み合わせて使うことが多いです。
実際の課題と注意点
少ないデータには良い面と悪い面があります。良い点は新しいタスクに素早く対応できること、悪い点はデータの偏りがそのままモデルの判断に影響することです。検証データを慎重に選び、適切な評価指標を使うことが大切です。
まとめ
few-shot learningは、データが不足している場面でAIを活用する強力な手段です。初心者のうちから基本的な考え方を押さえておくと、実際のAI開発や研究で役立ちます。
few-shotの同意語
- 少数ショット学習
- 機械学習における、クラスごとにごく少数の訓練データだけを用いて学習・適用を行う設定。事前学習やメタ学習を活用して新しいクラスにも対応することを指す。
- 数ショット学習
- 同じく、各クラスに対して数個のサンプルを使って学習する手法。5-shot, 10-shot などが典型例。
- 少数例学習
- 訓練データが少ない“例”だけを用いて学習/適応する手法。新規タスクへの一般化を狙う。
- 少数サンプル学習
- 訓練データが少ないサンプル数で学習する設定。少ないデータで高い汎化性能を狙う。
- 少数データ学習
- データ量が極めて少ない状況での学習。メタ学習や事前学習で補完することが多い。
- 少量データ学習
- データ量が限られている場合に適用される学習手法。少数データでも適切に学習する工夫を指す。
- k-shot 学習
- 各クラスに対してk個の訓練サンプルを用いる学習設定。5-shot, 1-shot などが一般的。
- k-shot learning
- k-shot の英語表記。各クラスにkサンプルずつを用いて学習する手法。
- few-shot learning
- 英語表現の名称。ごく少数のサンプルだけで新しいタスクを学習・適応する手法。
few-shotの対義語・反対語
- zero-shot
- 事前学習で得た知識だけを用い、対象タスクについて追加の例やラベル付きデータを一切使わない学習・推論設定。新規タスクに対して、提示される例がゼロの状態で解くことを指します。
- one-shot
- 新規タスクに対して、各クラスにつき1つの例(ラベル付きデータ)だけを用いて学習・適応する設定。1つの例から一般化を目指します。
- many-shot
- 新規タスクに対して、豊富な数の例を用いて学習・適応する設定。データが大量にある状況での学習を指します。
few-shotの共起語
- few-shot learning
- 少数の訓練データ(例: 1〜5程度)だけで新しいクラスを学習・識別できる機械学習設定。
- one-shot learning
- わずか1つの学習サンプルだけで新しいクラスを認識する学習設定。
- zero-shot learning
- 実データがなくても、クラスの属性情報や説明を利用して新しいクラスを推定する学習手法。
- k-shot learning
- K回のショット(例)を使う学習設定。Kは任意の整数で、少数ショットの意味を持つ。
- N-way K-shot learning
- NクラスをKショットで識別する設定。一般的にN-Way K-Shotと表記される。
- few-shot classification
- 少数ショットでの分類タスク。新しいクラスを少ない例から識別することを目的とする。
- few-shot object detection
- 少数ショットで物体検出を行うタスク。新しい物体クラスを少数の例から検出可能にする。
- few-shot segmentation
- 少数ショットでセグメンテーションを行うタスク。画像のピクセル単位でクラスを割り当てる。
- meta-learning
- 新しいタスクに素早く適応する学習アルゴリズムの総称。Few-shot で特に重要視される分野。
- transfer learning
- 事前に別タスクで得た知識を別のタスクへ転用する学習手法。多くの少数ショット設定で併用される。
- episodic training
- エピソード形式で学習させる訓練方法。N-way K-shot のタスクを模倣することで実践的な適応性を高める。
- prototype networks
- クラスごとに代表ベクトル(プロトタイプ)を作り、新しいサンプルとの距離で分類する手法。
- Siamese networks
- Siameseネットワークは2つの入力を比較して距離を測る設計で、少数ショット認識に用いられる。
- matching networks
- 入力とサポートセット間の距離を測って予測を行う、few-shot 用のアーキテクチャ。
- relation networks
- クエリとサポートの関係性を学習して分類するフレームワーク。
- support set
- 新しいタスクの学習に提供される少数のラベル付きサンプルの集合。
- query set
- 推定を行うためのラベル付きデータの集合。
- cross-domain few-shot learning
- 異なるドメイン間での Few-shot 学習。ドメイン差を超えて新しいクラスを識別する能力を問う。
- data augmentation for few-shot
- データ拡張を用いてショット数を実質的に増やし、学習を安定させるテクニック。
few-shotの関連用語
- few-shot learning
- 少数の訓練データだけで新しいクラスを認識・分類する機械学習の手法。
- one-shot learning
- 各クラスにつき1つの訓練例だけを使って学習・識別する設定。
- zero-shot learning
- 訓練データに存在しないクラスを、特徴の関係性や説明情報から推定する学習。
- N-way K-shot
- N種類のクラスを、各クラスK件ずつの訓練データで学習・評価する設定。
- episode (エピソード)
- few-shot 学習の訓練タスクを1つの単位として組み立てられた学習サイクル。
- support set
- 各クラスのK件の訓練データを集めた集合。モデルが参照するデータ。
- query set
- エピソード内でモデルを評価するためのデータ集合。
- prototype networks (プロトタイプネットワーク)
- 各クラスの代表ベクトル(プロトタイプ)を作り、クエリとの距離で分類する手法。
- Siamese network (シアミーズネットワーク)
- 2つの入力を比較して類似度を出すネットワーク。主に距離学習に使われる。
- Matching networks (マッチングネットワーク)
- サポートとクエリの類似度を用いて分類する少数ショット法。
- Relation networks (リレーションネットワーク)
- クエリとサポートの関係性を学習して判定する手法。
- memory-augmented neural networks (MANN, メモリ増強ニューラルネットワーク)
- 外部メモリを使って過去の情報を参照しながら学習する手法。
- MAML (Model-Agnostic Meta-Learning)
- 任意のモデルで使えるメタ学習アルゴリズム。少数の勾配更新で新タスクへ適応させる。
- meta-learning (メタ学習)
- 学習の仕方自体を学ぶ、少数データでの適応性を高めるアプローチ全般。
- optimization-based meta-learning (最適化ベースのメタ学習)
- 内側ループと外側ループを用い、学習手順そのものを最適化する方法。
- metric-based few-shot learning (メトリックベースのfew-shot)
- 距離・類似度を指標として分類する手法群。
- cross-domain few-shot learning (CD-FSL)
- 異なるドメイン間での少数データ学習を目指す設定。
- semi-supervised few-shot learning (半教師付きfew-shot)
- 少数ラベル付きデータに加え未ラベルデータも活用する手法。
- self-supervised pretraining (自己教師付き事前学習)
- ラベルなしデータだけで前もって表現を学習し、少数データ学習を支援。
- transfer learning (転移学習)
- 既存タスクの知識を新しいタスクへ転用。
- data augmentation (データ拡張)
- 回転・変形・ノイズ追加などで訓練データを人工的に増やす技術。
- in-context learning (インコンテキスト学習)
- 入力文脈に例を並べてモデルに新タスクを学習させる手法(主に大規模言語モデルで使われる)。
- few-shot prompting (ファューショット・プロンプティング)
- 少数の例をプロンプトに与えて推論を促す手法。
- prompt engineering (プロンプトエンジニアリング)
- 効果的なプロンプトを設計する技術。
- prompt tuning (プロンプトチューニング)
- プロンプトを微調整して性能を高める手法。
- adapter-based fine-tuning (アダプターを用いた微調整)
- 小さなモジュールを追加して部分的に学習する方法、データ不足時に使われることが多い。
- distance metrics (距離尺度)
- 分類で使われる距離。例: コサイン距離、ユークリッド距離。
- cosine similarity (コサイン類似度)
- ベクトル間の角度的な近さを測る指標。
- Euclidean distance (ユークリッド距離)
- 2点間の直線距離を測る指標。
- data-efficient learning (データ効率の良い学習)
- 少ないデータでも高い性能を目指す学習方針。
- episode training (エピソード訓練)
- 各エピソード内でサポートとクエリを用いた学習を繰り返す訓練手法。
few-shotのおすすめ参考サイト
- Few-shot学習とは - IBM
- Few-shot Learning(フューショット学習)とは? - ITmedia
- Few-shot Learningとは何なのか【Generalizing from a few examples



















