読み方 : シグモイドかんすう

シグモイド関数【sigmoid function】

概要

シグモイド関数とは、係数aと自然対数の底e(ネイピア数)を用いて ς(x)=11+e-1 として表される関数。任意の実数を0から1の範囲の値に変換することができる。
シグモイド関数のイメージ画像

微分可能な単調増加関数で、定義域(入力値の範囲)は-∞~∞、値域(出力値の範囲)は0~1となる。入力が0のときに出力が0.5となり、入力が負の無限大に向かうと出力は0に漸近し、正の無限大に向かうと1に漸近する。任意の実数を、その大きさに応じて0~1の値に変換する働きを持つ。

シグモイド関数をグラフに描画したものを「シグモイド曲線」あるいは単に「シグモイド」と呼ぶ。緩やかな「S」の字の形に見えるため、ギリシャ文字で「S」に対応するシグマ(sigma)に、「~に似たもの」を意味する接尾辞 “-oid” を繋げて命名された。関数名には慣用的にシグマの語末形の小文字「ς」を用いる。

活性化関数としての使用

機械学習モデルの一つであるニューラルネットワークでは、各層のノード間で値を伝達する際に非線形変換になるようにするため、入力値に対して「活性化関数」を適用してから出力する。シグモイド関数は活性化関数として最初に採用された関数として知られる。

有力な学習手法である誤差逆伝播法(バックプロパゲーション)では、活性化関数の微分値を用いて重みの調整を行う。シグモイド関数の微分値は入力が0のときに最大値の0.25を取る。値域の0~1.0に対して0.25は低く、出力層から伝播を繰り返すうちに勾配がどんどんなだらかになってしまう「勾配消失問題」が起きやすいという欠点がある。

この欠点を克服するため、値域やグラフの形状はシグモイド関数に近いが微分値が低くなりにくい関数が様々に考案された。tanh関数(微分値の最大値も1)や、ReLU関数(微分値は入力が正なら1、負なら0)、Leakey ReLU関数(微分値は入力が正なら1、負でも0以上の定数)などがシグモイド関数に代わって用いられる。

(2025.11.21更新)