活性化関数

Activation Function

活性化関数(Activation Function)とは、ニューラルネットワークの各ニューロンの出力に適用される非線形関数です。活性化関数がなければニューラルネットワークは単なる線形変換の積み重ねになってしまうため、非線形性を導入する上で不可欠な要素です。

なぜ非線形関数が必要か

線形関数の合成は結局線形関数になるため、活性化関数なしでは何層重ねても単層と等価です。非線形の活性化関数を導入することで、ネットワークは複雑な非線形パターンを学習できるようになります。

表:活性化関数の要点まとめ
ひとことで言うとニューロンの出力を変換して、ネットワークに「曲がった表現力」を与える関数。
なぜ必要かこれがないと何層重ねても1本の直線と同じになり、複雑な問題が解けない。
代表例ReLU(中間層の定番)、シグモイド(2値の確率)、ソフトマックス(多クラス)。

代表的な活性化関数

シグモイド関数(出力0〜1)、tanh関数(出力-1〜1)、ReLU(負の値を0にする)、Leaky ReLU、GELU、Swishなどがあります。現在の深層学習ではReLUとその変種が最もよく使われています。

図:活性化関数の役割
1入力の重み付き和直線的な計算結果
▶
2活性化関数を通す非線形に変換
▶
3表現力が増す曲線的な関係も学べる
▶
4次の層へ深いモデルが意味を持つ

出力層の活性化関数

隠れ層の活性化関数とは別に、出力層ではタスクに応じた活性化関数を選択します。二値分類ではシグモイド、多クラス分類ではソフトマックス、回帰では恒等関数が使われるのが一般的です。