Table of Contents
勾配の消失と爆発は、深いニューラルネットワークを訓練する一般的な問題です。 それらは、後伝播中に勾配が小さくても大きすぎたり、学習プロセスに影響を及ぼすときに発生します。 これらの現象を理解することは、体重のアップデートの背後にある計算を分析し、潜在的な解決策を探求することを含みます。
グラデーション・バニシング
グラデーションがレイヤーを後方に伝播するにつれて、グラデーションが指数関数的に低下すると、勾配の消えが起こります。この結果は、非常に小さな体重のアップデートで、ネットワークが非常にゆっくりと学習したり、学習を完全に停止したりします。
数学的に、活性化関数の派生物が1未満の場合、レイヤー[]]l]で勾配が以下のように表現できます。
] ⁇ L/ ⁇ ] ⁇ ] = (]) ⁇ L]) ⁇ (]l]]] ⁇ ]l) ) ⁇ [FLT] [FLT] [FLT] [FLT] [FLT] [FLT:[FLT] [FLT] [FLT] [FLT] [F] [FLT] [F] [F] [F] [[FLT] [[F] [F] [[F] [[F] [[F]] [[F] [[F]] [[F]] [[F] [[F] [[F]] [[F]] [[F] [[F] [[F] [[F] [[F] [[F] [[F]]]]] [[[F]]]]] [[[[[[
ここで ] は、 ]]l[]/]]]]lは、活性化関数の派生物です。 この派生物が1未満の場合、繰り返し乗算は、勾配が指数関数を低下させる。
勾配探査
勾配の爆発は、後帰化中に指数関数的に成長するときに発生します。これは非常に大きな体重のアップデートにつながる、それは訓練の不安定性と利息を引き起こす可能性があります。
数学的に、関与する派生物が1よりも大きい場合は、勾配は指数関数的に増加することができます:
] ⁇ L/ ⁇ ]l] ≈ (←]l+1])) * (l+1[/ l+1))) * ([FLT:[FLT:] [[FLT:]] [[FLT:[FLT]]] [[FLT:[FLT]]] [[FLT]]] [[FLT]]] [[[F]]]] [[[[[F]]] [[[[[[[[[[[[[[[[FLT]]]]]]]]]]]] [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
フィッシングと爆発の勾配へのソリューション
これらの問題を軽減できる技術はいくつかあります。
- ウェイト・イニシャル:[:XavierやHeの初期化のようなメソッドを使用して、安定したグラデーションを維持するのに役立ちます。
- 活性化機能:] と、その変異体は、勾配をバニシングするリスクを低減します。
- グラデーション・クリッピング:] 限界値で、グラデーションの爆発を防ぐ。
- ]正常化:]バッチ正規化は学習プロセスを安定させます。