消失勾配問題と爆発勾配問題:ニューラルネットワークの基本事項

改善: ニューラルネットワークの基礎に関する消失勾配問題と爆発勾配問題

ニューラルネットワークの「変な挙動」を防ぐ方法

https://www.flaticon.com/free-icons/neural-network. title=“neural network icons.” Neural network icons created by Paul J. — Flaticon.

消失および爆発グラデーションとは何ですか?

以前の投稿の中で、ニューラルネットワークがバックプロパゲーションアルゴリズムによって学習する方法を説明しました。メインのアイデアは、出力層から始めて、誤差を「逆伝播」させながら入力層まで移動し、進むにつれて損失関数に対して重みを更新することです。これについて詳しく知りたくない場合は、以下の投稿をチェックすることを強くお勧めします。

フォワードパスとバックプロパゲーション:ニューラルネットワーク 101

手動およびPyTorchを使用したコードによるデータのパターン学習についてのニューラルネットワークの説明

towardsdatascience.com

重みは、損失関数に対するそれぞれの偏微分を使用して更新されます。問題は、これらのグラデーションがネットワークのより低い層に近づくにつれてますます小さくなることです。これにより、ネットワークのトレーニング中に、より低い層の重みがほとんど変化しなくなるという問題が生じます。これが消失グラデーション問題として知られています。

逆に、グラデーションが層を通してますます大きくなる場合もあります。これは、主に再帰型ニューラルネットワークで問題となります。

ただし、2010年にXavier GlorotおよびYoshua Bengioによって発表された論文で、これらのグラデーションが発生する原因についていくつかの理由が明らかにされました。主な要因は、シグモイド活性化関数と重みの初期化方法(通常は標準正規分布から)です。この組み合わせにより、シグモイド関数の極端な端で分散が層間で変化し、飽和状態になります。

以下は、シグモイド関数の数学的な式とプロットです。極端な状態では、勾配がゼロになることに注意してください。したがって、これらの飽和点では「学習」は行われません。

Sigmoid function. Plot generated by author in Python.

今回は、トレーニング中にグラデーションの消失または爆発の可能性を減らすためのいくつかの技術を説明します。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more