活性化関数 【activation function】 伝達関数 / transfer function
人間の脳の神経細胞の働きを模した機械学習モデルである人工ニューラルネットワーク(ANN:Artificial Neural Network)では、あるニューロンは上の階層の複数のニューロンから入力値を受け取る。入力値はニューロン間の繋がりの強さに応じて重み付けされて加算される。
加算された値に対して実数倍など単純な操作だけを行って次のニューロンに出力したのでは単なる線形変換の繰り返しとなってしまい、階層を深くする意味がないため、入力値の和に対して非線形な変換を行う必要がある。この変換を行うのが活性化関数である。
初期の研究では、脳のニューロンの発火(外部からの刺激によって電気信号を他のニューロンに発信する現象)を模して「ステップ関数」が用いられた。これはある閾値(しきい値、基準となる値)を超えれば「1」を、超えなければ「0」を出力する関数である。
バックプロパゲーションなどの手法を用いる場合は微分できる関数であることが望ましいため、基準値付近で急激に出力値が上昇する「シグモイド関数」あるいは「tanh関数」(hyperbolic tangent:双曲線正接関数)などが好まれる。近年では、基準値以下では0、基準値以上では線形に出力値が上昇する「ランプ関数」(ReLU:Rectified Linear Unit)や、これを曲線で近似した「ソフトプラス」がよく用いられる。
(2023.10.4更新)