シグモイド関数
公開日: 2025/06/02
シグモイド関数とは?ニューラルネットワークの基本活性化関数
はじめに
シグモイド関数は、ニューラルネットワークで広く使われてきた活性化関数の一つで、入力値を0から1の範囲に変換します。
特に初期のモデルで頻繁に使われましたが、現在は勾配消失問題のため使用が減少しています。
この記事ではシグモイド関数の特徴や仕組み、長所と短所をわかりやすく解説します。
基本情報・概要
シグモイド関数は滑らかなS字カーブを描き、数式で次のように表されます。
[ \sigma(x) = \frac{1}{1 + e^{-x}} ]
- 出力は常に0以上1以下の範囲
- 微分可能で勾配降下法に適している
- 出力を確率的解釈に使える(例:2値分類の確率)
深掘り解説
-
特徴
- 出力範囲が限定されているため、ニューラルネットワークの出力層に適する
- 中間層で使うと勾配消失問題が起きやすい(大きな入力では勾配が0に近づく)
- 計算コストは指数関数を含むためReLUより高い
-
勾配消失問題
シグモイド関数の勾配は入力が大きく正または負になると極端に小さくなり、
深いネットワークでの学習が困難になる原因となる。 -
用途
- 2クラス分類の出力層
- 確率的出力を必要とするモデル
応用・発展的な使い方
- ロジスティック回帰モデルの基礎関数
- 初期のニューラルネットワークでの活性化関数
- 現代モデルではReLU系関数と組み合わせることが多い
よくある誤解と注意点
-
シグモイド関数は全ての層で使うべきではない
隠れ層ではReLU系の方が性能が良い場合が多い。 -
出力値は確率として解釈できるが、必ずしも正確な確率とは限らない
まとめ
シグモイド関数はニューラルネットワークの歴史的な活性化関数であり、
特に2値分類の出力に適しています。
しかし勾配消失問題のため、現在は隠れ層にはReLUなどが多く使われています。
基本を理解し適切に使い分けることが重要です。