活性化関数について(ReLU関数など)

機械学習

活性化関数とはニューラルネットワークにおいて、線形変換をした後に適用する非線形関数もしくは恒等関数のことです。
活性化関数を深く理解していくために、
ニューラルネットワークについての基礎知識を踏まえて、活性化関数がどんな役割を果たしていて、
活性化関数にはどのようなものがあるのかを解説していきます。

スポンサーリンク

ニューラルネットワークとは

現在話題になっているディープラーニングはニューラルネットワークの発展形です。
ニューラルネットワークとは、人間の脳神経系のニューロンを数理モデル化したものの組み合わせのことです。

どういうことかというと、脳の中には多数のニューロン(神経細胞)が存在しています。
各ニューロンは、多数の他のニューロンから信号を受け取り、他の多数のニューロンへと信号を受け渡しています。
脳は、この信号の流れによって、さまざまな処理を行っています。

この仕組みをコンピュータで実現しようとしたものがニューラルネットワークです。

ニューロンのモデル

ニューロンのモデルは、1943年にマッカロックとピッツによって最初に提案されました。

net =W_1X_1 + W_2X_2 + W_nX_n

out =f(net - \theta)
この時に出力で使うときの関数のことを活性化関数といいます。

活性化関数の種類

ステップ関数

ステップ関数の式は以下のようにあらわされます。
f(x)=\left\{ \begin{matrix} \displaystyle 1 &\qquad(x\geqq a) \\ & \\ \displaystyle 0 &\qquad(x<a) \end{matrix} \right.

シグモイド関数

シグモイド関数の式は以下のようにあらわされます。
f(x)=\frac{1}{1+e^{-x}}

ReLU関数(ランプ関数)

ReLU関数の式は以下のようにあらわされます。
f(x)=max(0, x)

ソフトマックス関数

ソフトマックス関数の式は以下のようにあらわされます。
y_k=\frac{exp(a_k)}{\sum_{i=1}^nexp(a_i)}

恒等関数

恒等関数の式は以下のようにあらわされます。
f(x) = x

コメント

タイトルとURLをコピーしました