[ご注意] Reptile-一次メタ学習アルゴリズム

ディレクトリ

情報論文

ニコルA、アキアムJ、シュルマンJ。一階メタ学習アルゴリズムについて[J]。2018。

I.概要

本論文では、考慮元学习があることが問題タスクの分布(タスクの分散の)配布of'veから抽出プロセスに会ったことがないのでことを、このメタ学習分布モデル(またはエージェント)を訓練するから引き出されたタスクの多くを、より速く(すなわち、より良い実行する)ときに、タスクを学びます。

系列のみ分析することによって、メタ学習更新を(メタ学習更新)使用してプロセスを一階微分(一次微分)を確認するために、新たなミッションの高速初期化パラメータのチューニングのアルゴリズムを実装することができるようになります一次メタ学習をこのアルゴリズムは、いくつかのよくして、いくつかのショット分類基準の妥当性が、また、これらのアルゴリズムの実現可能性理論的に解析されます。

:一次MAML(略称-これらの一次メタ学習アルゴリズムは、MAML近似表現(二次微分を無視する)を含むFOMAMLを提案)爬虫類アルゴリズム。

二、背景

2.1ヤコビアン(ヤコビ行列)

第一階偏微分行列は、マイクロ最適な線形近似方程式および所定の点を具体特定の一方向関数、に配置されています。

  • 仮定\(F:\ mathbb {R } _ \ mathrm {N} \ RIGHTARROW \ mathbb {R} _ \ mathrm {mは} \) m次元ユークリッド空間の機能をn次元ユークリッド空間からのマッピングです。組成メートル実関数のこの機能:

\ [F = \ {ケース} F_1(X_1、\ cdots、x_nに関する)開始\\ F_2(X_1、\ cdots、x_nに関する)\\ \ cdots \\ F_M(X_1、\ cdots、x_nに関する)\\ \端{ケース} \]

  • これらの機能(存在する場合)の偏導関数は、m行のマトリックスで構成されてもよく、nは、この行列の列は、ヤコビ行列と呼ばれます。

\ [J = \ FRAC {\部分F} {\部分X_1} \ cdots \ FRAC {\部分F} {\部分x_nに関する}] = \開始{bmatrix} \ FRAC {\部分F_1} {\部分X_1} &\ cdots&\ FRAC {\部分F_1} {\部分x_nに関する} \\ \ vdots&\ ddots&\ vdots \\ \ FRAC {\部分F_M} {\部分X_1}&\ cdots&\ FRAC {\部分F_M } {\部分x_nに関する} \端{bmatrix} \]

2.2テイラー式

\ [\ {アレイ} {* {20} {1} {= F {\左を開始\ {} {アレイ} {* {20} {1}}、{F {\左({X} \右)を始めます({\ mathop {{X}} \ nolimits _ {{0}}} \右)} + {F \プライム} {\左({\ mathop {{X}} \ nolimits _ {{0}}} \右) } {\左({X- \ mathop {{X}} \ nolimits _ {{0}}} \右)} + \ FRAC {{F '' {\左({\ mathop {{X}} \ nolimits_ { {0}}} \右)}}}、{{2]}} \ mathop {{\左({X- \ mathop {{X}} \ nolimits _ {{0}}} \右)}} \ nolimits ^ {{2}} + \ cdots + \ FRAC {{\ mathop {{F}} \ nolimits ^ {{\左({N} \右)}} {\左({\ mathop {{X}} \ nolimits_ {{0}}} \右)}}}、{{N!}} \ mathop {{\左({X- \ mathop {{X}} \ nolimits _ {{0}}} \右)}} \ nolimits ^ {{N}} + \ mathop {{R}} \ nolimits _ {{N}} {\左({X} \右)}} \\ \端{アレイ}}} \\ \端{アレイ} \ ]

2.3主要なオーダー(注文をリードします)

テイラー式に従って無限級数(または多項式)に解析式は、研究ドメインによれば、寄与の大きさの各拡張用語は全て同じではない、それらの寄与による発現の正確な値を解決するために異なるカテゴリでこれらの項目は、順序、リードタイムと順位をリードし、リードする順序と呼ばれます...

2.4伝達と誘導

出典:ウィキペディア(https://en.wikipedia.org/wiki/Transduction_(machine_learning) )

  • 形質導入(トランスダクション):特定の場合に観察される特定(訓練)から(テスト)事例ベース推論。
  • インダクション(誘導):観察されたトレーニング例から推論の一般的なルールには、その後、テストケースに適用されます。
  • 例:

    ポイントA、BまたはCと表記されているそのうちのいくつかの点の集合と、ほとんどのではなく、でマークされたポイントを考えると?表現。訓練の目的は、非標識のポイントにラベルを付け、すべての「最高」を予測することです。

    • 誘導アイデアは、訓練アルゴリズムを学習した後、すべてのマークされていないポイントのラベルを予測することができ監督マークポイントを使用することです。しかし、そのことについては、アルゴリズムは唯一の5つのマーカーを持っています教師あり学習、確かにモデルのキャプチャにデータ構造を確立することは非常に困難になります。例えば、最近傍アルゴリズムならば、それはマーカーが同じクラスタに属するポイント「B」の中間点付近で見ることができることは明らかであるにも関わらず、また、「A」または「C」としてマークすることができます。

    • 形質導入マーキングタスクは、すべての点を考慮することができたときだけでなく、マーカー。この場合、アルゴリズムは、元のクラスタが属するに従って標識されていないマーカーを形質導入します。彼らは非常に近いクラスタにあるので、したがって、中間点は、「B」と表示される可能性があります。
      • 導入の利点の一つは、それが自然な非標識ポイントの使用しているので、それは、より良い予測することは少ないマーカーを使用することができるということであるパーティション(ブレーク)
      • 一つの欠点は、それがビルド予測モデルを形質導入していないということです。以前は未知の回収場所に追加した場合は、ラベルを予測するために、すべてのポイントのための変換アルゴリズムを繰り返す必要があります。データは、データの緩やかな流れの中で利用可能である場合には、計算が高価である可能性があります。また、これはいくつかの古いポイントにつながる可能性が変化(アプリケーションに応じて、良いか悪いかでもよい)を予測します。一方、教師付き学習アルゴリズムがあり、すぐに新しいポイントをマークすることができ、かつコストが少ない計算します。

第三に、導入

3.1アルゴリズムの動機
  • 新しいヒューマンタスクの間に、人間の脳とコードするDNAの通常多数先験的な知識をこれのおかげで、人間が持って迅速な学習この能力を得るために数学の能力として解釈できるベイズ推論(ベイズ推定)学習の人間レベルのスピードを達成するためのアルゴリズムの開発が主要なプロセスを、 。しかし、実際に実行可能な計算に深いニューラルネットワークを使用して開発された学習アルゴリズムはベイズマシン挑戦されています。
  • これとは対照的に、メタ学習アルゴリズムをベイズ推論プロセスをシミュレートしようとしませんでしたが、しようとして直接最適化高速アルゴリズムを学習タスクデータセットを使用し、「プロキシ」としてこのアルゴリズムは迅速に適応し、新しいタスクを学ぶために。メタ学習方法の2つの一般的なタイプ:
    • モデルに基づいて:、サイクリングネットワークモデルの重みとしてコード化された学習アルゴリズムので、パラメータがトレーニング過程におけるメタ学習モデルを更新していること。
    • ベースの初期化:
      • トレーニング事前:新しいタスクにテストするとき(ImageNet)は、これらのパラメータをデータ量のネットワーク初期化パラメータを学習した後、微調整。この方法はまた、いくつかの必要があるかもしれない優れた性能を達成するために、得られたパラメータ調整が容易に保証するものではありません特別なトリック(アドホックトリック)
      • MAML:勾配に基づいて敏感な学習アルゴリズムを得るために、最適化プロセスで更新区別するための初期化パラメータ。しかし、このアルゴリズムは、2階微分計算を使用して計算のオーバーヘッドを増加させました。
      • FOMAML:としてMAMLは、計算のオーバーヘッドを節約し、二階微分項を無視して、変異体は、いくつかの勾配情報の損失。
  • 問題のいくつかの使用が発生する可能性のある高次の勾配技術の複雑さに依存するために、本論文では、情報のはしごに基づいてメタ学習アルゴリズムについて説明します。
3.2この記事への寄与
  • 彼は以前に比べて認知FOMAML容易に達成することを指摘しました。
  • 爬虫類は、アルゴリズムを提案しました。このアルゴリズムと共同訓練(トレーニングによる合同訓練は、訓練ミッションのシリーズの予想損失を最小限にするために)非常に類似しており、密接にFOMAML関連しますが、FOMAMLの異なると、爬虫類は、各タスクのために訓練する必要はありません-テスト(訓練-testing)除算
  • 理論解析のFOMAMLや爬虫類、両方が一般化の任務の範囲内であることを示しているが最適化されています。
  • ミニImageNet経験的データセットとOmniglot評価に基づいて、我々はベストプラクティスを実装するために前方にいくつかのアイデアを置きます。

第四に、達成するために

4.1 FOMAML簡素化の実装
  • 製剤MAML最適化プロセスを示している:
    \ [\分_ {\ファイ} \ mathbb {E} _ {\ mathcal {T}} [L _ {\ mathcal {T}、B}(U-_ {\ mathcal {T}、A} (\ PHI))] \]

    与えられたタスクの\(\ mathcal {T} \) 訓練サンプルを使用して、内側ループ\(A \) 最適化され、次いで試験サンプル\(B \)算出損失、外部リサイクル損失初期化パラメータ要件勾配は新しいタスクの方向を最適化するためのパラメータを導出することができます。

    \ [G_ {MAML} = \ FRAC {\部分L _ {\ mathcal {T}、B}(U _ {\ mathcal {T}、A}(\ PHI))} {\部分\ PHI} = L ^ {\プライム} _ {\ mathcal {T}、B}(\チルダ{\ PHI})U ^ {\プライム} _ {\ mathcal {T}、A}(\ PHI)、\ qquad \クワッド\チルダ{\ PHI} = U _ {\ mathcal {T}、A}(\ PHI))\]

    前記\(U ^ {\プライム} _ {\ {T}、A mathcal}(\ PHI)\) 約として考えることができる\(U _ {\ mathcal { T}、A}(\ PHI)\) YA一方、ヤコビ行列、\(U _ {\ mathcal { T}、}(\ PHI)は\) 、勾配ベクトルの系列を蓄積する初期パラメータベクトルとみなすことができる(U-_ {\ mathcal {T}、} \ (\ファイ)= \ + G_1 G_2ファイ+ + \ G_k DOTS + \)

  • FOMAMLの簡素化:

    定数と勾配ベクトルは、ヤコビ行列は、に変換することができる同一の動作(アイデンティティ)、使用勾配式アウターループ最適化プロセスを簡略化することができます。

    \ [G_ {FOMAML} = L ^ {\プライム} _ {\ mathcal {T}、B}(\チルダ{\ PHI})\]

    次のように具体的なプロセスは、次のとおりです。

    1. サンプリングタスク\(\ mathcal {T} \)
    2. 初期化パラメータ、与えるために更新操作(\ \ {チルダが\ファイU-_である} = {\ mathcal} {T、A}(\ファイ))\)
    3. 使用(\チルダ{\ PHI} \ \) の計算\(\ファイ\)勾配、精製して\(G_ {FOMAML} = L ^ {\プライム} _ {\ mathcal {T}、Bを}(\チルダを{ \ファイ})\)
    4. \(G_ {FOMAMLは} \)外部ループ最適化に適用されます。
4.2爬虫類達成
  • アルゴリズムの説明

  • 更新アルゴリズムのモデルパラメータの最後のステップのバッチ次のようにバージョンは、書くことができる:
    \ [\ピー\左矢印\ファイ+ \イプシロン\ FRACは、{1} {N-} \ sum_ {I = 1} ^ {N-}(\チルダであります{\ phi_i} - \ PHI) \]

    前記\(\チルダは{\ phi_i} = U- ^ {K} _ {\ mathcal {T} _i} \ \左{\ピー\右\} \)、i番目のタスクで更新動作パラメータを表します。

  • 損失の予想に実行されるアルゴリズムの共同訓練は非常に似ています。

  • k = 1のとき、アルゴリズムは、予想される損失に対応する確率的勾配降下法(SGD)
    \ [\開始{ALIGN} G_ {爬虫類、K = 1}&= \ mathbb {E} _ {\ mathcal {T}} \ mathrm {[\ PHI-U _ {\ mathcal {T}}(\ PHI)] / \アルファ} \\&= \ mathbb {E} _ {\ mathcal {T}} \ mathrm {[\ナブラ_ {\ PHI} L _ {\ mathcal {T}}(\ PHI)]} \端{ALIGN} \]

  • K> 1は、更新処理を伴う場合\(L _ {\ mathcal { T}} \)、 二次またはさらに高次の微分項。

4.3理論的解析
  • 更新プロセスをリードする順序(順序をリードする)拡大

    直観は以下のとおりです。

    • テイラーの使用は爬虫類MAMLの両方が同じ持っていることがわかっ更新プロセスで近似リードエントリ(大手次項を) -リードするために(第1項は)予想損失を最小限に抑える役割を果たしている、NLO項( 2番目の項目)と、その後のエントリ最大化タスク内の一般化

    • バッチ勾配更新が劇的に別のバッチの性能を向上されるため、異なるminibatch、間で同じタスク勾配の内積を最大化します。

    • 式の定義(\(I \で[1、K] \)異なるBATCHを参照)
      {ALIGN =左}&G_i = L ^ {\プライム} _i(\ phi_ {I}は)\クワッド(SGDでの開始\ [\勾配中に得られた)\\&\ phi_ {I + 1} = \ phi_i- \アルファg_i \クワッド( パラメータ更新シーケンス)\\&\バー{g_i} = L ^ {\プライム} _i(\ phi_1) \クワッド(勾配を開始)\\&\バー{H_I} = L ^ {\プライム\プライム} _i(\ phi_1)\カッド( ヘッセ行列を開始する、すなわち、二次勾配)\端{ALIGN} \]

    • テイラー展開式に従って、過程で得られた勾配SGD

    • MAML近似勾配(\(U_i \)は最初表す\(I \)パラメータminibatchのベクトルに更新動作)

    • 受注拡大をリードします

    • 当k=2时,三者的一般表示形式为:
      \[ \begin{align} &g_{MAML}=\bar{g_2}-\alpha\bar{H_2}\bar{g_1}-\alpha\bar{H_1}\bar{g_2}+O(\alpha^2)\\ &g_{MAML}=g_2=\bar{g_2}-\alpha\bar{H_2}\bar{g_1}+O(\alpha^2)\\ &g_{Reptile}=g_1+g_2=\bar{g_1}+\bar{g_2}-\alpha\bar{H_2}\bar{g_1}+O(\alpha^2)\\ \end{align} \]

      其中:

      • 类似于\(\bar{g_1}\quad \bar{g_2}\)的项就是领头项,用于最小化联合训练损失;
      • 类似于\(\bar{H_2}\bar{g_1}\)的项就是次领头项,作用是最大化不同批次数据上得到的梯度的内积。
    • 在进行minibatch采样,取三种梯度的期望时,上述两种领头项分别用AvgGradAvgGradInner表示(k=2):

    • 三种算法梯度的期望表示形式可以化为:

    • 扩展到k>2的情况有:

      • 可以看到三者AvgGradInner与AvgGrad之间的系数比的关系是:MAML > FOMAML > Retile
      • 这个比例与步长\(\alpha\),迭代次数\(k\) 正相关。
  • 找到一个接近所有解流形(Solution Manifolds)的点

    直觉:

    • Reptile收敛于一个解,这个解在欧式空间上与每个任务的最优解的流形接近。

    • \(\phi\) 表示网络初始化,\(\mathcal{W_{T}}\) 表示任务\(\mathcal{T}\)上的最优参数集。优化过程的最终目标是找到一个\(\phi\)使得其与所有任务的\(\mathcal{W_{T}}\) 之间的距离最小。
      \[ \min_{\phi}\mathbb{E}_{\mathcal{T}}[\frac{1}{2} D(\phi,\mathcal{W_T})^2] \]

    • 对参数\(\phi\)的梯度为:

    • 在Reptile中每一次迭代相当于采样一个任务然后在上面执行一侧SGD更新。

    • 实际情况下,很难直接计算出\(P_{\mathcal{W_T}}(\phi)\),即使得\(L_T\) 取得最小值的p。因此在Reptile中,用初始化参数\(\phi\)\(L_T\) 上执行k步梯度下降后得到的结果来代替最优化参数\(\mathcal{W^{\star}_{T}(\phi)}\)

五、实验

5.1 少样本分类

Few-Shot Classification(少样本分类)是少样本学习中的一类任务,在这类任务中,存在一个元数据集(Meta-Data Set),包含了许多类的数据,每类数据由若干个样本组成,这种任务的训练通常与K-Shot N-way分类任务绑定在一起,具体理解参见《关于N-Way K-Shot 分类问题的理解》。

建立与MAML一样的CNN训练模型,在Ominglot和MiniImageNet数据集上进行训练与测试,实验结果如下:

从两个表格中的数据可以看出,MAML与Reptile在加入了转导(Transduction)后,在Mini-ImageNet上进行实验,Reptile的表现要更好一些,而Omniglot数据集上正好相反。

5.2 不同的内循环梯度组合比较

通过在内循环中使用四个不重合的Mini-Batch,产生梯度数据\(g_1,g_2,g_3,g_4\) ,然后将它们以不同的方式进行线性组合(等价于执行多次梯度更新)用于外部循环的更新,进而比较它们之间的性能表现,实验结果如下图:

从曲线可以看出:

  • 仅使用一个批次的数据产生的梯度的效果并不显著,因为相当于让模型用见到过的少量的数据去优化所有任务。
  • 进行了两步更新的Reptile(绿线)的效果要明显不如进行了两步更新的FOMAML(红线),因为Reptile在AvgGradInner上的权重要小于FOMAML。
  • 随着mini-batch数量的增多,所有算法的性能也在提升。通过同时利用多步的梯度更新,Reptile的表现要比仅使用最后一步梯度更新的FOMAML的表现好。
5.3 内循环中Mini-Batch 重合比较

Reptile和FOMAML在内循环过程中都是使用的SGD进行的优化,在这个优化过程中任何微小的变化都将导致最终模型性能的巨大变化,因此这部分的实验主要是探究两者对于内循环中的超数的敏感性,同时也验证了FOMAML在minibatch以错误的方式选取时会出现显著的性能下降情况。

mini-batch的选择有两种方式:

  • shared-tail(共尾):最后一个内循环的数据来自以前内循环批次的数据
  • separate-tail(分尾):最后一个内循环的数据与以前内循环批次的数据不同

采用不同的mini-batch选取方式在FOMAML上进行实验,发现随着内循环迭代次数的增多,采用分尾方式的FOMAML模型的测试准确率要高一些,因为在这种情况下,测试的数据选取方式与训练过程中的数据选取方式更为接近。

当采用不同的批次大小时,采用共尾方式选取数据的FOMAML的准确性会随着批次大小的增加而显著减小。当采用full-batch时,共尾FOMAML的表现会随着外循环步长的加大而变差。

共尾FOMAML的表现如此敏感的原因可能是最初的几次SGD更新让模型达到了局部最优,以后的梯度更新就会使参数在这个局部最优附近波动。

六、总结

Reptile有效的原因有二:

  • 通过用泰勒级数近似表示更新过程,发现SGD自动给出了与MAML计算的二阶项相同的项。这一项调整初始权重,以最大限度地增加同一任务中不同小批量梯度之间的点积,从而增大模型的泛化能力。
  • Reptile通过利用多次梯度更新,找到了一个接近所有最优解流形的点。

当执行SGD更新时,MAML形式的更新过程就已经被自动包含在其中了,通过最大化模型在不同批次数据之间的泛化能力,从而使得模型在微调(fine-tune)时能取得显著的效果。

おすすめ

転載: www.cnblogs.com/veagau/p/11816163.html