活性化関数 – Wikipedia

活性化関数(かっせいかかんすう、英: activation function)もしくは伝達関数(でんたつかんすう、英: transfer function)とは、ニューラルネットワークのニューロンにおける、入力のなんらかの合計(しばしば、線形な重み付け総和)から、出力を決定するための関数で、非線形な関数とすることが多い。

よく使われているモデルでは、人工ニューロンは1つ以上の入力を受け取り(1つ以上の樹状突起に相当)、それらの重み付け総和から、活性化関数を通して、出力を生成する。

数式では、以下の

φ{displaystyle varphi }

が活性化関数。

y=φ(∑i=1mwixi+b){displaystyle y=varphi left(sum _{i=1}^{m}w_{i}x_{i}+bright)}

古典的にはステップ関数が提案されたのだが、他にもいろいろと考えることはできるので、1986年のバックプロパゲーションの発表以降はシグモイド関数が最も一般的だったが、現在はReLU(ランプ関数)の方が良いと言われる[1]。活性化関数は単調増加関数が使われる事が多いが、必ずしもそうしなければいけないという物でもなく動径基底関数なども使われる。

人工神経の活性化関数は、ネットワークを強化または単純化するような特性を持つものが選ばれる。実際、線型伝達関数を使った多層パーセプトロンには、全く等価な単層ネットワークが必ず存在する。したがって、多層ネットワークの利点を生かすには非線形関数が必須である。

以下ステップ関数と線形結合の説明では、人工神経への全入力の重み付けされた総和を u で表し、入力数を n で表す。

u=∑i=1nwixi{displaystyle u=sum _{i=1}^{n}w_{i}x_{i}}

ここで w はシナプスの重み付けベクトルであり、x は入力ベクトルである。これはバイアス項を加える前の値。

ステップ関数[編集]

1943年の、いわゆる「マカロックとピッツ」の発表で提案されたもの。

ステップ関数の出力 y は 0 か 1 の二値であり、u がしきい値 b より大きいか小さいかで出力が決定される。入力の総和がしきい値以上であるとき、出力信号が 1 として出力される。