啟用函式基礎

2021-08-29 23:43:03 字數 3220 閱讀 1714

目錄

1. 什麼是啟用函式

2. 使用啟用函式的原因

3. 常見的幾種啟用函式

4. sigmoid ,relu, softmax 的比較

如下圖,在神經元中,輸入的 inputs 通過加權,求和後,還被作用了乙個函式,這個函式就是啟用函式 activation function。

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

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

(1) sigmoid函式

公式:

曲線:

也叫 logistic 函式,用於隱層神經元輸出

取值範圍為(0,1)

它可以將乙個實數對映到(0,1)的區間,可以用來做二分類。

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

sigmoid缺點:

啟用函式計算量大,反向傳播求誤差梯度時,求導涉及除法

反向傳播時,很容易就會出現梯度消失的情況,從而無法完成深層網路的訓練

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

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

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

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

(2) tanh函式公式

曲線

也稱為雙切正切函式

取值範圍為[-1,1]。

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

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

(3) relu

rectified linear unit(relu) - 用於隱層神經元輸出

公式曲線

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

relu 的優點:

krizhevsky et al. 發現使用 relu 得到的 sgd 的收斂速度會比 sigmoid/tanh 快很多

relu 的缺點:

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

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

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

(4) softmax函式

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

公式

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

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

為什麼要取指數,第乙個原因是要模擬 max 的行為,所以要讓大的更大。

第二個原因是需要乙個可導的函式。

sigmoid 和 relu 比較:

sigmoid 的梯度消失問題,relu 的導數就不存在這樣的問題,它的導數表示式如下:

曲線如圖

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

1)單側抑制

2)相對寬闊的興奮邊界

3)稀疏啟用性。

sigmoid 和 softmax 區別:

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"類別。

深度學習基礎(1) 啟用函式

前言 這篇文章首先回答了乙個人們都忽略的問題 在神經網路中,乙個小小的啟用函式為何如此重要?它的作用到底是什麼?然後我就目前主流的啟用函式做了乙個對比討論,並提出一些建議。啟用函式的本質 這裡首先引出結論 啟用函式是來向神經網路中引入非線性因素的,通過啟用函式,神經網路就可以擬合各種曲線。具體解釋可...

什麼是啟用函式?常用的啟用函式

啟用函式是神經網路中的重要一環,也是神經網路之所以能叫 神經網路 的原因。初中應該就學過關於神經元的知識了。神經系統的結構和功能的基本單位是神經元,神經元的基本結構包括細胞體和突起兩部分神經元的功能是神經元接受刺激並能產生興奮 神經衝動 並能把興奮傳導到其它的神經元。也就是說其作用主要有三個 接受刺...

啟用函式作用

在神經網路結構中,通過啟用函式將非線性的特性引入到神經網路中,從而讓神經網路可以理解 處理複雜的資料及問題。通常啟用函式的形式可以寫成 y f x 這裡的 x 是啟用函式f 的輸入,y 是 x經過啟用函式變換得到的輸出。通過f 將原來的輸入 x 對映成為另外一種形式表達y。通常在神經網路結構中常用的...