機械学習

zero shot, one shot , few shot learning について解説!ファインチューニングとの違いとは?

記事内に商品プロモーションを含む場合があります
ウマたん
ウマたん
当サイト【スタビジ】の本記事では、zero shot, one shot , few shot learningについて解説していきます!違いの若干分かりにくいファインチューニングとの違いについても解説していきますのであわせて学んでいきましょう!

こんにちは!

データサイエンティストのウマたん(@statistics1012)です!

今回は最近話題のGPTモデルなどのAIブームでよく聞くようになったzero shot(ゼロショット), one shot(ワンショット) , few shot (フューショット)learningについて解説していきたいと思います。

GPTモデルにおけるzero shot(ゼロショット), one shot(ワンショット) , few shot (フューショット)learningとはどんなアプローチなのでしょうか?

同時によく使用されるファインチューニングとの違いについても解説していきます!

zero shot, one shot , few shot learningとは

これらの概念は以下のGPT-3の論文で登場します。

他の論文でも同様の言及はありますが、ここではあくまでGPTモデルの論文におけるzero shot, one shot , few shot learningについて解説していきます。

GPTモデルの詳しい解説については以下の記事で取り上げておりますのでこちらを参考にしてください!

GPT1,2,3,4
GPT-1→GPT-2→GPT-3→GPT-3.5→ChatGPT→GPT-4までの進化の軌跡と違いをまとめてみた当サイト【スタビジ】の本記事では、昨今のAIの進化のきっかけになっているGPTシリーズについてまとめていきたいと思います。GPT-1から始まりGPT-2、GPT-3、そしてChatGPTであるGPT-3.5、GPT-4と進化してきました。この進化の軌跡と違いについて解説していきます。...

この論文では以下のように各種zero shot, one shot , few shot learningについて記述があります。

few-shot

それぞれについて見ていきましょう!

zero shot

zero shotはその名の通り、何も追加情報を与えずに指示出しだけで回答を得ようとするアプローチです。

few-shot

画像の例だと英語からフランス語に翻訳してという指示出しに対して特に翻訳の例を与えることなくチーズに対して翻訳を求めています。

これがzero shot

one shot

続いてone shotは、1つだけ例を与えてあげるアプローチです。

few-shot

こちらも英語をフランス語に翻訳してと指示出しをしていますが、その後にsea otter => loutre de merという英語 => フランス語の例文を1つ入れてあげてます。

わかりにくいのですが、sea otterとはラッコのことです。これをフランス語に訳した例を1つインプットしてあげてます。

few shot

そしてfew shotは複数の例を与えてあげるアプローチです。

few-shot

こちらは3つの例を記載して指示出しをしていることが分かります。

一般的には例を入れてあげた方がもちろん精度は上がりますが、GPT-3ではzero shotでもだいぶ良い精度を出力します。

ロボたん
ロボたん
とんな場面でfew shot learningなどを使うの??
ウマたん
ウマたん
翻訳タスクなどは大丈夫なんだけど、例えば特定のデータを特定のカテゴリに分類してほしい時など独自のタスクの場合はいくつか分類例を入れてあげてfew shot learningさせてあげるとよいよ!

以前やったのは、大量の小カテゴリを大カテゴリに分類する時にまず最初にある程度目検で人間が分類してそれらをインプットしてあげた上でfew shot learningで残りのカテゴリをGPTモデルに分類してあげるというものです。

zero shot, one shot , few shot learningとファインチューニングの違いとは?

さて、ここで疑問が生じるのがzero shot, one shot , few shot learningとファインチューニングとの違いです。

ファインチューニングでは新しいデータセットを用意してそれを元に再学習させることでモデルの重み自体も更新していくのです!

few-shot

一方で、one shot , few shot learningは、モデルの重みは更新しません。

あくまでモデルへの指示出しの際にヒントとなる例を入れてあげるだけです。

ファインチューニングについては以下の記事で詳しく解説していますので是非チェックしてみてください!

ファインチューニングと転移学習の違いやChatGPTをPythonでファインチューニングする方法!当サイト【スタビジ】の本記事では、話題のAIで重要なファインチューニングについて解説していきます。ファインチューニングと同じく色々なところで聞かれる転移学習と混同されていることが多いのでそちらについても言及していきます!またPythonを使って実際にChatGPTのファインチューニングも行います。...

ちなみにGPT-3より以前は色んなタスクに対して精度を高めるために各タスクに特化したファインチューニングが必要でした。

翻訳タスクでは通常、日本語と英語の文章の組み合わせを用意してそれらをもとに翻訳タスク用にファインチューニングしていく必要がありました。

しかしあまりにも大量のテキストデータから学習した事前学習モデルであれば、「英語に翻訳して」という文章の後に確率的に近づく言葉をつないでいったら翻訳タスク的なことができるようになったのです。

GPT-3

とはいえまだまだファインチューニングが必要な場面はありますし、モデルに適切なアウトプットを出してもらうためのone shot , few shot learningも有用です。

zero shot learning, one shot learning, few shot learning まとめ

ここまでで、AI分野において非常に重要な「zero shot learning, one shot learning, few shot learning」についてまとめてきました!

最近話題のAIについてより詳しくは当メディアが運営するスタアカの以下のコースを是非チェックしてみてください!

GPTモデルをはじめとした大規模言語モデルの理論やPythonでの扱い方などを幅広く学んでいきます!

スタアカは業界最安級のAIデータサイエンススクールです。

スタアカトップ
【価格】ライトプラン:1280円/月
プレミアムプラン:149,800円
【オススメ度】
【サポート体制】
【受講形式】オンライン形式
【学習範囲】データサイエンスを網羅的に学ぶ
実践的なビジネスフレームワークを学ぶ
SQLとPythonを組みあわせて実データを使った様々なワークを行う
マーケティングの実行プラン策定
マーケティングとデータ分析の掛け合わせで集客マネタイズ

・BigQuery上でSQL、Google Colab上でPythonを使い野球の投球分析
・世界最大手小売企業のウォルマートの実データを用いた需要予測
・ビジネス・マーケティングの基礎を学んで実際の企業を題材にしたマーケティングプランの策定
・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践して稼ぐ

AIデータサイエンスを学んで市場価値の高い人材になりましょう!

データサイエンスやAIの勉強方法は以下の記事でまとめています。

【5分で分かる】データサイエンティストに必要なスキルと独学勉強ロードマップ!当サイト【スタビジ】の本記事では、データサイエンティストに求められるスキルとそれを身に付けるための勉強法について徹底的にまとめていきます!入門者でも、しっかりデータサイエンティストについて理解しある程度独学で駆け出しの状態までいけることを目指します。...
AIのロードマップ
【これだけ!】AI(人工知能)の勉強ロードマップを徹底的に解説!当サイト【スタビジ】の本記事では、AIを勉強するロードマップについて徹底的に解説していきます。まずは、AIの概要について理解して統計学の基本知識・機械学習の基本知識・Pythonでの実装・インフラ周りの知識などを包括的に理解していきましょう!...
スタビジアカデミーでデータサイエンスをさらに深く学ぼう!

スタアカサービスバナースタビジのコンテンツをさらに深堀りしたコンテンツが動画と一緒に学べるスクールです。

プレミアムプランでは私がマンツーマンで伴走させていただきます!ご受講お待ちしております!

スタビジアカデミーはこちら