G検定 練習問題 #0035・活性化関数

シグモイド関数と勾配消失

ディープラーニングの概要 › 活性化関数 単一選択 難易度 標準

隠れ層の活性化関数にシグモイド関数を用いた深いニューラルネットワークで、勾配消失問題が起きやすい理由として、最も適切なものを1つ選べ。

正解と解説を見る

解説

正解 A

この問題の論点:シグモイド関数と勾配消失

ポイント

シグモイド関数は導関数の最大値が0.25と小さいため、層を重ねるほど勾配が掛け合わされて小さくなり、勾配消失問題が起きやすくなります。

選択肢ごとの解説

  1. A

    適切 正解

    シグモイド関数の導関数はσ(x)(1−σ(x))で、x=0のとき最大値0.25をとります。連鎖律で層ごとにこの値が掛かるため、入力層に近い層ほど勾配が小さくなりやすくなります。

  2. B

    不適切

    シグモイド関数の出力は0から1の範囲です。−1から1の範囲をとるのはtanh関数です。勾配消失の原因は値の打ち消し合いではなく、掛け合わされる導関数の値の小ささにあります。

  3. C

    不適切

    勾配消失は、逆伝播で勾配が小さくなる現象です。シグモイド関数は入力0で0.5を出力するなど、通すたびに出力値が小さくなるわけではありません。原因は順伝播の出力ではなく、逆伝播で掛け合わされる導関数の小ささです。

  4. D

    不適切

    シグモイド関数はすべての点でなめらかに微分できます。原点で微分できない点を持つのはReLU関数ですが、実装ではその点の勾配を0などと決めて扱うため、学習の妨げにはなりません。

試験での狙われ方

導関数の最大値(シグモイド関数は0.25、tanh関数は1)を比べさせる形や、ReLU関数が対策になる理由とあわせて問う形があります。

参考

表示設定

テーマ
文字の大きさ
問題演習