活性化関数ReLU関数について
活性化関数、伝達関数と呼ばれる関数、中でも現代のニューラルネットワークでは最も一般的に利用されるReLUについて、 わかりやすく説明したい。
パーセプトロンとニューラルネットワークの違い
一般的に言われる「単純パーセプトロン」は、単層のネットワークで、活性化関数にステップ関数(閾値を境に出力が切り替わる関数)を利用したモデルです。 一方で、多層でシグモイド関数などの滑らかな活性化関数を使用するネットワークを「多層パーセプトロン」と呼び、これがニューラルネットワークとなります。
パーセプトロンについて
パーセプトロンの誕生については1957年まで遡ります。視覚と脳の機能をモデル化し学習能力を持つものを言います。1960年代に爆発的なニューラルネットワークブームを巻き起こすも、1969年に線形分離可能なものしか学習できない事が指摘され下火となりました。
いくつかある活性化関数
ステップ関数
前述の通り、閾値を境に出力が変わる関数
シグモイド関数
こちらもニューラルネットワークでよく用いられる活性化関数のひとつ
exp(-x)はを意味する
シグモイド関数とステップ関数の違いは滑らかさであり、入力に対して、連続的に出力が変化するのが特徴です。 つまりステップ関数が0か1のどちらかの値しか返さないのに対して、シグモイド関数は実数を返す。0.***という感じで。 ただし、ステップ関数もシグモイド関数もいずれも、どんな値も0~1の間に押し込める点、非線形な関数であるという点は共通しています。
ReLU(ランプ)関数について
ReLU関数は非常にシンプルで、入力が0を超えていれば入力をそのまま出力し、0未満であれば0を返します。 現代のニューラルネットワークにおいては、一般的にReLU関数が活性化関数として使われています。