読み方 : こうばいしょうしつもんだい

勾配消失問題【vanishing gradient problem】

概要

勾配消失問題とは、ニューラルネットワークの学習過程で予測と正解の誤差を伝播させる際、層が深くなるほど誤差を伝えるための信号である「勾配」が極端に小さくなり、前の層へ伝播しなくなる現象。深層学習の黎明期において、多層ネットワークの学習を困難にしていた主要な課題の一つだった。
勾配消失問題のイメージ画像

主に誤差逆伝播法(バックプロパゲーション)のメカニズムと、かつて一般的に使用されていた活性化関数の性質によって引き起こされる。誤差逆伝播法では、モデルの出力層で計算された予測値と正解の差(誤差)が、ノード間の繋がりの重みを更新するために、微分値(勾配)として前の層へと順次逆向きに伝達されていく。勾配には、層を通過するたびに活性化関数の微分値と重みが掛け合わされていく。

初期のディープラーニング研究では、活性化関数としてシグモイド関数tanh関数などを使っていた。これらの関数は、入力値が大きすぎたり小さすぎたりする領域(飽和領域)で、微分値がゼロに非常に近くなるという性質を持っている。

この「ゼロに近い値」が層をまたいで何度も掛け算されると、連鎖律によって、勾配の値は指数関数的に減少し、入力層に近いネットワークの初期の層に到達する頃には、ほとんどゼロになってしまう。出力側からいくら誤差を伝達しても、初期層の重みの更新量は極めて小さくなり、これらの層が実質的に学習を停止してしまう。

現在では、微分値がゼロになりにくいReLU関数(Rectified Linear Unit)やそこから派生した関数を用いたり、重みの初期設定を工夫したり、バッチ正規化によってデータのばらつきを抑制したり、LSTMやGRU、ResNetといった特殊なネットワーク構造を導入することで、勾配消失問題が起きるのを防いでいる。

(2025.11.26更新)