バッチ正規化

人工ニューラルネットワークにおいてバッチ正規化(バッチノルムとも呼ばれる)は、各層への入力を調整し、ゼロを中心に再調整し、標準サイズに再スケーリングすることで、学習の高速と安定性を高める正規化手法です。これは、2015年にセルゲイ・ヨッフェとクリスチャン・セゲディによって導入されました。[1]

専門家の間では、バッチ正規化がなぜこれほど効果的なのか、いまだに議論が続いています。当初は、内部共変量シフト、つまりパラメータの初期化と各層の入力分布の変化がネットワークの学習率に影響を及ぼす問題に対処するためのものと考えられていました。[1]しかし、最近の研究では、このシフトを修正するのではなく、目的関数(ネットワークが改善するために従う数学的なガイド)を平滑化することでパフォーマンスを向上させることが示唆されています。[2]非常に深いネットワークでは、バッチ正規化によって当初は深刻な勾配爆発(ネットワークの更新が制御不能に大きくなる)が発生する可能性がありますが、これは残差ネットワークにおけるスキップ接続と呼ばれるショートカットによって管理されます。[3]別の理論では、バッチ正規化はデータのサイズとパスを個別に処理することでデータを調整し、トレーニングを高速化するとされています。[4]

内部共変量シフト

ニューラルネットワークの各層は、特定の分布に従う入力を持ちます。この分布は、ネットワーク設定(パラメータ初期化)のランダムな初期値と入力データの自然な変動という2つの主な要因によって学習中に変化します。ネットワークの内部層への入力に影響を与えるこの変化パターンは、内部共変量シフトと呼ばれます。厳密な定義は完全には一致していませんが、実験から、学習中にこれらの入力の平均と分散が変化することが示されています。

バッチ正規化は、内部共変量シフトに対処するために最初に開発されました。[1]学習中、先行層のパラメータが調整されると、現在の層への入力分布もそれに応じて変化し、現在の層は常に新しい分布に合わせて再調整する必要があります。この問題は特に深層ネットワークにおいて深刻です。浅い隠れ層での小さな変化がネットワーク内を伝播するにつれて増幅され、結果としてより深い隠れ層に大きなシフトが生じるからです。バッチ正規化は、これらの不要なシフトを削減することで学習を高速化し、より信頼性の高いモデルを生成するために提案されました。

バッチ正規化は、内部共変量シフトへの対処に加え、いくつかの追加的な利点も提供します。ネットワークは、更新が過小または過大になる勾配消失や勾配爆発といった問題を引き起こすことなく、より高い学習率(ネットワークの学習速度を制御する設定)を使用できます。また、正規化効果もあるようで、ネットワークの新しいデータへの汎化能力が向上し、ドロップアウトの必要性が減少します。ドロップアウトは、過学習(モデルがトレーニングデータを過度に学習し、新しいデータで失敗する状態)を防ぐために使用される手法です。さらに、バッチ正規化を使用するネットワークは、初期設定や学習率の選択にあまり影響を受けないため、より堅牢で適応性に優れています。

手順

変換

ニューラルネットワークでは、バッチ正規化は、各層の入力の平均と分散を固定する正規化ステップによって実現されます。理想的には、正規化は学習セット全体にわたって行われますが、このステップを確率的最適化手法と併用する場合、グローバル情報を利用することは現実的ではありません。そのため、正規化は学習プロセスにおける各ミニバッチに限定されます。

訓練セット全体のサイズmのミニバッチをBで表すとしよう。Bの経験平均分散は次のように表される

そして

d次元の入力を持つネットワークの層の場合、その入力の各次元は個別に正規化(つまり、再中心化および再スケール化)されます。

ここで、および ;および は、それぞれ次元ごとの平均と標準偏差です。

は数値安定性のために分母に加えられており、任意に小さい正の定数である。 を考慮しない場合、結果として得られる正規化された活性化は平均0、分散1となる。ネットワークの表現力を回復するために、以下の変換ステップが実行される。

ここで、パラメータおよびは、最適化プロセスで後で学習されます。

正式には、バッチ正規化を実装する操作は、バッチ正規化変換と呼ばれる変換です。BN変換の出力は他のネットワーク層に渡されますが、正規化された出力は 現在の層の内部に残ります。

バックプロパゲーション

説明したBN変換は微分可能な演算であり、 異なるパラメータに対する損失 lの勾配は連鎖律を使用して直接計算できます。

具体的には、活性化関数の選択に依存し、他のパラメータに対する勾配はの関数として表すことができます

、、、、、

そして

推論

学習段階では、効率的で信頼性の高い学習を保証するために、正規化手順はミニバッチに依存します。しかし、推論段階では、この依存性はもはや役に立ちません。代わりに、この段階の正規化手順は母集団統計量を用いて計算されるため、出力は入力に決定論的に依存します。母集団平均と分散 は次のように計算されます。

、 そして

したがって、母集団統計はミニバッチの完全な表現となります。

推論ステップにおけるBN変換は、

ここで、 は の代わりに次の層に渡されます。この変換ではパラメータが固定されているため、バッチ正規化手順は本質的に活性化関数に線形変換を適用することになります。

理論

バッチ正規化は、その優れた経験的パフォーマンスのために人気が高まっていますが、この手法の動作メカニズムはまだ十分に解明されていません。元の論文[1]では、バッチ正規化は内部共変量シフトを減らすことによって機能すると説明されていましたが、これは最近の研究によって異論が出ています。ある実験[5]では、 VGG -16ネットワーク[6]を 3 つの異なるトレーニング レジーム (標準 (バッチ正規化なし)、バッチ正規化、トレーニング中に各レイヤーにノイズを追加したバッチ正規化) でトレーニングしました。3 番目のモデルでは、ノイズの平均がゼロではなく分散が非単位であるため、共変量シフトが明示的に導入されます。それにもかかわらず、2 番目のモデルと同等の精度を示し、どちらも最初のモデルよりも優れたパフォーマンスを示しました。これは、共変量シフトがバッチ正規化によってパフォーマンスが向上する理由ではないことを示唆しています。

バッチ正規化を使用するとバッチ内の項目はiidではなくなり、品質の低い勾配推定のためにトレーニングが困難になる可能性があります。[7]

滑らかさ

もう一つの説明[5]は、バッチ正規化による改善は、より小さなリプシッツ定数によって形式化されるように、より滑らかなパラメータ空間とより滑らかな勾配を生成することによるものであるというものである。

2つの同一のネットワークを考えます。一方にはバッチ正規化層があり、もう一方にはありません。これら2つのネットワークの挙動を比較します。損失関数をそれぞれ、およびとします。両方のネットワークへの入力を、出力を とします。ここでは層の重みです。2つ目のネットワークでは、はさらにバッチ正規化層を通過します。正規化された活性化を とします。これは平均が0で分散が1です。変換された活性化を としと は定数とします。最後に、ミニバッチの標準偏差を とします

まず、バッチ正規化ネットワークの勾配の大きさは有界であることが示され、その有界は次のように表される。

勾配の大きさは損失のリプシッツ性を表すため、この関係はバッチ正規化ネットワークが比較的高いリプシッツ性を達成できることを示しています。勾配が活性化と相関する場合、境界はより狭くなることに注意してください。これは一般的な現象です。分散が大きい場合が多いため、 のスケーリングも重要です。

第二に、勾配方向の活性化に関する損失ヘッセ行列の二次形式は次のように定義できる。

のスケーリングは、損失ヘッセ行列がミニバッチ分散に対して耐性があることを示している一方、右辺第2項は、ヘッセ行列と内積が非負の場合に損失ヘッセ行列がより滑らかになることを示唆している。損失が局所的に凸である場合、ヘッセ行列は半正定値となり、内積は損失の最小値に向かう方向にある場合正となる。したがって、この不等式から、バッチ正規化層によって勾配の予測精度が一般的に向上すると結論付けることができる。

次に、正規化されたアクティベーションに関する損失に関連する境界を、ネットワークの重みに関する損失の境界に変換します。

、ここで、 および

より滑らかな地形に加えて、バッチ正規化によって次の不等式によるより優れた初期化が得られる可能性があることがさらに示されています。

ここで、 と はそれぞれ 2 つのネットワークの局所最適重みです。

一部の研究者は、上記の分析はバッチ正規化の性能を完全に捉えきれていないと主張している。なぜなら、証明は最大固有値、つまりランドスケープにおける全ての点における一方向のみを対象としているからである。決定的な分析を行うには、完全な固有スペクトルを考慮する必要があると示唆されている。[8] [5]

測定

バッチ正規化層は内部共変量シフトを低減できるという仮説があるため、共変量シフトがどの程度低減されるかを定量的に測定するための実験[要出典]が設定されている。まず、内部共変量シフトの概念を数学的に定義する必要がある。具体的には、ある層のパラメータが前の層の更新に応じて行う調整を定量化するために、すべての前の層が更新される前と更新された後の損失の勾配間の相関を測定する。これは、勾配が一次学習法によるシフトを捉えることができるためである。前の層の変更によってもたらされるシフトが小さい場合、勾配間の相関は1に近くなる。

勾配間の相関は、4つのモデル、すなわち標準VGGネットワ​​ーク、バッチ正規化層を備えたVGGネットワ​​ーク[6]、フルバッチ勾配降下法で学習された25層の深層線形ネットワーク(DLN)、およびバッチ正規化層を備えたDLNネットワークについて計算された。興味深いことに、標準VGGモデルとDLNモデルはどちらも、対応するモデルと比較して勾配の相関が高く、追加のバッチ正規化層が内部共変量シフトを低減していないことが示された。

消失/爆発勾配

バッチノルムはもともと勾配消失問題や勾配爆発問題を軽減するために導入されたが、ディープバッチノルムネットワークは実際には、非線形性に何を使用しても、初期化時に勾配爆発の影響を受ける。したがって、ランダムに初期化されたディープバッチノルムネットワークの最適化ランドスケープは滑らかとはほど遠い。より正確には、ネットワークが層を持つ場合、最初の層の重みの勾配は非線形性のみに依存するいくつかのノルムを持つ。任意の固定された非線形性に対して、バッチサイズが増加するにつれて、は減少する。たとえば、ReLUの場合、バッチサイズが無限大に近づくにつれて、は減少する。実際には、これはディープバッチノルムネットワークが学習不可能であることを意味する。これは、残差ネットワークのようなスキップ接続によってのみ緩和される[9]

この表面上の勾配爆発は、前のセクションで説明した滑らかさの特性と矛盾しますが、実際には両者は整合しています。前のセクションでは、ネットワークに単一のバッチノルムを挿入した場合の効果を検証しましたが、勾配爆発は、現代のディープニューラルネットワークに典型的なバッチノルムの積み重ねに依存しています。

デカップリング

バッチ正規化が成功するもう 1 つの理由は、重みベクトルの長さと方向が分離され、より適切なトレーニングが可能になることです。

バッチ正規化を重み空間の再パラメータ化として解釈することにより、重みの長さと方向が分離され、別々に学習できることが示される。入力と重みベクトルを持つ特定のニューラルネットワークユニットについて、その出力を と表す。ここでは活性化関数であり、 と表す。 、行列のスペクトルが有界であり、 が対称正定値であると仮定する。このユニットにバッチ正規化を追加すると、以下のようになる。

定義上はそうです。

分散項は と簡略化できるの平均がゼロでを省略できると仮定すると、次の式が成り立つ。

、ここで は誘導ノルムです

したがって、 、および は長さと方向を別々に考慮すると、 と結論付けられます。この性質は、バッチ正規化を用いた問題の収束が速いことを証明するために使用できます。

線形収束

最小二乗問題

再パラメータ化の解釈により、通常の最小二乗問題にバッチ正規化を適用すると、勾配降下法において線形収束率が得られ、これは、線形以下の収束のみを伴う通常の勾配降下法よりも高速であることが証明されました。

通常の最小二乗問題を最小化する目的を次のように表す。

、ここで、 および

なので、目的は次のようになる。

ただし、分母に 0 が入らないように 0 は除外されます。

目的関数は に関して凸関数であるため、 に対する目的関数の偏微分を0 に設定することで最適値を計算できます。目的関数はさらに次のように簡略化できます。

この目的は一般化レイリー商の形式であることに注意する。

ここで、は対称行列であり、は対称正定値行列です。

一般化レイリー商の勾配降下収束率は次の式で表されることが証明されている。

ここでは最大固有値は の2番目に大きい固有値は の最小の固有値である[10]

この場合、は階数1の行列であり、収束結果はそれに応じて簡略化できます。具体的には、 から開始しステップサイズの形式の勾配降下ステップを考えると、

半空間問題の学習

半空間学習の問題とは、ニューラルネットワークの最も単純な形態であるパー​​セプトロンの学習を指す。この場合の最適化問題は、

ここで、およびは任意の損失関数です。

が無限微分可能で、導関数が有界であると仮定する。目的関数-滑らかで、解が存在し、 となる有界性を持つと仮定する。また、は多変数正規確率変数であると仮定する。ガウス分布の仮定を用いると、損失関数 の任意の選択に対して、すべての臨界点が同一直線上に存在することが示される。具体的には、 の勾配は次のように表される 。

ここで 、、、は の- 階導関数です

勾配を0と設定することで、有界臨界点は と表すことができます。ここで、はおよび に依存します。この大域的特性と長さ方向の分離を組み合わせることで、この最適化問題が線形収束することが証明できます。

まず、バッチ正規化を用いた勾配降下法のバリエーションである正規化パラメータ化勾配降下法(GDNP)を目的関数 に対して設計し、重みの方向と長さを別々に更新する。GDNPの停止基準を以下のように記す。

ステップサイズは

各ステップにおいて、 ならば、方向を次のように更新する。

次に長さを更新します。

ここで、は古典的な二分アルゴリズムであり、は二分ステップで実行される反復の合計回数です。

反復回数を とすると、GDNPの最終出力は次のようになる。

したがって、GDNP アルゴリズムは、数学的分析を容易にするためにバッチ正規化ステップをわずかに変更します。

GDNPでは、長さ成分に対する偏微分は線形速度でゼロに収束することが示されており、

ここで、と はそれぞれ、左と右の二分アルゴリズムの 2 つの開始点です。

さらに、各反復において、の勾配のノルムは線形収束し、

これら2つの不等式を組み合わせると、 に関する勾配の境界が得られます

アルゴリズムが線形収束することが保証されるようになります。

証明はガウス入力を前提としていますが、実験では GDNP がこの制約なしで最適化を加速できることも示されています。

ニューラルネットワーク

1つの隠れ層と、入力からスカラー出力へのマッピングが次のように記述される隠れユニットを持つ多層パーセプトロン(MLP)を考える。

ここで、およびはそれぞれユニットの入力重みと出力重みであり、 は活性化関数であり、 はtanh 関数であると仮定されます

入力と出力の重みは次のように最適化できる。

ここで、は損失関数、、 です

を固定し、 のみを最適化することを考えると、特定の隠れユニットの臨界点はすべて、隠れ層に入る情報に応じて1つの線に沿って並ぶことが示され、

、ここではスカラー、

この結果は、 の勾配をゼロに設定し、連立方程式を解くことによって証明できます。

この最適化問題にGDNPアルゴリズムを適用し、異なる隠れユニットに対して交互に最適化を行います。具体的には、各隠れユニットについてGDNPを実行し、最適な と を求めます停止基準とステップサイズを同じにした場合、以下の式が成り立ちます。

各隠れユニットのパラメータは線形収束するため、最適化問題全体は線形収束率を持つ。[8]

参考文献

  1. ^ abcd Ioffe, Sergey; Szegedy, Christian (2015). 「バッチ正規化:内部共変量シフトの削減によるディープネットワークトレーニングの高速化」arXiv : 1502.03167 [cs.LG].
  2. ^ Santurkar, Shibani; Tsipras, Dimitris; Ilyas, Andrew; Madry, Aleksander (2018年5月29日). 「バッチ正規化は最適化にどのように役立つか?」arXiv : 1805.11604 [stat.ML].
  3. ^ Yang, Greg; Pennington, Jeffrey; Rao, Vinay; Sohl-Dickstein, Jascha; Schoenholz, Samuel S. (2019). 「バッチ正規化の平均場理論」. arXiv : 1902.08129 [cs.NE].
  4. ^ Kohler, Jonas; Daneshmand, Hadi; Lucchi, Aurelien; Zhou, Ming; Neymeyr, Klaus; Hofmann, Thomas (2018年5月27日). 「バッチ正規化の指数収束率:非凸最適化における長さ方向分離の威力」arXiv : 1805.10694 [stat.ML].
  5. ^ abc Santurkar, Shibani; Tsipras, Dimitris; Ilyas, Andrew; Madry, Aleksander (2018年5月29日). 「バッチ正規化は最適化にどのように役立つか?」arXiv : 1805.11604 [stat.ML].
  6. ^ ab Simonyan, Karen; Andrew, Zisserman (2014). 「大規模画像認識のための超深層畳み込みネットワーク」arXiv : 1409.1556 [cs.CV].
  7. ^ Ba, J., Kiros, JR, Hinton, GE (2016). レイヤーの正規化. ArXiv, abs/1607.06450.
  8. ^ ab Kohler, Jonas; Daneshmand, Hadi; Lucchi, Aurelien; Zhou, Ming; Neymeyr, Klaus; Hofmann, Thomas (2018年5月27日). 「バッチ正規化における指数収束率:非凸最適化における長さ方向分離の威力」arXiv : 1805.10694 [stat.ML].
  9. ^ Yang, Greg; Pennington, Jeffrey; Rao, Vinay; Sohl-Dickstein, Jascha; Schoenholz, Samuel S. (2019). 「バッチ正規化の平均場理論」. arXiv : 1902.08129 [cs.NE].
  10. ^ Knyazev, Neymeyr (2003). 「前処理付き逆反復法のための幾何学理論III:一般化固有値問題に対する短く鋭い収束推定」.線形代数とその応用. 358 ( 1–3 ): 95–114 . doi : 10.1016/S0024-3795(01)00461-X .

さらに読む

  • Ioffe, Sergey; Szegedy, Christian (2015). 「バッチ正規化:内部共変量シフトの低減による深層ネットワーク学習の高速化」, ICML'15: Proceedings of the 32nd International Conference on Machine Learning - Volume 37, July 2015, 448–456ページ
  • Simonyan, Karen; Zisserman, Andrew (2014). 「大規模画像認識のための超深層畳み込みネットワーク」arXiv : 1409.1556 [cs.CV].
Retrieved from "https://en.wikipedia.org/w/index.php?title=Batch_normalization&oldid=1313730548"