活性化関数は、どれも「入力をどう反応させるか」を決める装置です。
でも、その反応のしかたには性格の違いがあります。
順番に見ていきましょう。
シグモイド関数
― ゆるやかに反応する、丸い性格 ―
シグモイド関数は、出力を 0〜1 の間におさめる関数です。
どんなに大きな値が入っても、最終的には1に近づきます。
どんなに小さくても、0に近づきます。
イメージとしては、
・弱い刺激 → ほとんど反応しない
・強くなるにつれて → なめらかに反応が増える
とてもやわらかい発火装置です。
かつてはよく使われていましたが、後で出てくる「勾配消失問題」を起こしやすいという弱点があります。
tanh関数
― 中心がゼロの、バランス型 ―
tanh(ハイパボリックタンジェント)関数は、出力を -1〜1 の間におさめます。
シグモイドに似ていますが、中心が0になるのが特徴です。
・プラスにもマイナスにも反応する
・平均が0になりやすい
そのため、シグモイドより学習が安定しやすいとされています。
やわらかく反応する性格は似ていますが、少しだけ扱いやすいタイプです。
ReLU関数
― シンプルで力強い性格 ―
ReLU(Rectified Linear Unit)関数は、とてもシンプルです。
・マイナスの値 → 0にする
・プラスの値 → そのまま出す
それだけです。
つまり、「マイナスは無視、プラスはそのまま発火」という、はっきりした性格ですね。
計算も軽く、勾配消失が起きにくいという利点があり、現在のディープラーニングで広く使われています。
Leaky ReLU関数
― 少しだけやさしいReLU ―
ReLUはシンプルですが、マイナスを完全に0にしてしまうため、ニューロンが死んでしまうことがあります。(ずっと発火しない状態)
Leaky ReLU関数は、マイナスも、ほんの少しだけ通す、という改良版。
ReLUの力強さを保ちつつ、極端になりすぎないようにした発火装置です。
next ▶ ソフトマックス関数