AIの基礎

フェアショットラーニングとは何か?

mm
Unite.AI を Google の優先ソースに追加

フェアショットラーニングとは、非常に少量のトレーニングデータを使用してAIモデルを開発するために使用されるアルゴリズムとテクニックの総称です。フェアショットラーニングは、AIモデルが比較的少ないトレーニングインスタンスに接した後、新しいデータを認識して分類できるようにします。フェアショットトレーニングは、通常、大量のトレーニングデータを使用して機械学習モデルをトレーニングする従来の方法とは対照的です。フェアショットラーニングは、主にコンピュータビジョンで使用されています。

フェアショットラーニングについてより深く理解するために、概念を詳しく見てみましょう。フェアショットラーニングの背後にある動機と概念を調べ、さまざまな種類のフェアショットラーニングを紹介し、フェアショットラーニングで使用されるモデルを概要的に説明します。最後に、フェアショットラーニングの応用例を紹介します。

フェアショットラーニングとは何か

「フェアショットラーニング」とは、最小限のデータで機械学習モデルをトレーニングすることを指します。通常、機械学習モデルは大量のデータでトレーニングされますが、フェアショットラーニングはいくつかの理由で重要な機械学習概念です。

フェアショットラーニングを使用する理由の1つは、機械学習モデルをトレーニングするために必要なデータ量を大幅に削減できることです。これにより、大量のデータセットをラベル付けする時間を短縮できます。さらに、フェアショットラーニングは、共通のデータセットを使用してさまざまなタスクの特徴を追加する必要性を減らします。フェアショットラーニングは、モデルをよりロバストにし、少ないデータでオブジェクトを認識できるようにすることで、より一般的なモデルを作成することができます。

フェアショットラーニングは、コンピュータビジョンの分野で最もよく使用されます。コンピュータビジョンの問題の性質上、大量のデータまたは柔軟なモデルが必要です。

サブカテゴリ

「フェアショット」ラーニングという用語は、実際には、非常に少ないトレーニング例を使用する学習の1種類です。トレーニング例が「わずか数個」あるため、フェアショットラーニングには、非常に少量のデータを使用するサブカテゴリがあります。「ワンショット」ラーニングは、モデルを1つのオブジェクトの画像を見た後に認識させるための別の種類のモデルトレーニングです。ワンショットラーニングとフェアショットラーニングで使用される一般的な戦略は同じです。「フェアショット」ラーニングという用語は、非常に少量のデータでモデルをトレーニングする状況を記述するための傘下の用語として使用される場合があります。

フェアショットラーニングへのアプローチ

フェアショットラーニングへのほとんどのアプローチは、3つのカテゴリの1つに分類できます: データレベルアプローチ、パラメータレベルアプローチ、メトリクスベースアプローチ。

データレベルアプローチ

フェアショットラーニングへのデータレベルアプローチは、概念として非常に単純です。トレーニングデータが不足している場合は、さらにトレーニングデータを取得します。データサイエンティストは、トレーニングデータを増やすために使用できるさまざまなテクニックがあります。

類似のトレーニングデータは、トレーニングするクラシファイヤーの正確なターゲットデータを裏付けることができます。たとえば、特定の犬の種類を認識するクラシファイヤーをトレーニングしている場合、特定の種類の画像が不足している場合は、犬の画像を多数含めることができます。これにより、クラシファイヤーは犬の一般的な特徴を決定することができます。

データ増強は、クラシファイヤーにさらにトレーニングデータを作成することができます。これには、既存のトレーニングデータに変換を適用することが含まれます。たとえば、クラシファイヤーが画像をさまざまな角度から見ることができるように、既存の画像を回転させることができます。GANを使用して、少量の本物のトレーニングデータから新しいトレーニング例を生成することもできます。

パラメータレベルアプローチ

メタラーニング

フェアショットラーニングへのパラメータレベルアプローチの1つは、メタラーニングというテクニックを使用することです。メタラーニングには、モデルにどの特徴が重要かを教えることが含まれます。これは、モデルのパラメータ空間を探索する方法を規定することによって実現できます。

メタラーニングには、2つの異なるモデルが使用されます: ティーチャーモデルとスタッドモデルの「ティーチャーモデル」と「スタッドモデル」です。ティーチャーモデルはパラメータ空間をカプセル化する方法を学習しますが、スタッドアルゴリズムは実際のアイテムを認識して分類する方法を学習します。言い換えれば、ティーチャーモデルはモデルを最適化する方法を学習しますが、スタッドモデルは分類する方法を学習します。ティーチャーモデルの出力は、スタッドモデルをトレーニングするために使用され、スタッドモデルに、トレーニングデータが不足している場合に発生する高い次元空間をどのように移動するかを示します。したがって、メタラーニングの「メタ」です。

フェアショットラーニングモデルの主な問題の1つは、トレーニングデータに簡単に過剰適合する可能性があることです。これらのモデルは、通常、高次元空間を持つためです。モデルのパラメータ空間を制限することでこの問題を解決できます。これは、正則化テクニックを適用し、適切な損失関数を選択することで実現できますが、ティーチャーアルゴリズムを使用することで、フェアショットモデルのパフォーマンスを大幅に改善できます。

フェアショットラーニングクラシファイヤーモデル(スタッドモデル)は、提供された少量のトレーニングデータに基づいて一般化を試み、ティーチャーモデルの指導によって精度を向上させることができます。この一般的なアーキテクチャは、「グラディエントベースの」メタラーナーと呼ばれます。

グラディエントベースのメタラーナーをトレーニングする完全なプロセスは次のとおりです:

  1. ベースラーナー(ティーチャーモデル)を作成します
  2. ベースラーナーモデルをサポートセットでトレーニングします
  3. ベースラーナーがクエリセットの予測を返します
  4. メタラーナー(スタッドモデル)を、分類エラーから導かれた損失でトレーニングします

メタラーニングのバリエーション

モデルアグノスティックメタラーニングは、上で説明した基本的なグラディエントベースのメタラーニング技術を強化する方法です。

上で説明したように、グラディエントベースのメタラーナーは、ティーチャーモデルの先行の経験を使用して自己を微調整し、少量のトレーニングデータに対してより正確な予測を提供します。ただし、ランダムに初期化されたパラメータから始めることは、モデルが依然としてデータに過剰適合する可能性があることを意味します。過剰適合を避けるために、「モデルアグノスティック」メタラーナーは、ティーチャーモデルの影響を制限することによって作成されます。ティーチャーモデルが行った予測の損失でスタッドモデルを直接トレーニングするのではなく、スタッドモデルは自身の予測の損失でトレーニングされます。

モデルアグノスティックメタラーナーをトレーニングするたびに:

  1. 現在のメタラーナーモデルのコピーを作成します
  2. コピーを、ベースモデルのもとでトレーニングします
  3. コピーがトレーニングデータの予測を返します
  4. 計算された損失を使用してメタラーナーを更新します

メトリクスラーニング

メトリクスラーニングアプローチは、基本的な距離メトリクスを使用して、データセット内のサンプル間の比較を行うことを含みます。メトリクスラーニングアルゴリズムは、コサイン距離を使用して、サポートサンプルとクエリサンプルを比較して、類似性に基づいてクエリサンプルを分類します。画像クラシファイアの場合、表面的な特徴の類似性に基づいて画像を分類することを意味します。サポートセットの画像が選択されて埋め込みベクトルに変換され、クエリセットも同様に変換され、2つのベクトルの値が比較され、クラシファイアは、クエリセットに最も近い値を持つクラスを選択します。

より高度なメトリクスベースのソリューションは、「プロトタイプネットワーク」です。プロトタイプネットワークは、クラスタリングモデルとメトリクスベースの分類を組み合わせて、データポイントをクラスタリングし、サポートセットとクエリセットのクラスのセントロイドを計算します。K-ミーンズクラスタリングと同様に、サポートセットとクエリセットのクラスのセントロイドが計算され、ユークリッド距離メトリクスが適用されて、クエリセットとサポートセットのセントロイドの差が決定され、クエリセットは、サポートセットのクラスに最も近いクラスに割り当てられます。

ほとんどの他のフェアショットラーニングアプローチは、上で説明した基本的なテクニックのバリエーションです。

フェアショットラーニングの応用

フェアショットラーニングは、コンピュータビジョン、自然言語処理、ロボティクス、ヘルスケア、信号処理などのデータサイエンスのさまざまな分野で応用されています。

コンピュータビジョンの分野でのフェアショットラーニングの応用例には、効率的な文字認識、画像分類、オブジェクト認識、オブジェクト追跡、動き予測、アクションの位置特定が含まれます。自然言語処理の分野でのフェアショットラーニングの応用例には、翻訳、文の完了、ユーザーの意図の分類、感情分析、多ラベルテキスト分類が含まれます。フェアショットラーニングは、ロボティクス分野で、ロボットがわずかなデモからタスクを学習するのを助けるために使用できます。ロボットは、行動を実行する方法、移動する方法、世界を周遊する方法を学習できます。フェアショット薬剤発見は、AIヘルスケアの新しい分野です。最後に、フェアショットラーニングは、音データを分析する信号処理の分野で応用されており、AIシステムがわずかなユーザーサンプルから音声を複製したり、ユーザー間で音声を変換したりすることができます。

ブログ作家およびプログラマーで、 Machine Learning Deep Learning のトピックを専門としています。Danielは、AIの力を社会のために利用する手助けを他者に与えることを希望しています。