2022年度も終わりに近づきました。2022年度を振り返り、ディープラーニングでよく利用した活性化関数について自分の偏見をまとめたいと思います。
活性化関数には、ステップ関数、シグモイド関数、ReLU関数、恒等関数があります。これらの関数についてコメントしたいと思います。
ステップ関数
ステップ関数は微分ができません。微分ができないと誤差逆伝播法で学習することができません。最近は、ほとんどディープラーニングでは使用しませんでした。
シグモイド関数
ディープラーニングのサンプルコードでググると結構な頻度で使用されていますよね。シグモイド関数は、Xが大きくなるとYは1に近づき、Xが小さくなるとYは0に近づくのが特徴です。グラフにすればわかりますが、微分することができます。微分できるということは、誤差逆伝播法で学習することができます。
しかし、使用してわかったのですが、ニューラルネットワークの層を増やしていくと入力に近い層の学習ができなくなりました。これは勾配消失という問題です。このため、シグモイド関数もほとんどディープラーニングでは使用しませんでした。
ReLU(レル)関数
シグモイド関数とは違い、勾配消失という問題が非常に起こりにくいのが特徴です。なぜ起こりにくいのか?
グラフを見ればわかりますが、Yの値が0より大きい時は、非常に広い範囲で値を取ることができるので勾配消失の問題が起きにくくなります。
2022年度、一番よく使用した活性化関数です。
恒等関数
y = x の関数です。シグモイド関数を使用すると出力は0から1の範囲になります。ReLU関数を使用するとマイナスの値が表現できません。だけど、出力層の出力を広い範囲で取りたい場合に使いました。たまに使用する活性化関数です。
以上です。