ディープラーニングの概要と手法
シグモイド関数を活性化関数として用いた層を10層以上重ねた深いニューラルネットワークを学習させたところ、入力層に近い層の重みがほとんど更新されなくなった。この現象の原因として最も適切な説明はどれか。
- ✓シグモイド関数の微分値は最大でも0.25程度であり、誤差逆伝播の際に層を重ねるごとにこの値が掛け合わされるため、入力層に近づくほど勾配が急激に小さくなるから
- B学習率が小さすぎるため、どの層のパラメータもほとんど更新されていないだけであり、活性化関数とは無関係である
- Cミニバッチのサイズが大きすぎることで、勾配の分散が大きくなりすぎているから
- D損失関数に正則化項を追加していないため、過学習が進行しているから
解説
シグモイド関数の導関数の最大値は0.25程度であり、誤差逆伝播で層をまたぐたびにこの値が掛け合わされるため、層が深くなるほど入力層側の勾配が指数的に小さくなる。これが勾配消失問題であり、ReLU系の活性化関数への変更などが対策となる。
根拠シラバス項目: ディープラーニングの概要 - 活性化関数、誤差逆伝播法