シグモイド関数とは?ニューラルネットワーク初期を支えた活性化関数をわかりやすく解説

シグモイド関数とは?

ディープラーニングや機械学習では、「活性化関数(Activation Function)」と呼ばれる仕組みが重要な役割を担っています。

その中でも、ニューラルネットワーク黎明期に広く利用された代表的な関数が「シグモイド関数(Sigmoid Function)」です。

シグモイド関数は、入力値を0〜1の範囲に変換できる特徴を持ち、人間の脳の神経細胞の働きを模倣する関数として注目されました。

現在ではReLUなど別の活性化関数が主流になっていますが、シグモイド関数はニューラルネットワークの歴史や学習理論を理解する上で欠かせない存在です。

本記事では、シグモイド関数の仕組みや特徴、数式、メリット・デメリット、そして現代AIでの位置づけまでをわかりやすく解説します。

シグモイド関数とは?

シグモイド関数(Sigmoid Function)とは、任意の実数を0〜1の範囲へ変換する非線形関数です。

グラフにすると、滑らかな「S字型」の曲線になることが特徴です。

シグモイド関数の数式

シグモイド関数は以下の式で表されます。

を意味します。

シグモイド関数の特徴

出力範囲は0〜1

シグモイド関数の最大の特徴は、出力値が常に0〜1に収まることです。

具体的には、

  • 入力が非常に小さい → 出力は0に近づく
  • 入力が0 → 出力は0.5
  • 入力が非常に大きい → 出力は1に近づく

という性質があります。

S字カーブになる理由

シグモイド関数のグラフは滑らかなS字型になります。

この形状から、

  • 「シグモイド曲線」
  • 「シグモイド関数」

と呼ばれています。

「sigmoid」は、ギリシャ文字のシグマ(σ)に由来しています。

なぜニューラルネットワークで使われたのか?

ニューラルネットワークでは、単なる線形変換だけでは複雑な問題を学習できません。

そこで必要になるのが「非線形性」です。

シグモイド関数は非線形変換を実現できるため、初期のニューラルネットワークで広く利用されました。

活性化関数とは?

ニューラルネットワークでは、各ニューロンが入力値を受け取り、そのまま出力するのではなく、活性化関数を通して変換します。

これによって、

  • 複雑なパターン認識
  • 非線形な表現

が可能になります。

シグモイド関数のメリット

出力を確率として扱いやすい

出力が0〜1に収まるため、

  • 「猫である確率」
  • 「スパムメールである確率」

のような確率表現に適しています。

現在でも二値分類の出力層で使われることがあります。

微分可能である

シグモイド関数は滑らかで微分可能です。

これは、ニューラルネットワーク学習で重要な「バックプロパゲーション(誤差逆伝播法)」に適しています。

微分の性質

シグモイド関数の微分は以下の形になります。

この形は計算効率が良く、初期のニューラルネットワークで重宝されました。

シグモイド関数のデメリット

現在では、シグモイド関数には重要な弱点があることが知られています。

勾配消失問題が起きやすい

最大の欠点が「勾配消失問題(Vanishing Gradient Problem)」です。

なぜ勾配が消える?

シグモイド関数の微分値は最大でも0.25しかありません。

入力値が大きすぎたり小さすぎたりすると、微分値はほぼ0になります。

飽和領域とは?

入力が極端になると、出力は、

  • ほぼ0
  • ほぼ1

に張り付きます。

この状態を「飽和領域」と呼びます。

深層学習で問題になる理由

バックプロパゲーションでは、各層の微分値を掛け合わせながら勾配を伝播します。

微分値が小さいと、

  • 0.1 × 0.1 × 0.1 …

のように勾配が急激に小さくなります。

その結果、

  • 前半層が学習できない
  • 深いネットワークが訓練困難

という問題が発生します。

現在主流の活性化関数

シグモイド関数の弱点を改善するため、現在では別の活性化関数が主流です。

ReLU関数

現在もっとも一般的なのがReLU(Rectified Linear Unit)です。

ReLUの特徴

ReLUは、

  • 正の入力 → そのまま出力
  • 負の入力 → 0

という単純な構造です。

勾配が消えにくく、深層学習に適しています。

Leaky ReLU

ReLUでは負側が完全に0になる問題があります。

それを改善したのがLeaky ReLUです。

tanh関数との違い

tanh関数もシグモイド系の活性化関数です。

tanhの特徴

シグモイドとの違いは、出力範囲:-1〜1である点です。

平均が0になるため、学習効率が改善されるケースがあります。

現在でもシグモイド関数は使われる?

完全に使われなくなったわけではありません。

現在でも、

  • 二値分類の出力層
  • ロジスティック回帰
  • ゲート機構(LSTMなど)

で利用されています。

LSTMでの利用例

LSTMでは、

  • 情報を通すか
  • 情報を忘れるか

を制御するゲートにシグモイド関数が使われています。

0〜1の出力が「ON/OFF制御」に適しているためです。

実務での活用例

シグモイド関数は以下の分野で利用されます。

  • スパムメール判定
  • 医療診断
  • 異常検知
  • 広告クリック予測
  • 不正検知

特に「YES / NO」を判定する二値分類で重要です。

まとめ

シグモイド関数(Sigmoid Function)は、入力値を0〜1の範囲へ変換するS字型の活性化関数です。

ニューラルネットワーク初期には広く利用され、

  • 非線形変換
  • 確率表現
  • 微分可能性

などの特徴から重要な役割を果たしました。

一方で、勾配消失問題を起こしやすいという欠点もあり、現在の深層学習ではReLU系関数が主流になっています。

それでも、

  • 二値分類
  • LSTMのゲート制御
  • ロジスティック回帰

などでは現在も重要な役割を担っており、機械学習の基礎を理解する上で欠かせない概念の一つです。

こちらもご覧ください:勾配爆発問題とは?ディープラーニング学習が不安定になる原因と対策をわかりやすく解説

Rate this post
Visited 4 times, 4 visit(s) today