AI Technology Community
sigmoid関数
シグモイド関数は機械学習で比較的よく使われる関数です。これに似た関数にはソフトプラスやソフトマックスなどがありますが、ここでは説明しません。まずはシグモイド関数の式とグラフを見てみましょう。シグモイド関数の式は以下の通りです。
これがシグモイド関数の式です。この関数はベルヌーイ分布で非常に使いやすいです。今、そのグラフを見れば分かります。
正の無限大または負の無限大に近づくと、関数は平滑な状態に近づくことがわかります。シグモイド関数は出力範囲が(0,1)なので、二値分類の確率によく使われます。実際、ロジスティック回帰ではこの関数が採用されており、多くの教程で以下のような利点が挙げられています。
1 値域が0と1の間です。
2 関数は非常に良い対称性を持っています。
関数は入力が一定範囲を超えると鈍感になります。
特徴:
入力された連続的な実数値を0と1の間の出力に変換することができます。特に、非常に大きな負の数の場合、出力は0になります。非常に大きな正の数の場合、出力は1になります。
欠点:
シグモイド関数はかつてよく使われていましたが、近年では使う人がますます少なくなっています。主な原因は、固有のいくつかの欠点があるからです。
欠点1:深層ニューラルネットワークで勾配の逆伝播を行う際に、勾配爆発と勾配消失が発生します。勾配爆発が起こる確率は非常に小さく、勾配消失が起こる確率は比較的大きいです。
欠点2:シグモイド関数の出力は0平均(ゼロセンタリング)ではありません。これは望ましくないことで、後の層のニューロンが前の層の非0平均の信号を入力として受け取ることになります。その結果、例えば x > 0 の場合、 f = w T x + b x>0, \ f= w^Tx+b x>0, f=wTx+b となり、wに関する局所勾配はすべて正になります。このため、逆伝播の過程でwは正方向または負方向に一斉に更新され、一種の束縛効果が生じ、収束が遅くなります。もちろん、バッチ単位で学習を行えば、そのバッチでは異なる信号が得られる可能性があるので、この問題はある程度緩和されます。したがって、非0平均の問題はいくつかの悪影響をもたらしますが、上述の勾配消失の問題と比べるとまだましです。
欠点3:その解析式にはべき乗演算が含まれており、コンピュータで解くのに比較的時間がかかります。規模の大きい深層ネットワークの場合、これによって学習時間が大幅に増加します。
22
item of content
活性化関数を使わない場合、各層の出力は前層の入力の線形関数となり、ニューラルネットワークがどれだけ多くの層を持っていたとしても、出力は常に入力の線形結合となります。これは最も原始的なパーセプトロン(Perceptron)の状況です。
一方、活性化関数を使用すると、ニューロンに非線形な要素が導入され、ニューラルネットワークは任意の非線形関数に近似することが可能になります。これにより、ニューラルネットワークは多くの非線形モデルに応用できるようになります。
- 525hits
- 0replay
-
0like
- collect
- send report