活性化関数 - シグモイド・ReLU・Softmax

ニューラルネットの活性化関数を整理。シグモイドからReLU、Softmax、GELUまで、それぞれの特徴と用途を解説します。

活性化関数はニューロンの出力を決定する重要な部品。シグモイド、ReLU、Softmaxを押さえるのがG検定の基本です。

雷門 あかり(普段) 雷門 あかり

活性化関数って、なんでいろんな種類があるの?

六角 いずみ 先生(笑顔) 六角 いずみ 先生

活性化関数は非線形性を与える役割があるの。
もし線形関数だけなら、どれだけ層を重ねても1層の線形モデルと等価になってしまうのよ。

白銀 エマ(普段) 白銀 エマ

初期はシグモイド関数 σ(x) = 1/(1+exp(-x)) が主流。
S字カーブで0〜1に収まるけど、勾配消失問題の原因でもあるわ。

紫藤 ゆら(しょんぼり) 紫藤 ゆら

S字の両端で勾配がほぼゼロになっちゃうんですよねぇ〜…

六角 いずみ 先生(笑顔) 六角 いずみ 先生

そう。
そこでReLU(Rectified Linear Unit) f(x) = max(0, x) が登場。
正の入力では微分値が1で勾配消失しにくく、計算も速い。
2012年のAlexNetで広く使われ、現在の標準ね。

白銀 エマ(普段) 白銀 エマ

ReLUにも弱点があって、負の入力では出力も勾配も0になるDying ReLU問題。
これを解決する変種としてLeaky ReLU(リーキーReLU) が提案されたわ。

雷門 あかり(普段) 雷門 あかり

Leaky ReLUは何が違うの?

六角 いずみ 先生(普段) 六角 いずみ 先生

負の入力に対して小さな傾き (例: 0.01) を持たせる。
f(x) = max(0.01x, x)。
これでニューロンが完全に死ぬのを防ぐのよ。

白銀 エマ(普段) 白銀 エマ

他にはELU(指数線形ユニット)、Swish、GELUなど多数。
Transformer系ではGELU(Gaussian Error Linear Unit) がよく使われるわ。

紫藤 ゆら(しょんぼり) 紫藤 ゆら

うぅ〜ん、いっぱいあって選ぶの大変ですぅ…

六角 いずみ 先生(普段) 六角 いずみ 先生

最後にSoftmax関数。
多クラス分類の出力層で使う、全出力を0〜1の確率に変換する関数ね。
exp(xi) / Σexp(xj)で計算するの。

雷門 あかり(笑い) 雷門 あかり

Softmaxって、なんで名前にSoftが付いてるの?

白銀 エマ(普段) 白銀 エマ

argmax (最大値を1、他を0にする) の滑らかな (soft) 版だから。
確率分布として扱えるのが利点ね。
交差エントロピーと組み合わせて分類問題で使うのが定番よ。

六角 いずみ 先生(笑顔) 六角 いずみ 先生

tanh関数 (双曲線正接) もまだ現役。
RNNでシグモイドの代わりに使われることが多いわ。
出力範囲が-1〜1で、シグモイドより勾配が大きいの。

雷門 あかり(笑い) 雷門 あかり

活性化関数にも時代の流れがあるんだねぇ!

六角 いずみ 先生(普段) 六角 いずみ 先生

G検定では『シグモイド・ReLU・Leaky ReLU・Softmax・tanh』を押さえておいてね!

確認クイズ

多クラス分類の出力層で用いられ、出力を確率分布に変換する活性化関数はどれか。

  1. ReLU
  2. シグモイド
  3. Softmax
  4. tanh
こたえを見る

正解: 3. Softmax

Softmax関数は多クラス分類の出力層で使われ、exp(xi)/Σexp(xj) で全出力を0〜1の確率に変換します。シグモイドは2クラス分類の出力で使用、ReLUとtanhは中間層で使用します。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。