4.2 活性化関数(ReLU、Sigmoid、Softmax、勾配消失問題)

G検定

ニューラルネットワークの各ノード(人工ニューロン)は「入力の重み付き和」を計算し、それを 活性化関数(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関数の用途は?」=多クラス分類
  • 「勾配消失問題とは?」=深層学習の学習が進まなくなる現象

練習問題(例題)

問題:次のうち「勾配消失問題を軽減できる活性化関数」として最も適切なものはどれか?

  1. Sigmoid
  2. tanh
  3. ReLU
  4. Softmax

👉 正解:3

タイトルとURLをコピーしました