ホーム topics フューショット学習 Few-shot学習とは
IBMのAIプラットフォームはこちら AI関連の最新情報を購読する
雲、円グラフ、グラフのピクトグラムのコラージュを使用したイラスト
Few-shot学習とは

Few-shot学習とは、非常に少数のラベル付きサンプルでトレーニングすることでAIモデルが正確な予測を行えるように学習する機械学習フレームワークです。通常、適切なトレーニング データが不足している場合に、分類タスク用のモデルをトレーニングするために使用されます。

Few-shot学習(FSL)は、One-shot学習(学習すべき各クラスのラベル付きサンプルが1つだけ存在する)およびZero-shot学習(ラベル付けされたサンプルが1つもない)を含む、より一般的に、nショット学習と呼ばれる人工知能のカテゴリーのサブセットです。 One-shot学習は本質的にはFSLの挑戦的な一バリアントに過ぎませんが、Zero-shot学習は独自の手法を必要とする特異な学習問題です。

基本的にFSLは、ほんの一握りのサンプルから学ぶ人間の能力をエミュレートすることを目的としています。 これは、通常、多数のトレーニング・ラウンドにわたり数百ないし数千に及ぶラベル付きデータ・ポイントを使用して、AIモデルにデータのクラスを認識させる従来の教師あり学習とは対照的です。 強力な教師あり学習は、一部の現実世界の設定では実用的ではありません。法外なコストや、データに正しく注釈を付けるために必要な分野固有の専門知識、あるいは、独特の手書き文字、希少疾患、絶滅危惧種や、逆に新たに発見された種など、既存のサンプルが不足しており、シナリオのために、ラベル付きサンプルを入手するのは困難であることがよくあります。

特定のアルゴリズムとニューラル・ネットワーク・アーキテクチャーはFSLタスクで顕著な成功を収めていますが、Few-shot学習は、特定の方法やモデル構造ではなく、学習問題の性質により定義されます。 Few-shot学習の手法は、事前にトレーニングされたモデルを類似のタスクで使用できるように適応させる方法から、生成モデルを使用して新しいサンプルを作成する方法、特定のタスクを実行するのではなく、新しい分類問題やさまざまなクラスのデータにうまく一般化するようにモデルをトレーニングするメタラーニング方法まで、多岐にわたります。

エンタープライズAIの拡張においてAIガバナンスがビジネス上不可欠である理由

AI 導入の障壁、特に AI ガバナンスとリスク管理ソリューションの欠如について学びます。

関連コンテンツ

基礎モデルのガイドに登録する

Few-shot学習における分類の仕組み

Few-shot学習ではさまざまなアルゴリズムやニューラル・ネットワーク・アーキテクチャーを利用できますが、ほとんどの場合、転移学習またはメタ学習(またはその両方の組み合わせ)を中心に構築されています。

Few-shot学習は回帰分析(または強化学習)にも応用できますが、ほとんどのFSL研究は分類での使用に焦点を当てています。 一部のFSLは、ラベル付きデータの不足に対処する他のソリューションと併用できます。例えば、大量のラベルなしデータからの情報と、入手可能性が限られたラベル付きサンプルを用いたFew-shot学習からの情報を組み込んだ半教師あり学習法などです。1

転移学習

転移学習ベースの手法は、事前トレーニングされたモデルを適応させて、新しいタスクやこれまでに見たことのないクラスのデータを学習することに重点を置いています。

ラベル付けされたサンプルがほとんどない場合、教師あり学習を使用してモデルをゼロからトレーニングすると、特に、コンピューター・ビジョンで一般的に使用される畳み込みニューラル・ネットワーク(CNN)や自然言語処理(NLP)で使用されるトランスフォーマー・ベースのネットワークなど、多数のパラメーターを持つモデルでは、過学習が発生することがよくあります。このモデルはテスト・データでは適切に機能するかもしれませんが、実際のデータでは適切に機能しない可能性があります。一方、過学習を避けるために十分な量のデータを収集することが、モデルのトレーニングのボトルネックになることがよくあります。

転移学習は、トレーニングされたモデルがすでに学習した便利な機能と表現を活用するという実用的なソリューションを提供します。 1つの単純なアプローチは、少数のラベル付きサンプルに対する教師あり学習を通して、新しいクラスに対して同じタスクを実行するように分類モデルをファイン・チューニングすることです。より複雑なアプローチでは 、関連する下流タスク(多くの場合はメタ学習タスク)の設計を通じて、自己教師ありプレテキスト・タスクにより事前トレーニングされたモデルに新しいスキルを教えます。これは、特に基盤モデルのコンテキストで、NLPでますます一般的になっています。

より複雑な転移学習では、ネットワーク・アーキテクチャーを変更することで学習済みニューラル・ネットワークを適応させます。例えば、特徴量抽出が行われる内部層を維持しながら、最終的な分類が行われるニューラル・ネットワークの外層を置換または再トレーニングします。 最外層を除くすべてのモデルの重みを固定する(または変更を正規化する)ことで、後続の更新によって、既に学習した知識が「破滅的忘却」されないようにすることができます。 これにより、Few-shot学習のコンテキストで学習を大幅に迅速化することができます。

転移学習は、モデルの初期トレーニングが新しいタスクに関連している場合に最も成功します。 例えば、特定の種類の鳥でトレーニングされたモデルは、わずか数個のラベル付きサンプルでファイン・チューニングした後、未確認の種類の鳥まで十分に一般化できます。これは、CNNが畳み込みに使用するフィルターの学習された重みが、鳥類に関連する特徴(羽、くちばし、翼の大きさなど)を把握するために既に最適化されているためです。しかし、同じモデルに乗り物を認識するように教えるためにFew-shot学習を使用すると、満足のいく成果は得られません。

データレベルのアプローチ

ラベル付けされたデータ・サンプルが限られているという問題の代替解決策は、追加のトレーニング・サンプルを生成することです。 これは、希少疾患や外来種を扱う場合のように、特定のクラスのデータの実際のサンプルが極めて少ない場合に特に役立ちます。

敵対的生成ネットワーク(GAN)や変分自己符号化器(VAE)などの生成モデルによるデータ生成は、元のサンプルに過学習を回避するのに十分な多様性があれば、従来の教師あり学習を実行するのに十分なサンプルを生成できる可能性があります。

データ拡張は、元のサンプルに異なる変換を適用して新しいサンプルを作成するプロセスで、他の方法と組み合わせることができます。例えば、 対照的な自己教師あり学習と同様のプロセスで、メトリック・メタ学習で使用するマッチング・サンプルを作成するために使用できます。

メタ学習

分類子がそれが使用される実際のタスクで訓練され、訓練セットにはモデルがテストされるのと同じクラスが含まれる教師あり学習やファイン・チューニングとは異なり、メタ学習ではより広範かつ間接的な手法が取られます。転移学習に基づいて構築されたアプローチは事前トレーニングされたモデルを適応させるのに対し、メタ学習手法は多くの場合、システムを最初からエンド・ツー・エンドでトレーニングします。

Santoro氏らは、「メタ学習」を複数のタスクを使用して短期レベルと長期レベルの両方でモデルをトレーニングするシナリオと定義しています。各タスク内で、モデルは迅速に学習して、その特定のタスクの限られた領域に関連する予測を行います。モデルは、タスク全体にわたって、パターンとタスク構造がターゲット・ドメイン間でどのように変化するかを把握することで、徐々に知識を蓄積していきます。 この2段階のプロセスは、「学ぶための学習」モデルとして説明されることもよくあります。2

例えば、多くの著名なメタ学習手法の目標は、複数のトレーニング・エピソードにわたってモデル関数をトレーニングし、モデルがまだ見たことのないクラスを含む任意のクラスのデータ・ポイント間の類似度の予測を出力することです。そのプロセスから得た学習を使用して、下流タスク(具体的に定義された分類問題など)を解決します。

一部のメタ学習アプローチは、モデルをトレーニングしやすいようにトレーニングすることで、より抽象的なレベルで機能します。 従来の教師あり学習では、モデルのパラメータ(重みやバイアスなど)は「学習」されるものであり、モデルのハイパー・パラメーター(学習率やパラメータの初期化方法など)は学習前に設定されるもので、学習プロセスの一部とみなされません。 メタ学習では、理想的な開始点、つまり最小限のトレーニング・ステップでさまざまなデータ・セットに適切に一般化できるパラメーターの初期化やその他のハイパー・パラメーターの選択を学習することで、転移学習のメリットに近づけることができます。

N-way-K-shot分類

さまざまな機械学習モデル・アーキテクチャーをFew-shot学習に使用できますが、FSLトレーニングと評価の構造は一般にN-way-K-shotフレームワークに従います。Nはクラス数を、 Kはサンプル数(または「ショット」数)をそれぞれ表します。

N-way-K-shot分類では、モデルは複数のトレーニング・エピソードを経ます。 各トレーニング・エピソードは、1つ以上のトレーニング・タスクで構成されます。 モデルは、トレーニング・タスクの構造を反映しているテスト・タスクによって評価されます。 各トレーニング・タスク(およびテスト・タスク)は2つのデータ・セットで構成されます。

  • サポート・セットには、N個のクラスごとにK個のラベル付き訓練サンプルが含まれます。 モデルはこれらのサポート・サンプルを使用して、各クラスの一般化された表現を学習します。 例えば、3-way-2-shot分類タスクのデータセットには3つのクラスの画像が含まれ、それぞれ2つのサンプルが提供されます。 K=1の場合、タスクはOne-shot学習と呼ばれます。K=0の場合、Zero-shot学習となり、通常は独自のソリューションが必要になります。
  • クエリー・セットには、N個のクラスごとに1つ以上の新しいサンプルが含まれています。モデルは、サポート・セットから学習した表現を使用して、クエリー・セット内の各サンプルの分類を予測します。 損失関数は、モデルの予測と「正しい」予測との間の相違(「損失」)を測定します。各トレーニング・エピソードの後に、損失を最小限に抑えるためにモデル・パラメーターが調整(最適化)されます。

メタ学習の目的は、特定のクラスのデータを認識することではなく、目に見えないデータまで一般化するようにモデルをトレーニングすることであるため、通常、各トレーニング・タスクには、前のトレーニング・タスクで使用されたデータ・クラスとは異なるデータ・クラスが含まれます。

これまでに見たことのないクラスに対して正確な類似性予測を行うモデルの機能をテストするには、テストに使用されるサポート・セットとクエリー・セットに、モデルがトレーニング・タスクでまだ公開されていないまったく新しいクラスのデータが含まれている必要があります。

メトリクスベースのメタ学習

メトリックベースのメタ学習アルゴリズムは、 K近傍法と同様の原理で動作します。クラス間の決定境界を直接モデル化して分類を予測するのではなく、メトリックベースのアプローチは、特定のデータ・サンプルを表す連続値(ベクトル埋め込みなど)を生成し、距離メトリックを測定する関数を学習して推論を行い、この値と、比較対象の異なるサンプルまたはクラスの値との類似性を表します。

メトリクスベースのFSLアルゴリズム
シャム・ネットワーク

メトリックベースのアルゴリズムとして比較的初期に開発されたシャム・ネットワークは、対照学習を使って二値分類の問題を解決するもので、2つのサンプルが示されると、シャム・ネットワークはそれが正(一致)か負(非一致)かを予測します。モデルの損失関数は、正のペアのベクトル埋め込み間の距離を最小化し、負のペアのベクトル埋め込み間の距離を最大化するために使用されます。Triplet lossモデルもよく似ています。「アンカー」サンプルと、さらに2つのサンプルが与えられ、1つが一致し、もう1つが非一致の場合、モデルはどちらが陽性でどちらが陰性かを予測します。

どちらの手法の場合でも、トレーニング・サンプルを相互に区別するのが比較的難しいことが重要です。そうでない場合、モデルはより効果的な埋め込みを生み出すパラメーターの学習を強制されません。 データ拡張は、マッチング・サンプルが少ない場合によく使われる。

論文「One-shot画像認識のためのシャム・ニューラル・ネットワーク」を読む
マッチング・ネットワーク

シャム・ネットワークが2値分類タスクしか解決できないのに対し、マッチング・ネットワークはマルチウェイ分類を行うことができます。 そのため、これは初期のFew-shot学習専用アルゴリズムの1つとみなされています。

マッチング・ネットワークは、適切なニューラル・ネットワーク(画像タスクの場合はCNN、自然言語タスクの場合はLLMなど)を使用してサポート・セットとクエリー・セット内の各サンプルの埋め込みを出力し、クエリー・サンプルの埋め込みと利用可能なサポート・サンプルの埋め込みの間のコサイン距離を測定して分類を予測します

論文「One-shot学習のためのマッチング・ネットワーク」を読む
プロトタイプ・ネットワーク

プロトタイプ・ネットワークは、各クラスのプロトタイプを計算するために、各クラスで利用可能なすべてのサンプルの平均特徴を計算します。 特定のデータ・ポイントの分類は、各クラスのプロトタイプへの相対的な近さによって決定されます。 マッチング・ネットワークとは異なり、プロトタイプ・ネットワークはコサイン距離ではなくユークリッド距離を使用します。

例えば、Zhu氏とKoniusz氏は、プロトタイピング・プロセスを改善するために ラベル伝搬を使用することを提案しています。3

論文「Few-shot学習のためのプロトタイプ・ネットワーク」を読む
リレーション・ネットワーク

リレーション・ネットワーク(RN)は、マッチング・ネットワークやプロトタイプ・ネットワークと同じ一般的な原理で動作します。 RNは、入力イメージとクラス・プロトタイプの埋め込みを計算することを学習する埋め込みモジュールも利用しますが、埋め込みを比較するために使用される距離関数を事前に定義するこれら2つのアルゴリズムとは異なり、RNには、目前の特定の分類問題に最適な非線形距離関数を学習する関係モジュールが追加されています

論文「比較のための学習:Few-shot学習のためのリレーション・ネットワーク」を読む
最適化ベースのメタ学習

深層学習では従来、バックプロパゲーションと勾配降下法によるモデル・パラメーターの反復更新が何度も必要であり、そのためにはトレーニング・バッチを作成するために膨大な量のラベル付きサンプルが必要になります。 Few-shot学習のためにニューラル・ネットワークを最初から効率的にトレーニングするには、わずか数回の更新ステップでモデルの重みを最適化する方法が必要です。

最適化ベースのFSL手法

最適化ベースのメタ学習アプローチは、勾配ベースのメタ学習(GMBL)とも呼ばれ、関連するタスクに対して効率的にファイン・チューニングできるニューラル・ネットワークの初期モデルパラメーターまたはハイパーパラメーターを学習することを目的としています。 勾配降下のプロセスを最適化することで、つまり最適化のプロセスそのものをメタ最適化することで目的を達成します。

モデルに依存しないメタ学習(MAML)

MAMLは、最適化ベースのアプローチの中で最も有名なものの1つであり、その中心となる方法論から派生した多くのアプローチの基盤として機能してきました。 名前が示すように、モデルに依存しないメタ学習は特定のタスクやAI モデル・アーキテクチャーに焦点を当てておらず、勾配降下法で学習するあらゆるモデルで使用できます。

MAMLでは、さまざまなFSLトレーニング・タスクpT)のセットに対して、2つの異なるレベルのパラメーター更新が必要です。各トレーニング・エピソードでは、新しいタスクTipT)からランダムにサンプリングされます。サイズαKステップで実行される勾配降下法は、各トレーニング タスク後にタスク固有のモデル・パラメーター(θ'i)のベクトルを最適化するために使用されます。 複数のトレーニング・エピソードにわたって、タスク固有のパラメーターθ'iにサイズβのメタ・ステップで勾配降下法を適用することにより、一連のメタパラメーター( θ)が最適化されます。言い換えると、通常の勾配降下法では特定のタスクに対してモデルのパラメーターを最適化するために微分計算を行うのに対し、MAMLは微分の導関数(つまり「2次微分」)を計算してモデルの初期パラメータを最適化し、その後のタスク固有の最適化に備えます。

元の論文によれば、その目的は「パラメーターの小さな変化がpT)から導かれるタスクの損失関数に大きな改善をもたらすような、タスクの変化に敏感なモデル・パラメーターを見つけること」です。 これにより、転移学習と同様の利点が得られると同時に、事前トレーニングのために大量のラベル付きデータを収集することが不要になります。

MAMLへの適応案には、次のものが含まれます。

  • 一次近似系MAML(FOMAML):MAMLの二次導関数への依存は計算コストが高く、大量のメモリーを必要とします。 FOMAMLは、一次導関数のみを使用したメタ最適化を可能にする一連の仮定によってプロセスを簡素化します。

  • Reptile : Reptileは、MAMLの洗練さとFOMAMLの単純さの中間に位置しています。一次導関数を使用しますが、パラメーターの更新方法について独自のルールを適用します。4

  • ステップ・サイズの最適化:Meta-SGD5やAlpha MAML6などのバリアントでは、αβのステップ・サイズと方向を最適化する機能が追加されています。 同様に、MAML++7では、安定性と計算効率を向上させるために多くの変更が導入されています。

論文「深層ネットワークの高速適応のためのモデル非依存メタ学習」を読む
LTSM Meta Learner

メタ学習アプローチでは、RNNベースの長短期記憶(LSTM)ネットワークを利用してMeta Learnerモデルをトレーニングし、各トレーニング・タスクからの短期知識と各タスクに共通する長期知識の両方を把握できます。 このMeta Learnerは、ニューラル・ネットワーク分類子のトレーニングに使用されます。

論文「Few-shot学習のためのモデルとしての最適化」を読む
潜在埋め込み最適化(LEO)

潜在埋め込み最適化は、モデル・メタパラメーター「θ」の一意のセットを明示的にインスタンス化して更新するのではなく、同じ目的を果たす変分オートエンコーダー(VAE)と同様の方法でタスク固有のモデルパラメータの生成分布を学習します。その後、その学習された低次元の埋め込み空間内で勾配の最適化を実行できます。

論文「潜在埋め込み最適化によるメタ学習」を読む
Few-shot学習のユースケース

多くの業界や研究分野は、比較的少数のサンプルから迅速かつ効果的に学習できるため、Few-shot学習手法には幅広い用途があります。

コンピューター・ビジョン

多くの有名なFSLアルゴリズムは、もともと画像分類タスク用に開発された(または画像分類タスクで実証された)ものですが、FSLはより複雑なコンピューター・ビジョンの問題にも使用できます。

オブジェクト検知は画像分類よりもはるかに複雑な問題ですが、オブジェクトは分類されるだけでなく正確に位置を特定する必要があるため、一般に画像分類が前提条件となります。 このように、分類に使用される多くのアイデアは、フューショットのオブジェクト検知に採用することができます8

同様に、フューショットのセマンティック・セグメンテーションのために多くのモデル・アーキテクチャーが提案されています。9

ロボティクス

FSLを使用すると、フューショット分類タスク10と強化学習の両方を通じて、ロボットが新しい環境や新しいタスクに迅速に適応できるようになります。11

自然言語処理

FSLは、特に転移学習を通じて、自然言語処理(NLP)で有望な結果を示しています。これは、ラベルなしデータの膨大なコーパスで事前トレーニングされた大規模言語モデル(LLM)を、テキスト分類や、特定の文脈の理解が必要になる場合がある感情分析などの特定のタスクに適応させる直感的な方法です。

医療

希少で目に見えないデータ・クラスにモデルを迅速に適応させるFSLの可能性は、特定の条件の希少性や、医療データ(MRIや心エコー検査など)に正確に注釈を付けるために必要な専門知識によりラベル付きサンプルの大量採取は法外に困難となる医療分野で特に有望です。

関連ソリューション
AIコンサルティング・サービス

AIの活用方法を新たに創造する:2万人を超えるAI専門家からなるIBMの多様なグローバル・チームは、お客様が迅速かつ自信を持ってAIと自動化を設計し、ビジネス全体に拡張できるよう支援します。独自のIBM watsonxテクノロジーとパートナーのオープン・エコシステムを連携して、倫理と信頼に基づいて、あらゆるクラウド環境にAIモデルを提供します。

IBMのAIコンサルティング・サービスはこちら
IBM watsonx Assistant

対話型AIを使用して、あらゆるチャネルや顧客との接点で一貫性のある的確なカスタマー・ケアを実現します。

IBM watsonx Assistantの研究

IBM watsonx.ai

基盤モデル、生成AI、機械学習のトレーニング、検証、チューニング、デプロイが容易になり、少量のデータを使用して、短時間でAIアプリケーションを開発できます。

watsonx.aiの詳細はこちら
Zero-shot学習のリソース Few-shot学習と生成AI

生成AIの台頭と将来、そして全体像におけるFew-shot学習の位置づけについて詳しく学びましょう。

複数のセマンティクスを使用したFew-shot学習

追加のセマンティック情報を用いたFew-shot学習の最近の進歩に基づいて、複数のより豊富な意味論(カテゴリー・ラベル、属性、自然言語記述)を組み合わせることでさらなる改善が可能であることを実証します。

基盤モデルのプロンプトを記述するためのヒント

基盤モデルのためのフューショットプロンプティングやOne-shotプロンプティングに関するプロンプト・エンジニアリングのヒントの概要。

次のステップ

AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、デプロイしましょう。わずかなデータ、わずかな時間でAIアプリケーションを構築できます。

watsonx.aiの詳細はこちら デモを予約