blog

勾配中心化:シンプルな勾配中心化、1行のコードで学習を加速し、汎化能力を向上させる|ECCV 2020 Oral

オプティマイザは、SGDやSGDMのような大規模データセット上のディープニューラルネットワークの学習にとって非常に重要であり、オプティマイザには2つの目的があります。現在、SGDのようなオプティマイザ...

Nov 17, 2020 · 16 min. read
シェア

論文:勾配集中化:ディープニューラルネットワークのための新しい最適化手法

Introduction

オプティマイザは、SGDやSGDMのような大規模データセット上のディープニューラルネットワークの学習にとって重要であり、オプティマイザの目標は、学習プロセスを高速化することとモデルの汎化性を向上させることの2つです。現在、SGDのようなオプティマイザーの性能を向上させる方法として、学習における勾配消失や勾配爆発問題の克服、効果的なトリックエンタイメントの初期化、活性化関数、勾配トリミング、適応学習率などが研究されています。また、固有マップ正規化法BNや重み正規化法WNのように、統計的な観点から学習をより安定させるために重みと固有値を正規化する研究もあります。

重みや固有値での正規化アプローチとは対照的に、本論文では、ネットワークの学習を加速し、汎化能力を向上させるだけでなく、モデルの微調整との互換性を高めることができる、重みの勾配に作用する高性能ネットワーク最適化アルゴリズム勾配中心性(GC)を提案します。本論文の主な貢献は以下の通りです:

  • 新しい一般的なネットワーク最適化手法である勾配中心性(gradient centrality)を提案し、学習プロセスを平滑化、高速化するだけでなく、モデルの汎化能力を向上させます。
  • GC の理論的特性を分析し、GC が損失関数を制約し、重み空間と固有値空間を標準化し、 モデルの汎化能力を向上させることができることを示します。さらに、制約された損失関数は、より良いリプシッツ性(摂動に対する能力、関数の傾きがリプシッツ定数より小さい定数であること)を持ち、学習をより安定かつ効率的にします。

Gradient Centralization

Motivation

BNとWSはそれぞれ特徴量と重みを操作するためにZスコア正規化を使用しており、これは実際に重みの勾配を間接的に拘束し、最適化中の損失関数のリプシッツ特性を改善します。これにヒントを得て、本論文では勾配を直接操作し、まずZスコア正規化を試みましたが、実験では学習の安定性が向上しないことがわかりました。その後、勾配ベクトルの平均を計算し、勾配ベクトルをゼロ平均化することを試み、効果的に損失関数のリプシッツ特性を改善し、ネットワーク学習をより安定で一般化し、勾配中心のアルゴリズムを得ることができることを実験で発見しました。

Notations

WRM×NWWfcRCin×CoutRM×NWRM×Nを用いて、全結合層の重み行列WfcRCin×CoutRCin×CoutWfcRCin×Coutと畳み込み層の重みテンソルWconvR(Cink1k2)×CoutR×CoutWconvを一様に表す基本記法を定義します。R×Cout,wiRMRMwiRMは重み行列WWiind列,LLは目的関数, ∇WL∇WL, ∇wiL∇wiLはWWとwiL∇wiに関するLLの勾配、WWはWLWLと同じサイズ。XXを入力特徴マップ、WTXWTXを出力特徴マップ、eM11をMMビットの単位ベクトル、IRM×MRM×MIRM×Mを単位行列と定義します。

Formulation of GC

畳み込み層または完全連結層の重みベクトルwiwiに対して逆伝播によってその勾配 ∇wiL∇wiLを求め、その平均値μwiL=1Mwi,jLjLμ∇wiを図 bL=M1∑j=1M∇wi,jLとなり、GC演算ΦΦは次のように定義されます:

式1を行列形式に変換することも可能です:

PPは単位行列と単位ベクトル形成行列で構成され、それぞれ元の値を保存し、平均を求める役割を果たします。

Embedding of GC to SGDM/Adam

LGC は、ゼロ平均勾配ΦGC(wL)ΦGCを使用して重みを直接更新するために、SGDM や Adam のような現在の主流のネットワーク最適化アルゴリズムに単純に組み込むことができます。

アルゴリズム 1 とアルゴリズム 2 は、それぞれ、SGDM と Adam に GC を組み込んだもので、元の最適化アルゴリズムに本質的な変更はありません。

Properties of GC

以下は、GC がモデルの汎化を向上させ、学習を加速させる理由の理論的分析です。

Improving Generalization Performance

GCは、主に重み空間正則化と固有値空間正則化のおかげで、モデルの汎化を改善するという重要な利点があります。

  • Weight space regularization

まず、外挿によって得られるPPの物理的意味を紹介します:

すなわち、PPは空間ベクトルの法線ベクトルeeを持つ超平面に∇WLを写像する写像行列と見なすことができ、P∇WLPWLは写像勾配です。

WSGD最適化を例にとると、重み勾配のマッピングは、図2に示すように、重み空間を超平面またはリーマン多様体に拘束することができます。WLeT=eT=0からeTwt+=eTwt=⋯=eTweTwt+1=eTwt=⋯=eTw0となり,目的関数は 実際には次のようになります.

これは重み空間wwにおける制約付き最適化問題です。wwの解空間を正則化することで、オーバーフィッティングの可能性を減らし、特に学習サンプルが少ない場合にネットワークの汎化能力を向上させることができます。

WSは重みにeTw=eTw=0の制約を課し、初期重みが制約を満たさない場合、重みは制約を満たすように直接修正されます。X微調整学習を仮定すると、WS は事前学習モデルの利点を完全に捨て去りますが、GC は任意の初期重みeTw=0=eT=0に適応することができます。

  • Output feature space regularization

e=1M1SGD最適化法を例にとると、重みの更新はwt+=wt-αtP∇wtLwt+1=wt-αtP∇wtLとなり、wt=w0Pα(i)w(i)L∇wIRM×MLwt=w0-任意の入力特徴ベクトルxxに対して、以下の定理が成り立ちます:

ResNet50の異なる初期重みを視覚化すると、重みはすべて非常に小さく、GCを使用して訓練した場合、出力特徴が入力特徴の変化に対して過度に敏感ではないことがわかります。この特性は、出力特徴空間を正則化し、ネットワーク学習の汎化を改善します。

Accelerating Training Process

BN も WS も、損失関数がリプシッツ特性を満たすように間接的に重み勾配を制約し、∣∇wL∣∣wL∣∣2∣∣L∣∣wL∣2ともに上界を持つことは前述の通り。GC は勾配を直接境界とし、BN や WS と同様の性質を持ち、元の損失関数を比較して以下の定理を満たします:

GCのもう1つの利点は、勾配が爆発するのを防ぎ、学習をより安定させることであり、勾配トリミングと同様の働きをします。過剰な勾配は損失の激しい振動を引き起こし、収束を困難にしますが、勾配トリミングは大きな勾配を抑制し、学習をより安定させ、より速くします。

LL2 ノルムと勾配の最大値が可視化され、GC使用後の値はすべて元の関数より小さくなっていることがわかります。これは定理4.2とも一致し、GCはよりスムーズで高速な学習プロセスを可能にします。

Experiment

BNとWSを併用した場合の性能比較。

Mini-ImageNetでの比較実験。

CIFAR100の比較実験。

ImageNetでの比較実験。

きめ細かいデータセットでの性能比較。

検出タスクとセグメンテーションタスクの性能比較。

結論

勾配中心のGCは、重みの勾配をゼロにすることで、ネットワークの学習をより安定させることができ、ネットワークの汎化能力を向上させることができ、アルゴリズムは単純な考えで、論文の理論的分析は非常に適切で、GCの役割の原理を非常によく説明することができます。





Read next

ルーティングとVueRouterの分析

ルーティングとはもっと抽象的な概念で、一言で言うと「リクエストの分散」です。 パスを取得することで、パスの変更をリッスンすることで、ページジャンプを実現することができます。...

Nov 17, 2020 · 2 min read