如果不使用非線性激活函數,此時激活函數本質上相當於f(x)=ax+b。這種情況先,神經網絡的每一層輸出都是上層輸入的線性函數。不難看出,不論神經網絡有多少層,輸出與輸入都是線性關係,與沒有隱層的效果是一樣的,這個就是相當於是最原始的感知機(Perceptron)。至於感知機,大家知道其連最基本的異或問題都無法解決,更別提更復雜的非線性問題。
首先,激活函數不是真的要去激活什麼。在神經網絡中,激活函數的作用是能夠給神經網絡加入一些非線性因素,使得神經網絡可以更好地解決較爲複雜的問題。
比如在下面的這個問題中:
在最簡單的情況下,數據是線性可分的,只需要一條直線就已經能夠對樣本進行很好地分類。
數據就變成了線性不可分的情況。在這種情況下,簡單的一條直線就已經不能夠對樣本進行很好地分類了。
在實際應用中,我們還會涉及到以下的一些概念:
a.飽和
當一個激活函數h(x)滿足
當一個激活函數h(x)滿足
b.硬飽和與軟飽和
對任意的xx,如果存在常數cc,當x>cx>c時恆有 h′(x)=0h′(x)=0則稱其爲右硬飽和,當x<cx<c時恆 有h′(x)=0
h′(x)=0則稱其爲左硬飽和。若既滿足左硬飽和,又滿足右硬飽和,則稱這種激活函數爲硬飽和。但如果只有在極限狀態下偏導數等於0的函數,稱之爲軟飽和
Sigmoid函數曾被廣泛地應用,但由於其自身的一些缺陷,現在很少被使用了。Sigmoid函數被定義爲:
優點:
1.Sigmoid函數的輸出映射在(0,1)(0,1)之間,單調連續,輸出範圍有限,優化穩定,可以用作輸出層。
2.求導容易。
缺點:
1.由於其軟飽和性,容易產生梯度消失,導致訓練出現問題。
2.其輸出並不是以0爲中心的。
現在,比起Sigmoid函數我們通常更傾向於tanh函數。tanh函數被定義爲
優點:
1.比Sigmoid函數收斂速度更快。
2.相比Sigmoid函數,其輸出以0爲中心。
缺點:
還是沒有改變Sigmoid函數的最大問題——由於飽和性產生的梯度消失。
ReLU是最近幾年非常受歡迎的激活函數。被定義爲
但是除了ReLU本身的之外,TensorFlow還提供了一些相關的函數,比如定義爲min(max(features, 0), 6)的tf.nn.relu6(features, name=None);或是CReLU,即tf.nn.crelu(features, name=None)。其中(CReLU部分可以參考這篇論文)。
優點:
1.相比起Sigmoid和tanh,ReLU(e.g. a factor of 6 in Krizhevsky et al.)在SGD中能夠快速收斂。例如在下圖的實驗中,在一個四層的卷積神經網絡中,實線代表了ReLU,虛線代表了tanh,ReLU比起tanh更快地到達了錯誤率0.25處。據稱,這是因爲它線性、非飽和的形式。
2.Sigmoid和tanh涉及了很多很expensive的操作(比如指數),ReLU可以更加簡單的實現。
3.有效緩解了梯度消失的問題。
4.在沒有無監督預訓練的時候也能有較好的表現。
5.提供了神經網絡的稀疏表達能力。
缺點:
隨着訓練的進行,可能會出現神經元死亡,權重無法更新的情況。如果發生這種情況,那麼流經神經元的梯度從這一點開始將永遠是0。也就是說,ReLU神經元在訓練中不可逆地死亡了。
通常在LReLU和PReLU中,我們定義一個激活函數爲
-LReLU
當aiai比較小而且固定的時候,我們稱之爲LReLU。LReLU最初的目的是爲了避免梯度消失。但在一些實驗中,我們發現LReLU對準確率並沒有太大的影響。很多時候,當我們想要應用LReLU時,我們必須要非常小心謹慎地重複訓練,選取出合適的aa,LReLU的表現出的結果才比ReLU好。因此有人提出了一種自適應地從數據中學習參數的PReLU。
-PReLU
PReLU是LReLU的改進,可以自適應地從數據中學習參數。PReLU具有收斂速度快、錯誤率低的特點。PReLU可以用於反向傳播的訓練,可以與其他層同時優化。
在論文Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification中,作者就對比了PReLU和ReLU在ImageNet model A的訓練效果。
值得一提的是,在tflearn中有現成的LReLU和PReLU可以直接用。
-RReLU
在RReLU中,我們有
ELU被定義爲
優點:
1.ELU減少了正常梯度與單位自然梯度之間的差距,從而加快了學習。
2.在負的限制條件下能夠更有魯棒性。
ELU相關部分可以參考這篇論文。
Softplus被定義爲
關於激活函數的選取,目前還不存在定論,實踐過程中更多還是需要結合實際情況,考慮不同激活函數的優缺點綜合使用。同時,也期待越來越多的新想法,改進目前存在的不足。