検索
連載

Zero-shot Learning(ゼロショット学習)とは?AI・機械学習の用語辞典

用語「ゼロショット学習」について説明。訓練データに存在しない新しいクラスやタスクに対しても有用な予測/分類を行うための学習方法のことで、特にChatGPTの言語モデルなどでは、ファインチューニングすることなく、かつ例文もない状態で、さまざまなタスクを解決する能力を持つことを指す。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「AI・機械学習の用語辞典」のインデックス

連載目次

用語解説

 人工知能/機械学習分野のゼロショット学習Zero-shot Learning)とは、新しいクラス(分類問題の場合)やタスクを訓練データから事前に学習していなくても、推論時にその未知のクラスやタスクについての何らかの補助情報(説明テキストや属性情報、クラス間の類似性など)を訓練済みAIモデルに与えることで、柔軟に適切な分類や予測を行うための学習方法のことである。例えば動物を分類するタスクにおいて、事前に「犬」と「猫」(という2つの既知のクラス)の訓練データから学習したAIモデルに、未知の動物についての属性(例えば「くちばしがある」)などの補助情報を用いることで、学習していない「鳥」(という未知のクラス)の分類ができるなどだ。

 特に最近の自然言語処理においては、上記の定義よりも限定的な意味でこの用語は使われている。言語モデルのゼロショット学習Zero-shot Learning)とは、ファインチューニングのように言語モデルのパラメーター(=ニューラルネットワークの重みなど)をアップデートすることなく、さらに例示(Examples、見本:Examplars)もない状態で、さまざまなタスクを解決する能力を持つことである。近年話題となっているChatGPTの言語モデルなどは、ゼロショット学習の能力を持つ言語モデルの一例だ(図1)。

図1 ゼロショット学習(Zero-shot Learning)のイメージ
図1 ゼロショット学習(Zero-shot Learning)のイメージ
参考論文“Language models are few-shot learners”(Tom B. Brown, et al. @ OpenAI., arXiv, 2020.)のFigure 2.1
図中の「プロンプト」は、指示や質問などのテキストのこと。ここでは「cheese ⇒ 」というプロンプトに対して、英語からフランス語に翻訳して「fromage」という正解の回答が得られる想定である。

 本稿で説明している「言語モデルのゼロショット学習」は主に、OpenAIが2019年2月に公開したGPT-2(大規模言語モデル)に関する論文『Language models are unsupervised multitask learners』OpenAIの公式サイト)と、2020年5月に公開したGPT-3に関する論文『Language models are few-shot learners』OpenAIの公式サイト)に基づいた内容となっている。

 なお、GPT-2以降(GPT-3やGPT-3.5、GPT-4など)の最近で話題に挙がる「ゼロショット学習」は、本稿で説明している意味で使われているケースがほとんどだと思われるが、人工知能/機械学習(特にコンピュータビジョン)の分野では、冒頭の用語定義の通り、以前から「Zero-shot Learning」(ゼロショット学習)という用語が存在していた。そのため、人や記事などによっては違う論文に基づく「ゼロショット学習」を指している可能性があることに注意してほしい。例えば2009年に公開された論文『Zero-shot Learning with Semantic Output Codes』(Mark Palatucci, et al. 著者には有名なGeoffrey E. Hinton氏も含まれる)などがある。また、2008年に公開された論文『Zero-data learning of new tasks』(Hugo Larochelle, et al. 著者には有名なYoshua Bengio氏も含まれる)では類似の「Zero-data Learning」(ゼロデータ学習)という用語が使われている。これらについてより詳しく知りたい場合は、ブログ記事「Zero-shot Learning入門 - エクサウィザーズ Engineer Blog」がお勧めだ(筆者がネット検索して探した中では、最も詳しく解説しつつも分かりやすいと感じた)。

 ゼロショット学習は、方法(method)を示す用語として単にゼロショットZero-shot)と呼ばれることも多い。他の単語(「機能」「タスク」「設定」「プロンプト」など)と組み合わせて表現されることもあり、例えばGPT-3などが持つ能力(機能性)に着目してゼロショット機能Zero-shot capabilities)と呼ばれたりもする。また、ゼロショット学習を行うためのプロンプト(テキスト)の書き方に着目して、ゼロショット・プロンプティングZero-shot Prompting)と呼ばれたりもする(参考:『Prompt Engineering Guide』というサイトの「Zero-shotプロンプティング」)。さらに、思考の連鎖(CoT:Chain of Thought)というテクニックとゼロショットを組み合わせたプロンプティングのテクニックに、「ステップ・バイ・ステップで考えてみましょう」というプロンプトを書くZero-shot-CoTというのもある(参考:「思考の連鎖(Chain of Thought)でChatGPTからよりよい応答を引き出そう:ChatGPT入門」)。

 「ゼロショット学習」と似た概念に、GPT-3の論文で提示された「言語モデルのフューショット学習Few-shot Learning)」がある。これは、幾つかの例文/見本を文脈(コンテキスト)の中でデモンストレーションとして提示する手法である。ゼロショット学習では「例文がない」が、フューショット学習では「例文がある」、という違いがある。フューショット学習については、こちらで用語解説しているので、この記事と見比べると分かりやすいだろう。なお、より大きな言語モデルになるほど文脈内の情報をますます効率的に利用することが分かっており、これをコンテキスト内学習In-Context Learning)とも呼ぶ(前掲の「GPT-3に関する論文」内に説明がある)。

「AI・機械学習の用語辞典」のインデックス

AI・機械学習の用語辞典

Copyright© Digital Advantage Corp. All Rights Reserved.

[an error occurred while processing this directive]
ページトップに戻る