1. 程式人生 > >神經網路中的非線性啟用函式

神經網路中的非線性啟用函式

目錄

0. 前言

1. ReLU 整流線性單元

2. 絕對值整流線性單元

3. 滲漏整流線性單元

4. 引數化整流線性單元

5. maxout 單元

6. logistic sigmoid 單元

7. 雙曲正切單元

8. 徑向基函式

9. softplus 函式

10. 硬雙曲正切函式


如果這篇文章對你有一點小小的幫助,請給個關注,點個贊喔~我會非常開心的~

0. 前言

萬能近似定理(universal approximation theorem)表示,一個前饋神經網路如果具有線性輸出層和至少一層具有任何一種擠壓性質的啟用函式的隱藏層,只要給予網路足夠數量的隱藏單元,它可以以任意精度來近似任何從一個有限維空間到另一個有限維空間的可測函式,前饋神經網路的導數也可以任意好的近似函式的導數。

假設,在神經網路中不使用非線性啟用函式,輸入層 x ,隱藏層輸出 z_1 ,輸出層輸出 z_2 ,最終的輸出仍然是線性的。

z^{(1)}=(w^{(1)})^Tx+b^{(1)}

\begin{align*} z^{(2)} &=(w^{(2)})^Tz^{(1)}+b^{(2)} \\ &=(w^{(2)})^T((w^{(1)})^Tx+b^{(1)})+b^{(2)} \\ &=(w^{(2)})^T(w^{(1)})^Tx+(w^{(2)})^Tb^{(1)}+b^{(2)} \\ &= w^Tx+b \end{align*}

在新技術的研究和開發期間,通常會測試很多不同的啟用函式,並且發現許多標準方法的變體表現非常好。

1. ReLU 整流線性單元

大多數隱藏單元採用 ReLU 整流線性單元(rectified linear unit),g(z)=\max\{0,z\} :

如上圖所示(圖源:深度學習),函式仍然非常接近線性,因此它保留了許多線性模型易於使用梯度優化的屬性

ReLU 的一個缺陷是它們不能通過基於梯度的方法學習那些使啟用函式為零的樣本。

2. 絕對值整流線性單元

絕對值整流線性單元(absolute value rectification)表示為,g(z)=\left|z\right| :

3. 滲漏整流線性單元

滲漏整流線性單元(Leaky ReLU)表示為,g(z)=\max(0,z)+0.01\min(0,z) :

4. 引數化整流線性單元

引數化整流線性單元(parametric ReLU,PReLU)表示為,g(z)=\max(0,z)+\alpha \min(0,z) 。

將 \alpha 作為學習的引數。

5. maxout 單元

maxout 單元將輸入 z 劃分為每組 k 個值的幾個組,然後針對每組輸出組內最大的值:

g(z)_i=\max_{j\in \mathbb{G}^{(i)}} z_j

換言之,輸入 n 個特徵,在不損失資訊的情況下,每一組的 k 個特徵用最大值概括,那麼輸出就能減少 k 倍的特徵。

maxout 單元可以學習具有多達 k 段的分段線性凸函式,使用足夠大的 k ,maxout 單元可以以任意精度來近似任何凸函式。

6. logistic sigmoid 單元

sigmoid 單元在其大部分割槽域內都飽和,使得基於梯度的學習變得非常困難,所以不鼓勵其作為隱藏單元啟用函式:

\sigma(z)=\frac{1}{1+e^{-z}}

{\sigma(z)}'=\sigma(z)(1-\sigma(z))

7. 雙曲正切單元

雙曲正切函式定義為:

g(z)=\textup{tanh}(z)=2\sigma(2z)-1 :

{g(z)}'=1-g(z)^2

8. 徑向基函式

徑向基函式(radial basis function,RBF)表示為:

h_i=\exp(-\frac{\left\|W_{:,i}-x\right\|^2}{\sigma_i^2})

這個函式只有在 x 很接近模版時才有用,大部分時候都飽和,因此很難優化。

9. softplus 函式

softplus 函式是 ReLU 的平滑版本:

g(z)=\zeta (z)=\log(1+e^z)

10. 硬雙曲正切函式

硬雙曲正切函式(hard tanh)與雙曲正切函式和 ReLU 類似:

g(z)=\max(-1,\min(1,z))


如果這篇文章對你有一點小小的幫助,請給個關注,點個贊喔~我會非常開心的~