本文へ移動

G検定(ジェネラリスト検定)

ふゅーしょっと

フューショット

Few-shot

フューショット(Few-shot)は、各クラスにつき数個程度のラベル付き例だけを手がかりに、それまで学習していない新しいクラスを見分けられるようにする課題設定です。少ないデータから新しい概念へすばやく適応するための学習の枠組みで、N-way k-shotという形で課題を定めて手法どうしの性能を比べる場面で使われます。G検定シラバスでは転移学習やファインチューニングと同じ中項目に並ぶ語です。

詳しい説明

少ない例から学ぶという課題

ふつうの教師あり学習では、ディープラーニングのモデルは各クラスについて大量のラベル付きデータを使って学習します。しかし実際には、新しい種類のものを見分けたいのに、手元に数枚の例しか無いという状況がよくあります。

ヴィニヤルス(Vinyals)らによる論文 Matching Networks for One Shot Learning(Google DeepMind、NeurIPS 2016)は、冒頭で、少数の例から学ぶことは機械学習の重要な課題として残っていると述べています。そのうえで、標準的な教師ありディープラーニングの枠組みは、少ないデータから新しい概念をすばやく学ぶ方法として満足のいく解決策になっていない、と指摘しています。

フューショット(Few-shot、少数ショット)とは、この状況を課題として切り出したものです。各クラスにつき少数(数個)のラベル付き例だけを与え、それを手がかりに新しいクラスを見分けられるかどうかを問題にします。ここでいうショットは、1クラスあたりに与えられるラベル付き例の数を指します。

N-way k-shotという課題の決め方

同論文の実験は、すべてN-way k-shotと呼ばれる同じ形の課題にそろえられています。この2つの文字の意味は次のとおりです。

  • N(way の数): 見分ける対象となるクラスの数です。5-wayなら5クラス、20-wayなら20クラスの中から正解を選びます
  • k(shot の数): 各クラスについて与えられるラベル付き例の数です。5-shotなら各クラス5個ずつの例が与えられます

課題の進み方は次のようになります。まず、それまでの学習で一度も使われていないN個のクラスについて、各クラスk個ずつのラベル付き例がモデルに渡されます。この少数のラベル付き例の集まりをサポートセット(support set)と呼びます。次に、サポートセットとは重ならない別のラベル無しの例が与えられ、モデルはそれぞれがN個のクラスのどれに当たるかを答えます。

でたらめに答えた場合の正解率は1/Nです。5-wayなら20%、20-wayなら5%が当て推量の水準になり、Nが大きいほど課題は難しくなります。

フューショットは、このkが数個程度(たとえば5)の設定を指します。kを1まで減らし、各クラスにたった1つの例しか与えない設定はワンショット(1-shot)と呼ばれ、フューショットの中でも最も例が少ない端に当たります。

サポートセットだけで答えを出す仕組み

同論文が提案したマッチングネットワーク(Matching Networks)は、少数のラベル付きサポートセットとラベル無しの例を受け取り、その例のラベルを出力するネットワークを学習します。論文の要旨によれば、この仕組みによって、新しい種類のクラスに適応するためのファインチューニング(追加の学習で重みを調整し直すこと)が不要になります。

比較として、論文ではファインチューニングを使う方法も試されています。基準として用意した分類器(Baseline Classifier)は、与えられた少数の例でファインチューニングを行うと少し性能が上がったと報告されています。少ない例から新しいクラスに対応する方法には、ファインチューニングで追加学習する道と、サポートセットと比べるだけで答えを出す道の両方があることがわかります。

例の数が増えると精度はどう変わるか

同論文は、Omniglotと呼ばれるデータセットで、5-wayと20-way、それぞれ1-shotと5-shotの正解率を比べています。ファインチューニングを行わない2つの手法の結果は次のとおりです。

手法5-way 1-shot5-way 5-shot20-way 1-shot20-way 5-shot
畳み込みシャムネットワーク(Convolutional Siamese Net)96.7%98.4%88.0%96.5%
マッチングネットワーク(Cosine)98.1%98.9%93.8%98.5%

この表から読み取れることは3つあります。

1つ目に、どちらの手法でも、各クラスの例を1個から5個に増やすと正解率が上がっています。論文自身も、k-shot分類でより多くの例を使うことはすべてのモデルの助けになる、とまとめています。

2つ目に、その差はクラス数が多い難しい課題ほど大きく出ています。20-wayでは、シャムネットワークが88.0%から96.5%へ、マッチングネットワークが93.8%から98.5%へと上がっています。論文は、5-wayのほうが20-wayより易しいことも確認しています。

3つ目に、手法による差の出方が変わります。5-shotでは2つの手法の差は小さく(5-wayで98.4%と98.9%、20-wayで96.5%と98.5%)、論文もシャムネットワークは各クラス5例のときにはマッチングネットワークに対してよく健闘していると述べています。一方で1-shotになると差が開き(20-wayで88.0%と93.8%)、論文はシャムネットワークの性能がワンショットでは急速に落ちると指摘しています。

つまり、例を数個与えるフューショットの設定は、例が1つしか無い設定に比べて正解率が高く、手法の違いによる性能の落ち込みも小さく抑えられやすい、ということがこの実験から見て取れます。

転移学習やファインチューニングとの関係

G検定シラバス2024では、フューショットは中項目の転移学習・ファインチューニングの対象キーワードとして挙げられています。学習済みのモデルを新しい課題に生かすという点で、これらの語は同じ問題意識を共有しています。フューショットは、その新しい課題に使えるラベル付きデータが各クラス数個しか無いという、特に厳しい条件を指す語として整理しておくとよいでしょう。

試験で問われること

G検定

  • N-way k-shotのNが見分けるクラスの数、kが各クラスに与えられるラベル付き例の数を表すこと、そしてでたらめに答えたときの正解率が1/Nになることを説明できますか。
  • サポートセットが、まだ学習していないクラスについて与えられる少数のラベル付き例の集まりであり、分類する対象のラベル無しの例とは重ならないことを確認しておきましょう。
  • 各クラスの例の数kを1から5に増やすと正解率が上がり、その差はクラス数の多い20-wayのほうが大きく出たという実験結果の傾向を確認しておきましょう。
  • マッチングネットワークが、新しいクラスへの適応にファインチューニングを必要としない仕組みとして提案されたことを、転移学習やファインチューニングとの関係の中で説明できますか。

最終更新日: 2026/09/23