常用啟用函數比較

來源:互聯網
上載者:User

標籤:bsp   二分   應用   gen   val   src   網路   map   strip   

本文結構:
  1. 什麼是啟用函數
  2. 為什麼要用
  3. 都有什麼
  4. sigmoid、ReLU、softmax的比較
  5. 如何選擇
1. 什麼是啟用函數

如,在神經元中,輸入的inputs通過加權,求和後,還被作用了一個函數,這個函數就是啟用函數 Activation Function。

2. 為什麼用

如果不用激勵函數,每一層輸出都是上層輸入的線性函數,無論神經網路有多少層,輸出都是輸入的線性組合。

如果使用的話,啟用函數給神經元引入了非線性因素,使得神經網路可以任意逼近任何非線性函數,這樣神經網路就可以應用到眾多的非線性模型中。

 

3. 都有什麼

(1) sigmoid函數

公式: 

曲線:

也叫Logistic函數,用於隱層神經元輸出

取值範圍為(0, 1)

它可以將一個實數映射到(0, 1)的區間,可以用來作為二分類。

在特徵相差比較複雜或相差不是特別大時效果比較好。

下面解釋為何會出現梯度消失:

反向傳播演算法中,要對啟用函數求導,sigmoid的導數運算式為:

sigmoid原函數及導數圖形如下:

由圖可知,導數從0開始很快又趨近於0了,易造成“梯度消失”現象

(2) Tanh函數

公式

曲線

也稱為雙切正切函數

取值範圍為[-1, 1]

tanh在特徵相差明顯時的效果會很好,在迴圈過程中會不斷擴大特徵效果。

與sigmoid的區別是,tanh是0均值的,因此實際應用中tanh會比sigmoid更好

(3) ReLU

Rectified Linear Unit(ReLU) - 用於隱層神經元輸出

公式

曲線

輸入訊號<0時,輸出都是0,>0的情況下,輸出等於輸入

Krizhevsky et al. 發現使用 ReLU 得到的 SGD 的收斂速度會比 sigmoid/tanh 快很多

ReLU的缺點:

訓練的時候很“脆弱”,很容易就“die”了

例如,一個非常大的梯度流過一個ReLU神經元,更新過參數後,這個神經元再也不會對任何資料有啟用現象了,那麼這個神經元的梯度就永遠都會是0

如果learning rate很大,那麼很有可能網路中的40%的神經元都“dead”了

(4) softmax函數

 softmax - 用於多分類神經網路輸出

公式

舉個例子來看看公式的意思:

如果某一個zj大過其他z,那這個映射的分量就逼近於1,其他就逼近於0,主要應用就是多分類。

為什麼要取指數,第一個原因就是要類比max的行為,所以要讓大的更大。

第二個原因是需要一個可導的函數。

4. sigmoid,ReLU,softmax的比較

sigmoid和ReLU的比較:

sigmoid的梯度消失問題,ReLU的導數就不存在這樣的問題,它的函數運算式如下:

曲線

對比sigmoid類函數主要變化是:

  1. 單側抑制
  2. 相對寬廣的興奮邊界
  3. 稀疏啟用性

sigmoid和softmax的區別:

softmax is a generalization of logistic function that “squashes”(maps) a K-dimensional vector z of arbitrary real values to a K-dimensional vector σ(z) of real values in the range (0, 1) that add up to 1.

sigmoid將一個real value映射到(0,1)的區間,用來做二分類。

而 softmax 把一個 k 維的real value向量(a1,a2,a3,a4….)映射成一個(b1,b2,b3,b4….)其中 bi 是一個 0~1 的常數,輸出神經元之和為 1.0,所以相當於機率值,然後可以根據 bi 的機率大小來進行多分類的任務。

二分類問題時 sigmoid 和 softmax 是一樣的,求的都是 cross entropy loss,而 softmax 可以用於多分類問題

softmax是sigmoid的擴充,因為,當類別數 k=2 時,softmax 迴歸退化為 logistic 迴歸。具體地說,當 k=2 時,softmax 迴歸的假設函數為:

利用softmax迴歸參數冗餘的特點,從兩個參數向量中都減去向量θ1 ,得到:

最後,用 θ′ 來表示 θ2?θ1,上述公式可以表示為 softmax 迴歸器預測其中一個類別的機率為

另一個類別機率的為

這與 logistic迴歸是一致的。

softmax建模使用的分布是多項式分布,而logistic則基於伯努利分布
  
多個logistic迴歸通過疊加也同樣可以實現多分類的效果,但是 softmax迴歸進行的多分類,類與類之間是互斥的,即一個輸入只能被歸為一類;多個logistic迴歸進行多分類,輸出的類別並不是互斥的,即”蘋果”這個詞語既屬於”水果”類也屬於”3C”類別。

5. 如何選擇

選擇的時候,就是根據各個函數的優缺點來配置,例如:

如果使用 ReLU,要小心設定 learning rate,注意不要讓網路出現很多 “dead” 神經元,如果不好解決,可以試試 Leaky ReLU、PReLU 或者 Maxout.

 

常用啟用函數比較

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.