2015-02-14

ニューラルネットの活性化関数 その2

記事「ニューラルネットの活性化関数 その1」の閲覧数がそこそこあるので、近年の活性化関数も記しておきます。

(1) Rectified linear unit (ReLU)
(2) Maxout activation functions (Maxout)

以下、簡単に解説しますが、不正確な表現も含みますので、正確な解釈は論文を読んでください。

(1) Rectified linear unit (ReLU) について

活性化関数は、
f(x) = max(0, x)
で、x > 0 の時は f(x) = x、x <= 0 の時は f(x) = 0 となります。
導関数は、
x > 0 の時は f'(x) = 1
です。x <= 0 の時は f'(x) = 0 となるので、結合荷重は変化しません。

こんな簡単な活性化関数で大丈夫なのかと思われるかもしれませんが、隠れ層のユニットの数がそこそこあれば、問題ないようです。

詳しくは次の Wikipedia のページを参照してください。
Rectifier (neural networks) - Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Rectifier_(neural_networks)
(2) Maxout activation functions (Maxout) について

活性化関数は、複数の異なる傾きと切片の直線関数 f(x) = ax + b の最大値 (max) を求めて凸関数を作り、凸関数と凹関数(=凸関数の上下が逆)を組み合わせて、様々な関数を近似するというものです。

詳しくは次の論文を参照してください。
[1302.4389] Maxout Networks
http://arxiv.org/abs/1302.4389

[関連記事]