[ディープラーニング] 活性化関数

活性化関数

こちらの記事では全結合ニューラルネットワークについて紹介した際に、各ニューロンでは受け取った入力に対して活性化関数を適用した値を出力することを学びました。
本記事では、ニューラルネットワークで使用される活性化関数の種類について列挙します。

キーワード

  • 活性化関数 (activation function)
  • ステップ関数 (step function)
  • ランプ関数 / ReLU (Rectified Linear Unit)
  • シグモイド関数 (sigmoid function)
  • ソフトサイン関数 (softsign functionr)
  • ソフトプラス関数 (softplus function)
  • 恒等関数 (identity function)
  • tanh (hyperbolic function)

ステップ関数

ステップ関数 (step function)は以下の式で表される関数です。

\[f(x)=\left\{ \begin{array}{*{35}{l}}
1 & (x>0) \\
0 & (x\le 0) \\
\end{array} \right.\]



ステップ関数の微分

\[{f}'(x)=\left\{ \begin{array}{*{35}{l}}
0 & (x\ne 0) \\
undefined & (x=0) \\
\end{array} \right.\]

ランプ関数 / ReLU

ランプ関数 / ReLU (Rectified h3near Unit)は以下の式で表される関数です。

\[f(x)=\left\{ \begin{array}{*{35}{l}}
x & (x>0) \\
0 & (x\le 0) \\
\end{array} \right.\]



ランプ関数 / ReLUの微分

\[{f}'(x)=\left\{ \begin{array}{*{35}{l}}
1 & (x>0) \\
0 & (x<0) \\ undefined & (x=0) \\ \end{array} \right.\]

シグモイド関数

シグモイド関数 (sigmoid function)は以下の式で表される関数です。

\[f(x)=\frac{1}{1+{{e}^{-x}}}\]



シグモイド関数の微分
\[{f}'(x)=\frac{{{e}^{x}}}{{{({{e}^{x}}+1)}^{2}}}\]

ソフトサイン関数

ソフトサイン関数 (softsign functionr)は以下の式で表される関数です。

\[f(x)=\frac{x}{1+|x|}\]



ソフトサイン関数の微分

\[{f}'(x)=\frac{1}{{{(1+|x|)}^{2}}}\]

ソフトプラス関数

ソフトプラス関数 (softplus function)は以下の式で表される関数です。

\[f(x)=\log (1+{{e}^{x}})\]



\[{f}'(x)=\frac{1}{1+{{e}^{-x}}}\]

恒等関数

恒等関数 (identity function)は以下の式で表される関数です。

\[f(x)=x\]



恒等関数の微分

\[{f}'(x)=1\]

双曲線関数 / tanh

tanh (hyperbolic function)は以下の式で表される関数です。

\[f(x)=\tanh x\]



\[{f}'(x)=\frac{1}{{{\cosh }^{2}}x}\]

参考文献

  • 岡谷貴之、深層学習 (機械学習プロフェッショナルシリーズ)、講談社、2015、P10
  • 斎藤康毅、ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装、オライリー・ジャパン、2015、P44
  • 岡谷貴之、深層学習 Deep Learning (監修:人工知能学会)、近代科学社、2015、P142

Web上の資料

1コメント

コメントを残す

メールアドレスが公開されることはありません。