機械学習において、勾配消失問題とは、バックプロパゲーションを用いてニューラルネットワークを学習させる際に、前の層と後の層の間で勾配の大きさが大きく乖離する問題である。このような手法では、ニューラルネットワークの重みは損失関数の偏微分に比例して更新される。[ 1 ]ネットワークの深さが増すなどして、ネットワークの順伝播ステップ数が増加すると、前の重みの勾配はますます多くの乗算によって計算される。これらの乗算によって勾配の大きさが縮小する。結果として、前の重みの勾配は後の重みの勾配よりも指数関数的に小さくなる。この勾配の大きさの差は、学習プロセスに不安定性をもたらしたり、学習を遅らせたり、完全に停止させたりする可能性がある。[ 1 ]例えば、双曲線正接活性化関数を考えてみよう。この関数の勾配は[ 0,1 ]の範囲にある。このような勾配を繰り返し乗算した積は指数関数的に減少する。逆問題、つまり初期層における重み勾配が指数関数的に大きくなる場合、それは爆発勾配問題と呼ばれます。
バックプロパゲーションにより、研究者は教師あり深層人工ニューラルネットワークをゼロから訓練することが可能になったが、当初はほとんど成功しなかった。1991 年のHochreiterの卒業論文では、この失敗の原因が「勾配消失問題」[ 2 ] [ 3 ]にあることが正式に特定された。この問題は、多層フィードフォワードネットワーク[ 4 ]だけでなく、リカレントネットワーク[ 5 ] [ 6 ]にも影響する。後者は、ネットワークによって処理される入力シーケンスの各タイムステップごとに新しい層が作成され、非常に深いフィードフォワードネットワークに展開することによって訓練される(展開とバックプロパゲーションの組み合わせは、時間によるバックプロパゲーションと呼ばれる)。
このセクションは、Pascanu、Mikolov、およびBengioによる論文「再帰型ニューラルネットワークのトレーニングの難しさについて」に基づいています。 [ 6 ]
一般的なリカレントネットワークは隠れ状態を持つ入力出力それを次のようにパラメータ化する。システムは次のように進化 する 多くの場合、出力は関数であるいくつか例を挙げると勾配消失問題はすでに明確に現れています。そこで、表記を簡略化して、次の特殊なケースに絞ります。 では、その微分を取ってみましょう。 ネットワークをトレーニングするには、最小化すべき損失関数を定義する必要があります。それを次のようにします。[注1 ]、勾配降下法で最小化すると、
どこは学習率です。
勾配消失/爆発問題は、次の形式の繰り返し乗算があるために発生します。
具体的な例として、次のように定義される典型的なリカレントネットワークを考えてみましょう。
どこネットワークパラメータは、はシグモイド活性化関数[注2 ]であり、各ベクトル座標に個別に適用され、はバイアスベクトルです。
それから、、 など 以来上記の乗算の演算子ノルムは、以下によって上から抑えられる。スペクトル半径がは当時は広範囲に上記の乗算の演算子ノルムは以下によって制限される。これは典型的な勾配消失問題である。
勾配消失の影響は、ネットワークが長距離効果を学習できなくなることです。式(損失差分)を思い出してください。構成要素は単なる構成要素ですそしてなので、もし有界である場合、また、いくつかの境界によっても制限される、したがって、崩壊するつまり、実質的に最初のもののみに影響される合計に含まれる項。
もし上記の分析は必ずしも有効ではありません。[注3 ]典型的な爆発勾配問題については、次のモデルの方が明確です。

(Doya、1993)[ 7 ]に従って、シグモイド活性化関数を持つこの1ニューロン再帰ネットワークを考えてみよう。 小さな限界に達すると、ネットワークのダイナミクスは まず、自律的なケースを考えてみましょう。。セット、そして変化するで。 として減少すると、システムは安定点を 1 つ持ち、次に安定点を 2 つと不安定点を 1 つ持ち、最後に再び安定点を 1 つ持ちます。具体的には、安定点は次のとおりです。。
次に考えてみましょうそして、 どこシステムが安定点の1つに落ち着くほど十分に大きい。
もしシステムを不安定点に非常に近づけ、または作る安定した一点から別の安定した一点へと移動する。これによりそしてどちらも非常に大きく、勾配爆発の事例である。
もしシステムを不安定点から遠ざけ、影響はありません作るこれは、勾配消失現象の一例である。
この場合、ゼロに減衰することも、無限大に発散することもありません。実際、これは唯一まともな勾配であり、初期の研究が、その安定アトラクターを形成することによって、長距離計算(例えば、エピソードの最後に最初に見た入力を出力するなど)を実行できるリカレントネットワークシステムを学習または設計することに焦点を当てていた理由を説明しています。[ 8 ]
一般の場合、直感は依然として成り立つ([ 6 ]図3、4、5)。
上記の1ニューロンネットワークを引き続き使用し、損失関数を以下のように定義する。これは、かなり病的な損失状況を生み出します。アプローチ上から見ると損失はゼロに近づきますが、十字架すると、アトラクター盆地が変化し、損失が0.50に跳ね上がる。[注4 ]
したがって、トレーニングを試みる勾配降下法では「損失ランドスケープで壁にぶつかる」ことになり、勾配爆発を引き起こします。もう少し複雑な状況は、[ 6 ]図6に示されています。
この問題を克服するために、いくつかの方法が提案された。
リカレントニューラルネットワークの場合、問題を解決するために長短期記憶(LSTM)ネットワークが設計されました( Hochreiter & Schmidhuber、1997)。[ 9 ]
勾配爆発問題に対して、(Pascanu et al, 2012) [ 6 ]は勾配クリッピング、すなわち勾配ベクトルを分割することを推奨した。によるもしこれにより、勾配ベクトルは半径の球の範囲内に制限されます。。
マルチレベル階層ネットワーク(Schmidhuber 、1992)では、教師なし学習によって一度に1レベルずつ事前学習され、バックプロパゲーションによって微調整されます。[ 12 ]ここでは、各レベルが観測の圧縮表現を学習し、それが次のレベルに供給されます。
同様のアイデアは、フィードフォワードニューラルネットワークで教師なし事前学習に使用され、ニューラルネットワークを構造化し、まず一般的に有用な特徴検出器を学習させます。次に、教師ありバックプロパゲーションによってネットワークをさらにトレーニングし、ラベル付きデータを分類します。 Hinton ら (2006) によるディープビリーフネットワークモデルは、バイナリまたは実数値の潜在変数の連続するレイヤーを使用して高レベル表現の分布を学習します。制限付きボルツマンマシンを使用して、高レベルの特徴の各新しいレイヤーをモデル化します。各新しいレイヤーは、データの対数尤度の下限の増加を保証し、適切にトレーニングすればモデルを改善します。十分な数のレイヤーが学習されると、ディープアーキテクチャは、トップレベルの特徴活性化からモデルをサンプリングダウン (「祖先パス」) するときにデータを再現することにより、生成モデルとして使用できます。 [ 13 ] Hinton は、彼のモデルが高次元の構造化データに対する効果的な特徴抽出器であると報告しています。[ 14 ]
ハードウェアの進歩により、1991年から2015年にかけて、コンピュータの処理能力(特にGPUによって提供されるもの)は約100万倍に増加し、勾配消失問題が認識された当時よりも数層深いネットワークでも標準的なバックプロパゲーションが可能になりました。シュミットフーバーは、これが「現在多くの画像認識コンテストで勝利している基本的な理由」であると指摘していますが、ヒントンらが勾配消失問題に取り組んだ元のモデルはGPUではなくXeonプロセッサでトレーニングされたため、 「根本的な方法では問題を克服していない」と述べています[ 15 ] 。 [ 13 ]
残余接続、またはスキップ接続とは、建築モチーフの、どここれは任意のニューラルネットワークモジュールです。これにより、勾配が得られます。単位行列は勾配消失や勾配爆発の影響を受けない。逆伝播中、勾配の一部は残差接続を介して流れる。[ 16 ]
具体的には、ニューラルネットワーク(残差接続なし)を次のようにする。そして、残余接続によって、層での活性化に対する出力の勾配がはしたがって、勾配は任意の深さのネットワークでも消滅しない。
残差接続を持つフィードフォワードネットワークは、比較的浅いネットワークの集合とみなすことができる。この観点から、フィードフォワードネットワークは、勾配消失問題が存在しない多数の浅いネットワークの集合と等価であるため、勾配消失問題を解決する。[ 17 ]
重み初期化は、深層ネットワークにおける勾配消失問題を軽減するために提案されたもう一つのアプローチである。
Kumarは、初期重みの分布は使用する活性化関数に応じて変化させるべきであると示唆し、ロジスティック活性化関数を使用するネットワークでは、平均ゼロ、標準偏差が のガウス分布を使用して重みを初期化することを提案した。、 どこは層内のニューロンの数です。[ 19 ]
2022年、YilmazとPoli [ 20 ]は、ロジスティック活性化関数を用いた深層ニューラルネットワークにおいて、初期重みの平均が勾配にどのような影響を与えるかについて理論的な分析を行い、初期重みの平均が次の式に従って設定された場合、勾配は消滅しないことを発見した。このシンプルな戦略により、標準的なバックプロパゲーションを使用して、10層または15層の隠れ層を持つネットワークを非常に効率的かつ効果的にトレーニングできます。
ベーンケは、画像再構成や顔位置特定などの問題を解決するためにニューラル抽象化ピラミッド[ 21 ]を訓練する際に、勾配の符号( Rprop )のみに頼った。
ニューラルネットワークは、ニューラルネットワークの重みの空間で、例えばランダム推測やより体系的な遺伝的アルゴリズムなどの汎用探索アルゴリズムを使用して最適化することもできます。このアプローチは勾配に基づかず、勾配消失問題を回避します。[ 22 ]