ベストアンサー
ReLUはf(x)= max(0、x)として定義されます。 softplus はその微分代理であり、f(x)= ln(1 + e ^ x)として定義されます。
ReLUとSoftplusはどちらもほぼ同じですが、softplusが魅力的に滑らかで区別できる0に近い点が異なります。公式にlog(。)とexp(。)を含むsoftplus関数よりも、ReLUとその導関数を計算する方がはるかに簡単で効率的です。興味深いことに、softplus関数の導関数はロジスティック関数です:f “(x)= \ frac {1} {1 + e ^ {-x}}。
深層学習では、活性化関数を計算します。 ReLUに切り替えることで、ディープニューラルネットワークが役立つために必要な活性化関数の非線形性を維持しながら、順方向パスと逆方向パスがはるかに高速になります。
回答
活性化関数の要点は、非線形である必要があります。
理由を説明してください。複数のレイヤーのネットワーク(「浅い」ネットワークに対して「深い」と呼ばれる)がある場合、モデルはより高度な例を検出または処理することを学習する可能性があります。動作中、ネットワークはより多くの相互接続を利用します。重みの間(そしておそらくより多くの重み)。計算を行うとき、それの多くは実際に次のように数値を乗算および加算することを意味します:
y = f(W x + b)。
f(\ cdot)はいくつかの活性化関数です。
レイヤーを「カスケード」すると、各レイヤーの出力が次のレイヤーへの入力になります。たとえば、2層の場合:
y = x\_2 = f(W\_2 x\_1 + b\_2)= f(W\_2 f(W\_1 x\_0 + b\_1)+ b\_2)。
ただし、fの場合(\ cdot)は線形関数f(x)= \ alpha x + \ betaの場合、 anyであるという理由だけで、ネットワーク全体が1層ネットワークに「崩壊」します。線形関数の線形の組み合わせは、それ自体が線形関数です。
上記の式は次のようになります。
x\_2 = \ alpha(W\_2(\ alpha(W\_1 x\_0 + b\_1) + \ beta)+ b\_2)+ \ beta = \ alpha ^ 2 W\_1 W\_2 x\_0 + \ alpha ^ 2 W\_1 W\_2 b\_1 + \ alpha ^ 2 W\_2 \ beta + \ alpha W\_2 b\_1 + \ beta = \ alpha “x\_0 + \ beta “。
これは、重みがわずかに異なる単層ネットワークがある場合と同じです。
これで、ReLUは非線形性を導入します。つまり、上記のステートメントは当てはまりません。そのため、オプティマイザは、実際に計量をトレーニングしてすべてを機能させるために、「もっと頑張る」必要があります。もちろん、他の非線形関数(sigmoid、tanhなど)もありますが、要点は、それらが非線形でなければならないということです。
最後に、今書いた例は、単純な密に接続されたネットワークに基づいていますが、他の場合にも拡張されると思います。