ニューラルネットワークの古典的な活性化関数です。入力を0〜1(Sigmoid)や-1〜1(tanh)の範囲に滑らかに押し込めます。ReLU系が登場する前はこれらが主流でした。
Sigmoid系関数は、どんな大きさの入力でも、決まった範囲(0〜1 や -1〜1)に滑らかに押し込める関数です。 蛇口のハンドルに例えると、ハンドルをどれだけ大きく回しても水の量には上限がある — そんなイメージです。1980〜2000年代のニューラルネットワークではSigmoidとtanhが標準でした。 現在はロジスティック回帰の出力層(確率を表すため0〜1が必要)やRNNのゲート機構(LSTMの忘却ゲートなど)で活躍しています。 隠れ層にはReLU系が主流になりましたが、Sigmoid系を理解することはディープラーニングの基礎として重要です。
S字カーブの代名詞で、出力を0〜1の確率として解釈できることが最大の特徴です。 ロジスティック回帰の出力層やLSTMのゲート機構で現在も不可欠な関数です。
Sigmoidをゼロ中心に移動してスケールした関数です。 数学的には tanh(x) = 2σ(2x) - 1 という関係があり、Sigmoidの親戚です。 RNN(特にLSTM・GRU)の隠れ層で標準的に使われています。
Sigmoidの区分線形近似です。指数関数(eˣ)を使わず、足し算・掛け算・クリッピングだけで計算できるため、計算が非常に高速です。スマートフォンやIoTデバイスなど、計算資源が限られた環境で活躍します。
SigmoidとtanhはS字カーブという同じ形状を持ち、数学的にも密接に関係しています。