Zero-shotとは

ゼロショットzero-shot learning別名 ゼロショット学習、Zero-shot学習

1行定義

Zero-shotとは、解きたいクラスやタスクの例を1つも見せずに、事前に学習した知識と、クラス名や指示などの説明だけを手がかりに推論させる方式のことです。

くわしく

Zero-shot(ゼロショット)は、解きたいタスクやクラスについて、学習例を1つも与えずにモデルに解かせることです。「ショット」は与える例の数を表します。例を1つだけ与えるのがOne-shot、少数与えるのがFew-shotです。

背景:すべてのクラスの例は集められない

教師あり学習では、クラスごとに大量のラベル付きデータが必要です。しかし、あらゆる物や概念のデータを集めることはできません。そこで、見たことのないクラスを、別の形の知識を手がかりに識別しようとするのがZero-shot学習です。

初期の研究では、「縞模様がある」「4本足」などの属性を手がかりにしました。見たことのある動物の画像で属性の判定を学んでおけば、属性の組み合わせで説明された未知の動物も識別できます。

基盤モデルによるZero-shot

基盤モデルの登場で、Zero-shotは身近な使い方になりました。

  • CLIP:画像と文章を同じベクトル空間で比べられるように学習しています。「〇〇の写真」という文をクラスの数だけ用意し、画像と最も近い文を選べば、追加学習なしで分類できます。論文では、ImageNetの学習データを1枚も使わずに、ImageNetで学習したResNet-50と同等の精度を示しました。
  • 大規模言語モデル:「次の文を要約してください」のように、指示だけを与えてタスクを解かせます。GPT-3の論文は、例を示さない設定をZero-shot、少数の例をプロンプトに含める設定をFew-shotと呼んで比べました。

どちらの場合も、モデルの重みは更新しません。

注意点

Zero-shotの性能は、事前学習で関連する知識をどれだけ得ているかに左右されます。専門性の高い領域などでは、精度が下がることがあります。その場合は、数例を示すFew-shotや、ファインチューニングを検討します。

覚え方

「例はゼロ、説明だけを頼りに解く」と覚えます。

G検定での出題

例を1つも与えない点でのOne-shot・Few-shotとの違い、CLIPがクラス名の文との類似度で画像を分類する仕組み、大規模言語モデルに指示だけでタスクを解かせる使い方が問われます。

混同しやすい用語

用語意味
Few-shot学習新しいクラスやタスクについて、数個程度の少ない例だけを手がかりに、識別や推論ができるようにする方式

違いを表で比べる:Zero-shotとFew-shot

◯×チェック

  1. Zero-shotでは、解きたいタスクの入力と正解の例を1つだけ示してから、モデルに推論させる。

    答えを見る

    答え × 誤り

    例を1つだけ示すのはOne-shotです。Zero-shotでは例を1つも示さず、タスクの説明やクラス名だけを与えます。

  2. 大規模言語モデルに「次の文を英語に翻訳してください」という指示だけを与え、翻訳の例を示さずに訳させる使い方は、Zero-shotにあたる。

    答えを見る

    答え ◯ 正しい

    GPT-3の論文でも、タスクの説明だけを与えて例を示さない設定をZero-shotと呼んでいます。モデルの重みは更新しません。

  3. 属性を使うZero-shot学習では、「縞模様がある」「4本足」のような属性を介して、学習時に画像を見ていないクラスを識別する。

    答えを見る

    答え ◯ 正しい

    見たことのある動物の画像で属性の判定を学び、未知のクラスは属性の組み合わせで記述します。初期の代表的な方法です。

練習問題

Zero-shotの問題(3問)
  1. Few-shotとファインチューニング
  2. CLIPによる画像分類の方法
  3. CLIPの対照学習の正例と負例

AIで作成 人による確認:未 誤りを報告

出典と作成について

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)

公開日: 最終更新日: 最終確認日:

対応シラバス:シラバス第1.4版 技術32

改訂履歴

表示設定

テーマ
文字の大きさ
問題演習