活性化関数

活性化関数(Activation Function)はニューラルネットワークの各ニューロンにおいて線形変換の出力を非線形変換する関数であり、ネットワークに非線形表現能力を与える本質的な構成要素である。活性化関数の選択は勾配消失・勾配爆発・収束速度・表現能力・普遍近似能力に直接影響し、深層学習の理論と実践の両面で中心的な役割を果たす。

設定

$L$ 層のニューラルネットワークにおいて、第 $\ell$ 層の前活性化値(Pre-activation)$\boldsymbol{z}^{(\ell)} \in \mathbb{R}^{n_\ell}$ と活性化値(Post-activation)$\boldsymbol{a}^{(\ell)} \in \mathbb{R}^{n_\ell}$ の関係を

\[\boldsymbol{z}^{(\ell)} = W^{(\ell)}\boldsymbol{a}^{(\ell-1)} + \boldsymbol{b}^{(\ell)},\qquad\boldsymbol{a}^{(\ell)} = \sigma(\boldsymbol{z}^{(\ell)})\]

と定義する($\sigma$ は要素ごとに適用される活性化関数、$W^{(\ell)}$ は重み行列、$\boldsymbol{b}^{(\ell)}$ はバイアス)。活性化関数がなければネットワーク全体は線形変換の合成として線形モデルと等価になり、非線形活性化関数の導入が深層ネットワークの表現力の源泉となる。

活性化関数の数学的要件

実用的な活性化関数が満たすべき要件を整理する。

  • 非線形性:線形関数でないこと。これがネットワークに本質的な表現能力を付与する。
  • 微分可能性(ほぼ至るところで):誤差逆伝播法(Backpropagation)による勾配計算のため、少なくとも $\nu$-a.e. で微分可能であること(劣勾配の利用も可)。
  • 計算効率:前向き計算と後ろ向き計算(微分計算)が $O(1)$ で実行可能であること。
  • 勾配の安定性:深層ネットワークにおける勾配消失・勾配爆発を抑制する性質。

古典的活性化関数

シグモイド関数

シグモイド関数(Sigmoid Function、ロジスティック関数)は

\[\sigma(z) = \frac{1}{1 + e^{-z}} \in (0, 1)\]

と定義される。導関数は $\sigma'(z) = \sigma(z)(1-\sigma(z)) \in (0, 1/4]$という簡潔な形を持つ。確率的解釈(出力が $(0,1)$ に収まる)からロジスティック回帰・二値分類の出力層として用いられ、ベルヌーイ分布の GLM(一般化線形モデル)の正準リンク関数に対応する。

問題点:勾配消失。$|z| \gg 0$ のとき $\sigma'(z) \approx 0$ となり(飽和領域)、深い層への勾配が指数的に減衰する(勾配消失問題)。$L$ 層ネットワークで各層の勾配の最大値が $1/4$ であるから、逆伝播の勾配は最悪 $(1/4)^L \to 0$($L \to \infty$)に減衰する。また出力が $(0,1)$(ゼロ中心でない)のため、下流の勾配が同符号になる傾向があり最適化が非効率(ジグザグ更新)になる。さらに指数関数の計算コストも欠点の一つである。

双曲線正接関数(tanh)

双曲線正接関数(Hyperbolic Tangent)は

\[\tanh(z) = \frac{e^z - e^{-z}}{e^z + e^{-z}}= 2\sigma(2z) - 1 \in (-1, 1)\]

と定義される。導関数は $\tanh'(z) = 1 - \tanh^2(z) \in (0, 1]$。シグモイドとの関係は $\tanh(z) = 2\sigma(2z) - 1$ であり、シグモイドをゼロ中心化・スケール変換した形に対応する。出力が $(-1,1)$(ゼロ中心)であるため勾配更新の対称性が改善され、シグモイドより実用的である。しかし飽和問題(勾配消失)は本質的に同様に残る:$|z| \gg 0$ で $\tanh'(z) \approx 0$。

勾配消失の定量的比較として、$z = 0$ 近傍では $\sigma'(0) = 1/4$(シグモイド)、$\tanh'(0) = 1$(tanh)であり、初期化直後の勾配の大きさは tanh が 4 倍大きい。これが tanh の実用上の優位性の一因である。

整流線形ユニット(ReLU)とその変種

ReLU

ReLU(Rectified Linear Unit;Hahnloser et al., 2000;Nair–Hinton, 2010)は

\[\mathrm{ReLU}(z) = \max(0, z) = z \cdot \mathbf{1}[z > 0]\]

と定義される。導関数は

\[\mathrm{ReLU}'(z) =\begin{cases}1 & z > 0 \\0 & z < 0\end{cases}\]

($z = 0$ では劣勾配を用い、慣例として $0$ または $1/2$ を取る)。

利点:

  • 勾配消失の緩和:$z > 0$ の領域では勾配が $1$ に保たれ(飽和しない)、深層ネットワークでの勾配伝播が改善される。
  • 計算効率:$\max(0,z)$ の計算は指数関数を含まず $O(1)$ で非常に高速。
  • スパース活性化:約半数のニューロンが $0$ を出力(ゼロ勾配)となり、ネットワークの疎な表現(特徴選択的な活性化)が生じる。生物学的ニューロンの発火(スパイク)パターンとの類似も指摘される。

問題点:

  • 死んだニューロン問題(Dying ReLU):$z < 0$ の領域では勾配がゼロとなり、重みが大きな負の値に更新されたニューロンが以降の学習で永続的に不活性化される。特に学習率が大きいとき深刻になる。
  • ゼロ中心でない出力:出力が $[0,\infty)$ に限られるため、シグモイドと同様に非対称な勾配更新が生じる。
  • 非有界:出力が上限なく増大するため、適切なバッチ正規化・重みの初期化・学習率設定が必要。

Leaky ReLU と Parametric ReLU

死んだニューロン問題への対策として、Leaky ReLU(Maas et al., 2013)は負領域に小さな勾配を設ける:

\[\mathrm{LeakyReLU}(z; \alpha) =\begin{cases}z & z > 0 \\\alpha z & z \leq 0\end{cases}\quad \alpha \in (0, 1)\]

典型的に $\alpha = 0.01$ が用いられる。負領域の勾配 $\alpha > 0$ が死んだニューロンを防ぐ。Parametric ReLU(PReLU)(He et al., 2015)は$\alpha$ を学習可能なパラメータとして各ニューロンまたは各層ごとに最適化する。逆伝播による $\alpha$ の更新式は$\frac{\partial \mathcal{L}}{\partial \alpha} = \sum_{z \leq 0} z \cdot \frac{\partial\mathcal{L}}{\partial a}$であり、追加パラメータのオーバーヘッドは軽微である。

ELU(Exponential Linear Unit)

ELU(Clevert et al., 2016)は

\[\mathrm{ELU}(z; \alpha) =\begin{cases}z & z > 0 \\\alpha(e^z - 1) & z \leq 0\end{cases}\quad \alpha > 0\]

と定義される。$z \to -\infty$ で $-\alpha$ に飽和し、$z = 0$ で連続($\mathrm{ELU}(0) = 0$)かつ左微分が $\alpha$ に収束(ただし右微分は $1$)。負領域に飽和した出力が得られることで、ゼロ中心化への近似が達成される。勾配は $z > 0$ で $1$、$z \leq 0$ で $\alpha e^z \in (0,\alpha]$。ReLU と比べて活性化値の平均がゼロに近くなり(内部共変量シフトの軽減)、バッチ正規化なしでも安定した学習が可能な場合がある。欠点は指数関数の計算コストである。

SELU(Scaled ELU)

SELU(Klambauer et al., 2017)は ELU にスケール係数を追加し、適切な初期化(LeCun 正規化)のもとで各層の活性化が平均 $0$・分散 $1$ の正規分布へ自己正規化(Self-Normalizing)する性質を持つ:

\[\mathrm{SELU}(z) = \lambda_{\mathrm{selu}}\begin{cases}z & z > 0 \\\alpha_{\mathrm{selu}}(e^z - 1) & z \leq 0\end{cases}\]

定数は $\lambda_{\mathrm{selu}} \approx 1.0507$、$\alpha_{\mathrm{selu}} \approx 1.6733$ であり、$\boldsymbol{z}^{(\ell)}$ が i.i.d. 正規分布に従うとき$\mathrm{SELU}(\boldsymbol{z}^{(\ell)})$ の平均と分散が保持されることを不動点方程式(Fixed-Point Equation)から導出する。自己正規化性によりバッチ正規化を明示的に適用せずとも学習が安定化する(ただし畳み込み層では効果が限定的)。

Softplus とその関連

Softplus は ReLU の滑らかな近似として

\[\mathrm{Softplus}(z) = \log(1 + e^z) \in (0, \infty)\]

と定義される。導関数はシグモイド関数そのもの:$\mathrm{Softplus}'(z) = \sigma(z)$。ReLU を連続微分可能化した関数であり、$\mathrm{ReLU}(z) = \lim_{\beta\to\infty} \frac{1}{\beta}\log(1+e^{\beta z})$として統一的に理解できる。ReLU より滑らかだが指数関数の計算を必要とし、実用上 ReLU の高速性が好まれるため中間層の活性化関数としての利用は限定的。

GELU と Swish

GELU(Gaussian Error Linear Unit)

GELU(Hendrycks–Gimpel, 2016)は入力を確率的にゲーティングする関数として、

\[\mathrm{GELU}(z)= z \cdot P(Z \leq z)= z \cdot \Phi(z)= \frac{z}{2}\left[1 + \mathrm{erf}\!\left(\frac{z}{\sqrt{2}}\right)\right]\]

と定義される($\Phi$:標準正規分布の累積分布関数、$Z \sim \mathcal{N}(0,1)$、$\mathrm{erf}$:誤差関数)。GELU は「入力 $z$ が標準正規分布の下で無視されない確率 $\Phi(z)$ でパスされる」という確率的ゲーティングの期待値として導出される。近似式として $\mathrm{GELU}(z) \approx 0.5z(1 + \tanh[\sqrt{2/\pi}(z + 0.044715z^3)])$が実用上広く用いられる。ReLU との比較では負領域で小さな負の値(厳密にゼロではない)を持ち、曲率が有限であるため滑らかな最適化ランドスケープを与える。BERT・GPT・Vision Transformer(ViT)など現代の Transformer モデルで標準的な活性化関数として採用されている。

Swish(SiLU)

Swish(Ramachandran et al., 2017)は自己ゲーティング関数として

\[\mathrm{Swish}(z; \beta)= z \cdot \sigma(\beta z)= \frac{z}{1 + e^{-\beta z}}\]

と定義される($\beta > 0$:スケールパラメータ)。$\beta = 1$ のとき SiLU(Sigmoid Linear Unit)と呼ばれ、$\mathrm{SiLU}(z) = z\sigma(z)$。$\beta \to \infty$ で ReLU に収束し、$\beta = 0$ で線形関数 $z/2$ となる。Swish は非単調($z < 0$ 付近で局所的な谷を持つ)であり、導関数 $\mathrm{Swish}'(z) = \sigma(\beta z) + \beta z\sigma(\beta z)(1-\sigma(\beta z))$は滑らかでゼロにならない。EfficientNet・MobileNetV3 などの軽量モデルで有効性が示されており、自動探索(AutoML)によって発見された活性化関数でもある。

Mish

Mish(Misra, 2019)は

\[\mathrm{Mish}(z)= z \cdot \tanh(\mathrm{Softplus}(z))= z \cdot \tanh(\log(1+e^z))\]

と定義される。Swish と同様に非単調で滑らかな関数であり、下界 $\approx -0.31$ を持ち上方は非有界。YOLO 系の物体検出モデルで実験的に良好な結果が報告されている。

出力層の活性化関数

ソフトマックス関数

$K$ クラス分類の出力層に用いられるソフトマックス関数は

\[\mathrm{softmax}(\boldsymbol{z})_k= \frac{\exp(z_k)}{\sum_{j=1}^K \exp(z_j)},\quad k = 1, \ldots, K\]

と定義される($\boldsymbol{z} \in \mathbb{R}^K$)。出力は $\sum_k \mathrm{softmax}(\boldsymbol{z})_k = 1$(確率分布の正規化条件)を満たす。ソフトマックスは $\mathrm{Log\text{-}Sum\text{-}Exp}(\boldsymbol{z}) = \log\sum_k e^{z_k}$の勾配として得られ、Log-Sum-Exp は凸関数であるからソフトマックスは $\boldsymbol{z}$ の単調変換として解釈できる。数値的安定性のため実装では$\mathrm{softmax}(\boldsymbol{z})_k = \exp(z_k - \max_j z_j)/\sum_j \exp(z_j - \max_j z_j)$とオフセットを引く。カテゴリカル交差エントロピー損失との組み合わせ(前向き計算と逆伝播の安定化)はlog-softmax $\log\mathrm{softmax}(\boldsymbol{z})_k = z_k - \mathrm{LogSumExp}(\boldsymbol{z})$を直接計算することで実現される。

温度付きソフトマックス

温度付きソフトマックス(Temperature-Scaled Softmax)は

\[\mathrm{softmax}(\boldsymbol{z}/T)_k= \frac{\exp(z_k/T)}{\sum_j \exp(z_j/T)}\]

と定義される($T > 0$:温度パラメータ)。$T \to 0$ で argmax(ハード分類)に収束し、$T \to \infty$ で一様分布に収束する。知識蒸留(Knowledge Distillation)では教師モデルの「ソフトラベル」を高温($T > 1$)で生成することで暗黙の知識を転移し、Transformer の注意機構では $T = \sqrt{d_k}$($d_k$:キーの次元)で内積のスケールを正規化する(Scaled Dot-Product Attention)。

普遍近似定理との関係

普遍近似定理(Universal Approximation Theorem;Cybenko, 1989;Hornik, 1991)は適切な活性化関数を持つ一層の幅広いニューラルネットワーク(浅いネットワーク)が任意の連続関数を任意の精度で近似できることを保証する。

定理(Hornik, 1991):$\sigma: \mathbb{R} \to \mathbb{R}$ が有界・連続・かつ非定数のとき、任意のコンパクト集合 $\mathcal{K} \subset \mathbb{R}^d$ 上の連続関数 $f$、および $\varepsilon > 0$ に対して、十分大きな幅 $N$ を持つ一層ネットワーク$g(\boldsymbol{x}) = \sum_{j=1}^N c_j \sigma(\boldsymbol{w}_j^\top \boldsymbol{x} + b_j)$が存在して $\sup_{\boldsymbol{x} \in \mathcal{K}}|f(\boldsymbol{x}) - g(\boldsymbol{x})| < \varepsilon$ を満たす。

ReLU については有界でないため Hornik の定理の仮定を満たさないが、別の証明アプローチ(Leshno et al., 1993)により、活性化関数 $\sigma$ が非多項式(Almost Everywhere な意味)であれば普遍近似が成立することが示された。ReLU ネットワーク(区分線形関数の一般化)に対しては深さと幅のトレードオフを精密に解析した結果が知られており、深さ $L$ の ReLU ネットワークは最大$O((nL)^d/(d! \cdot (L-1)^{d-1}))$ 個の線形領域を表現でき、深さを増すことで指数的に表現能力が拡大することが示されている(Montufar et al., 2014)。

勾配消失・勾配爆発と活性化関数

$L$ 層ネットワークの逆伝播における勾配は

\[\frac{\partial \mathcal{L}}{\partial \boldsymbol{z}^{(1)}}= \left(\prod_{\ell=2}^L W^{(\ell)} \mathrm{diag}(\sigma'(\boldsymbol{z}^{(\ell-1)}))\right)\frac{\partial \mathcal{L}}{\partial \boldsymbol{z}^{(L)}}\]

という積の形で与えられる。この積のスペクトルノルムが指数的に小さく(大きく)なると勾配消失(爆発)が生じる。活性化関数の役割は $\mathrm{diag}(\sigma'(\boldsymbol{z}^{(\ell)}))$ の要素を制御することにある。

ReLU の場合 $\sigma'(z) \in \{0,1\}$ であり、勾配は通過するか完全にカットされるか(バイナリゲート)である。アクティブなニューロン($z > 0$)では勾配が保持されるが、不活性なニューロン($z \leq 0$)では消滅する。ResNet(残差接続)は $\boldsymbol{a}^{(\ell)} = \sigma(F(\boldsymbol{a}^{(\ell-1)})) + \boldsymbol{a}^{(\ell-1)}$という恒等写像との加算により勾配の高速道路(Gradient Highway)を形成し、深層でも勾配消失を回避する(後節)。

バッチ正規化との相互作用

バッチ正規化(Batch Normalization;Ioffe–Szegedy, 2015)は活性化前(Pre-BN)または活性化後(Post-BN)にミニバッチ統計量で正規化を行う:

\[\hat{z}_i = \frac{z_i - \hat{\mu}_B}{\sqrt{\hat{\sigma}_B^2 + \varepsilon}},\quad \tilde{z}_i = \gamma \hat{z}_i + \delta\]

($\hat{\mu}_B$・$\hat{\sigma}_B^2$:ミニバッチの平均・分散、$\gamma$・$\delta$:学習可能なスケール・シフト、$\varepsilon$:数値安定化定数)。バッチ正規化と活性化関数の配置順(BN $\to$ 活性化 vs. 活性化 $\to$ BN)は実験的に議論が続いているが、多くの実装では BN の後に活性化(特に ReLU)を適用する。バッチ正規化はシグモイド・tanh の飽和問題を大幅に緩和し、これらの古典的活性化関数の実用性を回復する効果がある。

活性化関数の比較

活性化関数出力範囲勾配範囲ゼロ中心飽和計算コスト主な用途
Sigmoid$(0,1)$$(0, 1/4]$×両側中(指数関数)二値分類出力層
tanh$(-1,1)$$(0,1]$○両側中(指数関数)RNN・LSTM
ReLU$[0,\infty)$$\{0,1\}$×片側(負)低(max 演算)CNN・MLP 中間層
Leaky ReLU$(-\infty,\infty)$$\{\alpha,1\}$△なし低GAN・深層 CNN
ELU$(-\alpha,\infty)$$(0,1]$近似片側(負)中(指数関数)深層 MLP
GELU$\approx(-0.17,\infty)$滑らか近似なし中(erf 関数)Transformer・BERT・GPT
Swish/SiLU$\approx(-0.28,\infty)$滑らか近似なし中(シグモイド)EfficientNet・軽量モデル
Softmax$(0,1)^K$(和 $=1$)———中(指数関数 $\times K$)多クラス分類出力層

活性化関数の選択指針

  • 中間層(汎用):ReLU が計算効率・勾配消失の緩和・実装の簡便さから第一選択。死んだニューロンが問題になる場合は Leaky ReLU または ELU を検討する。
  • Transformer・大規模言語モデル:GELU または SiLU(Swish)が標準。滑らかな最適化ランドスケープと非単調性が有効とされる。
  • RNN・LSTM:tanh が内部ゲートに、シグモイドがゲーティング機構に用いられる。勾配消失はゲート機構と BPTT のトランケーションで対処。
  • 出力層:二値分類 $\to$ シグモイド、多クラス分類 $\to$ ソフトマックス、回帰 $\to$ 恒等写像(活性化なし)または Softplus(正値出力が必要な場合)。
  • 深層ネットワーク(バッチ正規化なし):SELU(LeCun 初期化との組み合わせ)により自己正規化を活用する。
  • GAN の生成器:Leaky ReLU(識別器)と tanh(生成器出力)の組み合わせが実証的に有効。

まとめ

活性化関数はニューラルネットワークの非線形表現能力の源泉であり、その選択は勾配消失・勾配爆発・計算効率・出力の性質・普遍近似能力に直接影響する。シグモイド・tanh の飽和問題を克服した ReLU は深層学習の実用化を支えた中心的革新であり、死んだニューロン問題への対策として Leaky ReLU・ELU・SELU が開発された。GELU・Swish は滑らかな非単調性と確率的ゲーティングの解釈を持ち、現代の大規模モデルで主流となっている。普遍近似定理は非多項式活性化関数を持つネットワークが任意の連続関数を近似できることを保証し、ReLU ネットワークの線形領域数の指数的増大は深さが表現能力に与える本質的な貢献を示す。バッチ正規化との相互作用・残差接続との組み合わせにより、活性化関数の設計はネットワーク全体のアーキテクチャ設計と不可分に結びついた問題となっている。

Mathematics is the language with which God has written the universe.





















数理統計学 機械学習