G検定(ジェネラリスト検定)
ぜろしょっと
ゼロショット
Zero-shot
ゼロショットとは、認識したいクラスの訓練例を1つも使わずに、そのクラスを認識・分類する課題設定です。古典的には、訓練に使うクラスとテストで問うクラスが重ならない条件で、色や形などの意味属性による記述を手がかりに未知の物体を見分ける問題を指します。近年は基盤モデルの評価で、学習時に見ていないデータセットやタスクへどこまで汎化できるかを示す、より広い意味でも使われます。
詳しい説明
ゼロショットの基本の定義
ゼロショット(Zero-shot)は、ある対象クラスについてラベル付きの訓練例を1つも与えられていない状態で、そのクラスを認識・分類する課題設定を指します。ショット(shot)は、対象クラスについて与えられる例の数を表す言い方です。ゼロショットは、その例の数がゼロであることを意味します。
例が1つも無いのに、なぜ認識できる可能性があるのでしょうか。鍵は、例の代わりに別の手がかりを使うことです。古典的な研究では、その手がかりは対象クラスを言葉で表した記述でした。
フューショット・ワンショットとの違い
似た語に、フューショット(Few-shot)とワンショット(One-shot)があります。
- フューショットは、対象クラスについて少数(数個程度)のラベル付き例を使って認識する設定です
- ワンショットは、対象クラスについてラベル付き例を1つだけ使う設定です
- ゼロショットは、対象クラスの例を1つも使いません
フューショットとワンショットでは、例の数は少なくても、手がかりはあくまで対象クラスの実例そのものです。これに対してゼロショットでは実例が無いため、手がかりは例ではなく、そのクラスがどういうものかを表す記述になります。違いは例の数だけでなく、何を手がかりにするかにもある、と整理すると分かりやすくなります。
古典的な定義: ランパートらの属性ベース分類
ゼロショットの古典的な研究として知られるのが、ランパート(Lampert)、ニキッシュ(Nickisch)、ハーメリング(Harmeling)が2009年にCVPRで発表した論文です。この論文は、訓練クラスとテストクラスが互いに素である、つまり両者に共通するクラスが1つも無く、目標とするクラスの訓練例が手に入らない場合の物体分類を問題として設定しました。
着想: 人間は記述だけで未知のものを見分けられる
論文は、人間の学習の仕方に着想を得ています。人間は例から学ぶだけでなく、高レベルな記述を与えられれば、一度も見たことのないクラスも見分けられます。論文の例では、8角形で赤く、白い文字が書かれた交通標識という記述から停止標識を見つけられること、また長い鼻を持つ大きな灰色の動物という記述から象を確実に見分けられることが挙げられています。
仕組み: 属性ベース分類
この考え方を機械で実現するために、論文は属性ベース分類(attribute-based classification)を提案しました。属性ベース分類とは、画像から直接クラス名を当てるのではなく、まず形・色、さらには生息地のような地理的な情報など、人が意味を理解できる性質(意味属性)を判定し、その属性の組み合わせからクラスを決める分類の方法です。
流れは次のように整理できます。
1. 目標とする各クラスを、訓練画像ではなく、人が指定した属性の一覧で記述しておきます
2. 属性を判定する仕組みを、あらかじめ学習しておきます。属性は特定のクラスに縛られない性質なので、今回の課題と無関係な画像データセットからでも学習できます
3. 新しいクラスは、その属性による記述をもとに検出します。このとき新たな訓練の段階は要りません
論文は、属性が分類器を多段につなぐ構成の中間層として働き、その結果、訓練例を1枚も見ていないクラスを検出できるようになる、と説明しています。訓練時のクラスとテスト時のクラスが違っていても、両者が同じ属性の語彙で記述されているため、その属性を橋渡しにして知識を移せる、という点がこの手法の要点です。
現代的で広い用法: CLIP論文の使い方
ゼロショットという語は、近年はより広い意味でも使われます。その使い分けを論文自身が明記している例が、OpenAIのラドフォード(Radford)らが2021年に発表したCLIPの論文です。
CLIP論文は、コンピュータビジョンにおけるゼロショット学習は通常、画像分類で見たことのない物体カテゴリへ汎化する研究を指す、と述べ、その代表としてランパートらの2009年の論文を挙げています。そのうえで、CLIPではこの語をより広い意味で使い、見たことのないデータセットへの汎化を調べる、と書いています。さらにこれを、見たことのないタスクをこなす能力を測るための代わりの指標と位置づけ、ラロシェル(Larochelle)らの2008年のゼロデータ学習(zero-data learning)の論文が目指したものに動機づけられている、と説明しています。
2つの用法を並べると、次のように区別できます。
- 古典的な用法(ランパートら): 訓練に出てこなかった物体カテゴリを、属性の記述を手がかりに認識すること
- 広い用法(CLIP論文): 学習時に使っていないデータセット、さらにはタスクに対して、追加の学習をせずにどこまで性能を出せるかを見ること
どちらも対象について専用の訓練例を使わないという点は共通していますが、何が未知なのか(クラスか、データセットやタスクか)という範囲が異なります。文献を読むときは、どちらの意味で使われているかを確かめる必要があります。CLIPそのものの仕組みは、CLIPの項目で扱います。
G検定シラバスでの位置づけ
G検定シラバス2024では、ゼロショットは中項目マルチモーダルと基盤モデルの対象キーワードとして掲載されています。基盤モデルの文脈で出てくる語であるため、古典的な未知クラスの認識だけでなく、CLIP論文のような広い用法もあわせて押さえておくと、この語の使われ方を整理しやすくなります。
試験で問われること
G検定
- ゼロショットが、対象クラスのラベル付き訓練例を1つも使わずにそのクラスを認識・分類する設定であることを説明できますか。
- フューショットやワンショットは対象クラスの少数の実例を手がかりにするのに対し、古典的なゼロショットは例ではなく属性による記述を手がかりにする、という違いを確認しておきましょう。
- ランパートらの属性ベース分類で、訓練クラスとテストクラスが互いに素であること、属性を無関係なデータセットから事前に学習できること、新しいクラスを再訓練なしに属性の記述から検出することを説明できますか。
- CLIP論文が、未知の物体カテゴリへの汎化という古典的な用法と区別して、未知のデータセットへの汎化というより広い意味でゼロショットの語を使っていることを確認しておきましょう。
最終更新日: 2026/09/23