- @ThothChildren
- 2017.9.13
- PV 346
Sigmoid活性化関数
ー 概要 ー
1990年代まで最も長らく使われていたニューラルネットの活性化関数.
人間のニューロンの入出力にヒントを得て設計され、微分も用意なため重宝されてきたが、勾配消失問題の原因になっているため、現在では使われない.
この章を学ぶ前に必要な知識
条件
- 0から1の間の値しかでない.
ポイント
- 0を通るようにしたtanh(x)も同系統のものとして使用される
- 微分した値が大きい値や小さい値で0に近くなるため、勾配消失の原因となっていた
- 現在は使用されることはない活性化関数
- 人間のニューロンの反応を模して設計された関数
解 説
Relu関数等が登場するまで長らく使用されてきた関数.
人間のニューロンを参考に作られた関数で、長らく使用されてきたが、
勾配消失問題の原因となるため、現在は使用されることはない. | Sigmoid(シグモイド)活性化関数概要 |
$$f(x)=\frac{ 1}{ 1 + e^{ -x } }$$ | シグモイド関数 |
$$f'(x) = (1- f(x))f(x)$$ | シグモイド関数の微分
自身で自身の微分を表現できる. |
シグモイド関数の微分をしたものは、入力xが極端に大きいまたは小さいときに0に近くなってしまい、ほとんど学習が進まなくなることが挙げられます。
また、シグモイド関数の微分は常に1より小さい値しか出さないため、これらの値を掛け合わせるように層を深くしていくと勾配はもっと小さくなっていってしまいます。
層を深くした入力に近いところでは勾配が限りなく0に近くなってしまい、逆誤差伝播がほぼ意味をなさなくなってしまいます。
Reluを使用した場合はこれらの問題が解決されます。 | シグモイド関数の欠点 |
この章を学んで新たに学べる
Comments