1メタ学習とは
一般的な機械学習タスクは、トレーニングデータを通じてモデルを取得し、テストデータで検証することです。一般的に言えば、このタスクでのモデルのパフォーマンスにのみ焦点を当てます。メタ学習は別の問題を解決するために探求します。つまり、さまざまなタスクを学習することによって、学習方法を学ぶことができるでしょうか。それは学ぶことを学ぶことです。私たちが心配しているのは、特定のタスクでのモデルのパフォーマンスではなく、複数のタスクで学習するモデルの機能です。
マシンが100のタスクを学習したと想像してみてください。たとえば、画像分類、音声認識、推奨順位付けなどのタスクを機械が学習した後、テキスト分類では、以前に学習したことにより、機械がよりよく学習できます。メタ学習とは、この問題をどのように機械に学習させるかを解決することです。
一般的な機械学習タスクでは、モデルfを学習し、入力xから出力yを取得する必要があります。また、メタ学習はFを学習し、それを使用してさまざまなタスクのfを学習することです。以下に示すように
2なぜメタ学習が必要なのか
メタ学習の主な利点は、
- 学習をより効率的にします。モデルが他のタスクを学習しやすくするために、複数のタスクから学習します。
- サンプル数が比較的少ないタスクでは、精度と収束速度を向上させるために効率的な学習がより必要です。メタ学習は、いくつかのショット学習のためのより良いソリューションです
3メタ学習で学べること
メタ学習を通して、私たちは学ぶことができます
- モデルパラメータ。モデル初期化パラメーター、埋め込み、特徴式などを含みます。
- モデルアーキテクチャ。モデルのアーキテクチャは、ネットワークの複数のレイヤー、各レイヤーの設計方法など、ネットワークアーキテクチャ検索(NAS)を通じて取得できます。
- モデルのハイパーパラメーター。学習率、ドロップアウト率、オプティマイザーなど これはAutoMLのカテゴリです
- これは必ずしもネットワークモデルではないため、アルゴリズム自体。
4共通データセット
メタ学習は複数のタスクをトレーニングする必要があるため、通常、各タスクのサンプルは多くなく、データセット自体も数ショットです。一般的に使用されるデータセットは次のとおりです。
omniglot
1623文字を含む多くの異なる言語で構成され、文字ごとに20のサンプルがあります。だから、それはいくつかのショット学習と考えることができます。
miniImageNet
ImageNetの数ショットバージョン
カブ
Caltech-UCSD Birds。さまざまな鳥の写真も数枚です。
5最適化の目標と損失
メタ学習の質を評価する方法、つまり、最適化の目標は何ですか?一般的に言えば、メタ学習にはデータセットとして複数の機械学習タスクが必要です。その一部はトレーニングタスクとして使用され、他はテストタスクとして使用されます。トレーニングタスクとテストタスクの両方に、トレーニングデータとテストデータが含まれます。
最初にtask1を通じてモデルf1を学習し、損失関数l1を取得します。次に、タスク2でモデルf2を学習し、l2を取得します。類推により、すべてのタスクの損失関数の合計が得られます。これは、メタ学習の損失関数です。次のように
私たちの目標は、この損失関数L(F)を減らすことです。
6 MAML
ICML 2017
ディープネットワークの高速適応のためのモデルにとらわれないメタ学習。
6.1解決するために使用される問題
MAMLの焦点は、モデルの初期化パラメーターの学習にあります。これは、事前学習モデルの目標と同じです。事前学習モデルは、監視ありまたは自己監視ありの方法を使用して、最初に十分なデータセットでタスクAのモデルをトレーニングし、次にモデルのパラメーターを使用して、少ないデータでタスクBを初期化します。転移学習により、データ量が比較的少ないタスクもトレーニングできます。メタ学習モデルと事前学習モデルの両方がモデルパラメータの初期化に役立ちますが、2つの違いは依然として非常に大きいです
- プレトレインモデルのタスクA、一般的に言えば、データの量は十分です。そうでないと、自分でトレーニングできず、適切な初期化パラメーターを取得できません。
- プレトレインモデルの初期化パラメーターは、タスクAで良好に機能することに焦点を当てており、タスクBでは適切でない場合があります。メタ学習は、初期化パラメーターを使用して各タスクのトレーニングを継続し、効果は良好です。モデルの可能性に焦点を当てています
6.2損失と最適化の目標
MAMLロス機能は以下の通り
すべてのタスクのテストセットでの損失の合計がMAMLの損失です。この損失を最小限に抑える必要があります。これは、勾配降下法によって実現できます。
6.3イノベーション
MAMLの革新は、モデルのトレーニング時に、モデルパラメーターが単一のタスクで一度だけ更新されることです。Li Hongyi先生は主な理由は
- MAMLは、モデルに単一のタスクがあり、パラメーターが1回だけ更新され、適切な初期化パラメーターを取得できることを期待しています。
- メタ学習データセットは、通常、数ショットです。それ以外の場合、多くのタスクとトレーニングには長い時間がかかります。いくつかのショットのシナリオでは、一般的なモデルパラメーターを数回更新することはできません。
- 初期化パラメーターはモデルのトレーニング時に一度だけ更新されますが、タスクテストでは、パラメーターを複数回更新してモデルを完全にトレーニングできます。
- 通常、メタ学習には多くのタスクが含まれ、単一のタスクは1回だけ更新されるため、学習の効率を確保できます。
6.4パラメータを更新する方法
MAML更新パラメーターのプロセスは次のとおりです
- メタ学習パラメータφ0を初期化
- φ0勾配から1度減少し、更新してθmを取得します
- タスクmで一度パラメーターを更新する
- 2番目のθの方向によって、φの更新方向が決定され、φ1が取得されます。
モデルの事前学習では、φとθの更新は常に一貫しています。
7爬虫類
openAI、2018、一次メタ学習アルゴリズムについて
7.1モデルの機能
MAMLと同様に、爬虫類もモデルパラメータの初期化に焦点を当てています。したがって、損失関数は基本的に同じです。違いは、プリトレインモデルとMAMLの特性を組み合わせたものであり、モデルパラメータの更新が異なります。Reptileはまた、最初にパラメーターφ0を初期化し、次にタスクmをサンプリングし、それを(MAMLで1回ではなく)複数回更新して、適切なパラメーターθmを取得します。θmの方向を使用して、φ0をφ1に更新します。同様にφ2に更新