活性化関数

読み: かっせいかかんすう

ニューラルネットワークの各ニューロンに非線形性を導入する関数。線形変換の繰り返しでは表現できない複雑なパターンの学習を可能にする。

活性化関数 (Activation Function) は、ニューロンの線形出力 z = Wx + b に適用される非線形関数である。活性化関数がなければ多層ネットワークは単一の線形変換と等価になり、XOR のような非線形問題を解けない。活性化関数の選択は、モデルの学習速度や最終精度を左右する要因のひとつである。

画像認識向けのモデルでは、中間層に ReLU (Rectified Linear Unit) を用いる構成が代表例として挙げられる。f(x) = max(0, x) という単純な計算で、正の入力をそのまま通し負の入力を 0 にする。シグモイドや tanh は入力の絶対値が大きい領域で勾配が飽和するのに対し、ReLU は正の領域で勾配が 1 に保たれる。順方向の計算も比較 1 回で済む。

超解像や画像生成では出力層に tanh (-1 から 1) や sigmoid (0 から 1) を使い、ピクセル値の範囲を制約する。中間層には ReLU 系、出力層にはタスクに応じた活性化関数を選択するのが基本方針である。

関連用語

関連記事