(第2回)活性化関数について
入力された信号の総和を出力信号に変換する関数を活性化関数といいます。式で表すと
a=b+w1x1+w2x2
y=h(a)
図で表すと以下のような形になります。
バイアス「b」と重み「w」の総和が「a」となりますが、その「a」をどのように出力するかを決める関数が「活性化関数」と言います。 活性化関数にはいくつかありますが、「ステップ関数」「シグモイド関数」「ReLU関数」「ソフトマックス関数」についてまとめます。
<ステップ関数>
ステップ関数は、0か1を出力します。if文を使った判定式で「True」or「False」という感じです。xの数値が0を超えた瞬間にyが1になる という関数です。
<シグモイド関数>
ステップ関数との違いは、「曲線」という点です。0~1の出力されるという点は同じですが滑らかに出力されます。
<ReLU関数>
活性化関数では、層を深くする意味がなくなってしまうため、線形関数は使いません。ステップ関数やシグモイド関数も線形ではありません。
しかしグラフのとおり、半分線形になっている関数があります。ReLU関数は0までは0を出力し、0より大きい場合は、入力の総和をそのまま出力します。0を超えると線形になる関数です。
英語「ReLU: Rectified Linear Unit」を訳すと、「整流器(rectifier)」。電気工学では整流された線形ユニットとなり、
「電流を一方向にだけ流す(=整流)機器」を指、「正の値だけを流し、負の値は流さないようにしている」ことを意味しているとのこと。
<ソフトマックス関数>
いままでの活性化関数は、1つの入力の総和だけで判断されていましたが、ソフトマックス関数は各入力の総和が影響します。
複数の入力の総和が、合計1の出力になります。
たとえば、3個の入力の総和が、[1,0,0」の場合、[0.576,0.212,0.212]と合計が1になるように出力されます。
グラフはx0が-0.5,-2.5,0.0,2.5,5.0の5個のソフトマックス関数のグラフになります。グラフのx軸とx0の2個の入力に対して、
出力がどのように変化するのかが表示されます。
横軸x=0の時、x0=0の場合は、0.5が出力されていますが、x0=5では0(x0側は1)、x0=-5では1(x0側は0)が出力されます。 このように、ほかの入力によって変化します。
ほかにも色々な活性化関数がありますが、入力信号どどのように発火させるか?を決定する役割があるのが活性化関数です。
-------------