ニューラルネットワークの各ノード(人工ニューロン)は「入力の重み付き和」を計算し、それを 活性化関数(Activation Function) に通して出力します。
活性化関数はネットワークの「非線形性」を担う重要な役割を果たし、学習の性能に大きな影響を与えます。
活性化関数の役割
- 非線形性の付与
- 活性化関数を使わないと、どれだけ層を重ねても「線形モデル」と同等になる。
- 特徴表現の多様化
- データの複雑なパターンを表現可能にする。
- 分類や確率出力の実現
- ソフトマックス関数により、多クラス分類が可能。
👉 試験ポイント:「活性化関数が非線形性を導入し、ニューラルネットワークの表現力を高める」。
Sigmoid関数
数式
f(x) = 1 / (1 + e^(-x))
特徴
- 出力が 0〜1 に収まる。
- 確率的な解釈が可能。
利点
- 直感的に分かりやすい(入力が大きければ1、小さければ0)。
課題
- 勾配消失問題が発生しやすい。
- 出力が0または1に近づくと、勾配が極端に小さくなり、学習が進まなくなる。
ReLU(Rectified Linear Unit)
数式
f(x) = max(0, x)
特徴
- 0以下の入力は0、0より大きければそのまま出力。
- 現在のディープラーニングで最も広く使われている。
利点
- 勾配消失を軽減。
- 計算が非常にシンプル。
課題
- **ニューロンの死(Dead ReLU)**問題:一度0を出し続けると、そのニューロンが更新されなくなる。
- 対策として「Leaky ReLU」「ELU」などの派生関数がある。
Softmax関数
数式
f(xi) = exp(xi) / Σ exp(xj)
特徴
- 入力ベクトルを「確率分布」に変換。
- 出力が0〜1の範囲に収まり、合計が1になる。
利点
- 多クラス分類問題で利用(例:猫/犬/鳥を分類)。
- 出力を「各クラスの確率」として解釈可能。
勾配消失問題(Vanishing Gradient Problem)
定義
- ニューラルネットワークが深くなると、誤差逆伝播で勾配が伝わる過程でどんどん小さくなり、重み更新がほとんど行われなくなる現象。
主な原因
- Sigmoidやtanhのような「出力が飽和する活性化関数」を多層で用いた場合。
影響
- ネットワークが学習しない/学習速度が極端に遅くなる。
対策
- ReLU系活性化関数の使用
- Batch Normalization
- 適切な重み初期化(Xavier, He初期化)
👉 試験頻出:「勾配消失問題の原因と対策」。
まとめ
- Sigmoid:確率解釈に便利だが、勾配消失問題がある。
- ReLU:計算効率が高く、勾配消失を軽減。現在の主流。
- Softmax:多クラス分類に利用、確率分布を出力。
- 勾配消失問題:活性化関数や深い層で生じる。ReLUやBatch Normalizationで対策。
出題傾向
- 「活性化関数の役割は?」=非線形性を導入すること
- 「ReLUの利点と欠点は?」
- 「Softmax関数の用途は?」=多クラス分類
- 「勾配消失問題とは?」=深層学習の学習が進まなくなる現象
練習問題(例題)
問題:次のうち「勾配消失問題を軽減できる活性化関数」として最も適切なものはどれか?
- Sigmoid
- tanh
- ReLU
- Softmax
👉 正解:3