激活函數

感知器(perceptron)是 人造神經元(artificial neuron)的一種,也是最基本的一種。它接受一些輸入,產生一個輸出。dom

咱們在神經元裏定義一些 權重(weight),通過計算以後,判斷結果是否超過一個 閾值(threshold),若是超過,神經元輸出 1;反之,則輸出 0。函數

咱們將變量用向量表示,並把閾值移到左邊,這就獲得了咱們熟悉的根據權重和誤差計算的表達式:3d

\begin{eqnarray}
  \mbox{output} = \left\{ 
    \begin{array}{ll} 
      0 & \mbox{if } w\cdot x + b \leq 0 \\
      1 & \mbox{if } w\cdot x + b > 0
    \end{array}
  \right.
\end{eqnarray}

不過這種計算方式有些缺點,當調整參數時,節點輸出的值在 0 和 1 之間躍遷,也就是說,該輸出是一個 階梯函數(step function),這會對調參形成很大不便。cdn

因此咱們會但願輸出的函數變得平滑一些,這裏的函數就是 激活函數(activation functions)。blog

1、Sigmoid 函數

Sigmoid 函數(Sigmoid Function)又稱爲 Logistic 函數,是一個在生物學中常見的 S 型函數,也稱爲 S 型生長曲線,它將負無窮到正無窮的區間映射到了 0 到 1 中。ci

Sigmoid 函數的輸入越小,輸出越接近 0;輸入越大輸出越接近 1。除了平滑,Sigmoid 函數的另外一個優勢是求導很是簡單,可使用自身表示:get

\phi'(z) = \phi(z)(1 - \phi(z))

2、Tanh 函數

Tanh 函數(Tanh Function)是由 Sigmoid 函數推廣而來,它的值域爲 -1 到 1。it

tanh(x) = 2sigmoid(2x) - 1 = \frac{2}{1 + e^{-2x}} - 1

3、線性整流函數

線性整流函數(Rectified Linear Unit, ReLU),又稱 修正線性單元。若是 x 爲正,則輸出 x,不然爲 0。它的值域是 [0, inf)。io

R(x) = max(0, x)

4、帶泄露線性整流函數

帶泄露線性整流函數(Leaky ReLU)是線性整流函數的一個變種,它的出現是爲了解決 dying ReLU 問題function

另外,當 a 不爲 0.01 時,它又被稱爲 帶泄露隨機線性整流(Randomized Leaky ReLU,RReLU)。

總結

各類激活函數以下:

參考

相關文章
相關標籤/搜索