問題 No.1402
多層ニューラルネットワークにおいて、活性化関数として長らく用いられてきたシグモイド関数は、入力値の絶対値が大きくなると微分の値がほぼゼロになるという数理的性質を持っていた。この性質が原因で、層を遡るごとに誤差の勾配が減衰する勾配消失問題が発生する。この問題を解決するために広く採用された、入力が負の場合はゼロを、正の場合はそのままの値を出力し、正の領域で微分値が常に1となる活性化関数はどれか。
【正解の解説】
ReLU関数
ReLU関数は、入力が0以下なら0、それ以上ならそのままの値を出す非常にシンプルな関数です。微分しても1(正の領域)であるため、勾配が消えにくく、今のディープラーニングの主流となっています。
スポンサーリンク
【その他の選択肢の解説】
ソフトマックス関数
ソフトマックス関数は、複数の数値の合計を1にするために用いられ、主に分類問題の最後の出力層で「どのクラスに属するか」の確率を出すために使われます。
tanh関数
tanh関数は、-1から1の間で値を滑らかに変化させる関数です。シグモイド関数よりは改善されていますが、依然として深い層では勾配が減衰しやすい性質があります。
恒等関数
恒等関数は、入力した値をそのまま出力する関数です。回帰問題の最終出力層などで、最終的な数値を予測する際に使われます。