問題 No.381
ニューラルネットワークが多層化すると、活性化関数としてシグモイド関数を用いた場合に層の深い方から勾配が0に近づいてしまい、学習が停滞する問題が発生する。この問題を解決する構成として、ReLU関数が採用される理由として正しいものはどれか。
【正解の解説】
正の領域で勾配が常に1であり、層が深くても勾配が小さくならないため
ReLU関数は正の領域では入力値をそのまま出力するため、勾配が小さくならず、深い層へも信号が効率的に伝わります。シグモイド関数のような勾配消失問題が起きにくいのが特徴です。
スポンサーリンク
【その他の選択肢の解説】
負の領域でも滑らかな曲線を描くため、学習が安定するため
ReLUは負の領域で0を出力するため、滑らかな曲線ではありません。負の領域に勾配を持たせるにはLeaky ReLU関数などが使われます。
入力の絶対値が大きい場合でも、必ず0から1の範囲に出力値を押し込めるため
値を0から1に押し込めるのはシグモイド関数の特徴であり、ReLUは負の値は0に、正の値はそのまま出力します。
行列演算ではなくベクトル演算に最適化されており、計算が非常に速いため
計算速度は利点の一つですが、最も重要な理由は勾配消失問題の解決です。