活性化関数(Activation Function)とは、ニューラルネットワークの各ニューロンの出力に適用される非線形関数です。活性化関数がなければニューラルネットワークは単なる線形変換の積み重ねになってしまうため、非線形性を導入する上で不可欠な要素です。
なぜ非線形関数が必要か
線形関数の合成は結局線形関数になるため、活性化関数なしでは何層重ねても単層と等価です。非線形の活性化関数を導入することで、ネットワークは複雑な非線形パターンを学習できるようになります。
代表的な活性化関数
シグモイド関数(出力0〜1)、tanh関数(出力-1〜1)、ReLU(負の値を0にする)、Leaky ReLU、GELU、Swishなどがあります。現在の深層学習ではReLUとその変種が最もよく使われています。
出力層の活性化関数
隠れ層の活性化関数とは別に、出力層ではタスクに応じた活性化関数を選択します。二値分類ではシグモイド、多クラス分類ではソフトマックス、回帰では恒等関数が使われるのが一般的です。