シグモイド関数とその微分の覚え方:基本定義と公式を素早く再現する手順

こんにちは。ゆうせいです。

人工知能や機械学習の計算において、入力された数値を一定の範囲に収める役割を持つ数式としてシグモイド関数が広く用いられます。学習を始めたばかりの方がこの関数の微分計算を学ぶ際、複雑な数式の変形に戸惑い、試験や実装の場で公式の形を度忘れしてしまうことがあります。

シグモイド関数の定義と微分の結果は、言葉の語呂合わせや分数の構造に着目した直感的なイメージを持つことで、初心者でも迷わずに頭の中から引き出せるようになります。関数の基礎知識と、記憶を助ける発想法、そして導出の流れを順番に確認していきます。

シグモイド関数の基本構造と専門用語の解説

シグモイド関数は、どのような大きさの数値を受け取っても、結果を必ず0から1の間の滑らかな数値に変換して出力する関数です。

理解を助けるために、二つの専門用語を高校生活に例えて整理します。

活性化関数

活性化関数とは、計算の途中で受け取った数値の大きさに応じて、次の計算段階へどれだけの強さで情報を送り出すかを決定する変換規則です。

高校の部活動の入部判定テストを思い浮かべてみてください。テストの点数が極端に高くても低くても、最終的に入部の可能性を0パーセントから100パーセントの間の割合に換算して判定結果を出す判定基準が、活性化関数に相当します。

自然対数の底(ネイピア数 e)

ネイピア数 e は、数学で頻繁に利用される約2.718の定数です。自然界の成長や増殖の度合いを表す際によく登場します。

高校の銀行口座の利息計算で例えます。預けたお金に対してつく利息を非常に短い時間ごとに細かく計算し、その利息にもさらに利息がついて元本が増えていくとき、1年後に資産が最大で元の何倍まで増えるかを示した限界値がネイピア数です。

シグモイド関数の定義式と覚え方の工夫

入力の数値を x と置いたとき、シグモイド関数 σ(x) は次の分数式で定義されます。

\sigma(x) = \frac{1}{1 + e^{-x}}

この定義式そのものを思い出すための語呂合わせとして、「1人の上に、1人と引いた自分(いいマイナスエックス)」と唱える方法があります。

分母に「1たすeのマイナスx乗」、分子に「1」が乗っている構造を、次のように言葉でこじつけて記憶に定着させます。

  • 分子は常に1 主役となる出力値は、最大でも1を超えないため、上には1人だけが乗っています。
  • 分母は基準の1に指数を足す 1という土台に、マイナス符号のついた指数関数が足されています。

入力値 x が極端に大きな値になると、分母の指数部分が0に近づき、全体は1になります。逆に x が極端に小さなマイナスの値になると、分母が非常に大きくなって全体は0に近づきます。

微分の公式と語呂合わせによる記憶法

シグモイド関数の微分を計算した結果は、非常に整った掛け算の形になります。

\sigma'(x) = \sigma(x)(1 - \sigma(x))

微分した結果の式は、元の関数である σ(x) と、それを1から引き算した 1 - σ(x) の掛け算だけで完結します。

この公式の形を記憶するための語呂合わせとして、「微分は、シグマに、いち引くシグマ」と音読して覚える方法が効果的です。

また、確率の考え方とこじつけて覚える手法もあります。シグモイド関数は結果が0から1の間に収まるため、ある事象が起こる確率 p と見なすことができます。事象が起こる確率 p に対し、その事象が起こらない確率は 1 - p です。微分の形は「事象が起こる確率と、起こらない確率の掛け算」と同じ形をしています。

このように「自分自身と、1から自分を引いた相手の積」というストーリーを頭の中に作っておくと、数式を丸暗記しようとして符号をプラスと間違えたり、余計な変数を書き足してしまう失敗を防ぐことができます。

微分の導出過程の確認

公式をより確実に自分のものとするために、商の微分計算を用いた変形の手順を確認します。

分子が1で分母が 1 + e^(-x) である分数を微分するため、商の微分公式を適用します。

分母の微分は合成関数の規則により、次のようになります。

\frac{d}{dx}(1 + e^{-x}) = -e^{-x}

商の微分公式によって分母を2乗し、分子に符号を反転させた値を配置します。

\sigma'(x) = \frac{e^{-x}}{(1 + e^{-x})^{2}}

この分数を、左側と右側の2つの分数に分解します。

\sigma'(x) = \frac{1}{1 + e^{-x}} \cdot \frac{e^{-x}}{1 + e^{-x}}

左側の分数はシグモイド関数の定義そのものです。右側の分数は、分子に1を足して1を引く変形を行うことで、以下の形に書き換えることができます。

\frac{e^{-x}}{1 + e^{-x}} = \frac{(1 + e^{-x}) - 1}{1 + e^{-x}} = 1 - \frac{1}{1 + e^{-x}}

この式の引き算の後ろにある部分も、シグモイド関数の定義と一致します。その結果として、公式が得られます。

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

客観的に確認できるシグモイド関数の利点は以下の通りです。

  • 出力値の範囲の限定 計算結果が常に0と1の間に収まるため、数値の発散を防ぎ、確率としての扱いが容易になります。
  • 微分計算の手間の削減 微分結果が元の関数の掛け算だけで表されるため、コンピュータで計算を行う際に複雑な指数計算を何度もやり直す必要がなく、処理負荷を抑えられます。
  • なめらかな変化の保証 すべての入力範囲においてグラフが途切れず、急な折れ目も存在しないため、勾配を利用したパラメータの微調整が安定して行えます。

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

一方で、この関数が持つ制約や問題点は以下の通りです。

  • 勾配消失の発生 入力値が極端に大きい場合や極端に小さい場合、微分の値がほぼ0になります。この性質により、多層のネットワークにおいて計算を進める際、修正のための情報が途中で消えて学習が進まなくなる勾配消失という現象が発生します。
  • ゼロを中心としない出力 出力される数値の範囲が0から1の正数に偏っているため、次の計算段階へ送られるデータの平均値が正の方向にずれ、学習の収束速度が遅くなる傾向があります。
  • ハードウェアへの計算負荷 四則演算だけで構成される区分線形関数と比較して、指数計算を伴うため、大規模な計算を実行する際に処理時間が長くなります。

まとめ

シグモイド関数の微分公式は、「自分自身と、1から自分を引いた値の積」という簡潔な構造を持っています。定義式の「1たす指数の逆数」という形と、微分の「シグマかける1引くシグマ」というリズムを結びつけておくことで、必要な場面で正確に数式を再現できるようになります。

今後の学習を確実に進めるための手順は以下の通りです。

  1. 白紙のノートを用意し、商の微分計算を使って定義式から微分公式を一度自分の手で書き出して導く
  2. 入力値が0のときのシグモイド関数の値と、そのときの微分の値を手計算で算出してグラフの傾きを確認する
  3. 勾配消失というデメリットを克服するために考案されたReLU関数の定義と微分を調べ、両者の性質の違いを比較する

語呂合わせによる記憶を手がかりにしつつ、背景にある計算手順を自分で追う習慣をつけることで、機械学習の基礎的な数学を体系的に定着させることができます。

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
海外放浪の末、2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。