資格スワイプ
ディープラーニングの概要と手法

シグモイド関数を活性化関数として用いた層を10層以上重ねた深いニューラルネットワークを学習させたところ、入力層に近い層の重みがほとんど更新されなくなった。この現象の原因として最も適切な説明はどれか。

  • シグモイド関数の微分値は最大でも0.25程度であり、誤差逆伝播の際に層を重ねるごとにこの値が掛け合わされるため、入力層に近づくほど勾配が急激に小さくなるから
  • B学習率が小さすぎるため、どの層のパラメータもほとんど更新されていないだけであり、活性化関数とは無関係である
  • Cミニバッチのサイズが大きすぎることで、勾配の分散が大きくなりすぎているから
  • D損失関数に正則化項を追加していないため、過学習が進行しているから

解説

シグモイド関数の導関数の最大値は0.25程度であり、誤差逆伝播で層をまたぐたびにこの値が掛け合わされるため、層が深くなるほど入力層側の勾配が指数的に小さくなる。これが勾配消失問題であり、ReLU系の活性化関数への変更などが対策となる。

根拠シラバス項目: ディープラーニングの概要 - 活性化関数、誤差逆伝播法

← 前の問題次の問題 →
スワイプでまとめて流す