神經網絡中常見的激活函數

一、背景
  爲什麼要使用激活函數?之前其實也有點困惑,最近整理了一下之前的筆記,總結一下。
  首先是第一個問題:爲什麼要使用激活函數以及它的作用是什麼?使用激活函數的原因在於,以兩類數據的分類爲例,這些數據真正能線性可分的情況還是比較少的,此時如果數據不是線性可分的我們又該如何分類呢?這個時候我們就無法再簡單利用一條直線來對數據進行很好的劃分,這時我們需要加入非線性的因素來對數據進行分類。所以可以判斷出激活函數的作用是給神經網絡加入一些非線性因素,由於線性模型的表達能力不夠,故激活函數的加入可以使得神經網絡更好地解決較爲複雜的問題。
  下圖是神經網絡中常見的激活函數使用圖:

這裏寫圖片描述

  上圖中的f()函數就是使用的激活函數。下面對幾種常見的激活函數以及它們的優缺點進行介紹。

二、幾種常見的激活函數
1、Sigmoid函數
  Sigmoid函數定義如下:

這裏寫圖片描述

  其圖形如下圖所示,爲一個S型曲線:

這裏寫圖片描述

  Sigmoid函數將實數壓縮到0~1區間。大的負數變成0,大的正數變成1。sigmoid函數由於其強大的解釋力,常被用來表示神經元的活躍度程度:從不活躍(0)到假設上最大的(1)。在實踐中,sigmoid函數最近從受歡迎到不受歡迎,很少再被使用。
它有兩個主要缺點:
  (1)sigmoid容易飽和,出現梯度消失的現象。sigmoid神經元的一個很差的屬性就是神經元的活躍度在0和1處飽和,它的梯度在這些地方接近於0。回憶在反向傳播中,某處的梯度和其目標輸出的梯度相乘,以得到整個目標。因此,如果某處的梯度過小,就會很大程度上出現梯度消失,使得幾乎沒有信號經過這個神經元以及所有間接經過此處的數據。除此之外,人們必須額外注意sigmoid神經元權值的初始化來避免飽和。例如,當初始權值過大,幾乎所有的神經元都會飽和以至於網絡幾乎不能學習。
  (2)Sigmoid 的輸出不是0均值的,這是我們不希望的,因爲這會導致後層的神經元的輸入是非0均值的信號,這會對梯度產生影響:假設後層神經元的輸入都爲正(e.g. x>0 elementwise in f=wTx+b),那麼對w求局部梯度則都爲正,這樣在反向傳播的過程中w要麼都往正方向更新,要麼都往負方向更新,導致有一種捆綁的效果,使得收斂緩慢。 但是如果你是按batch去訓練,那麼每個batch可能得到不同的符號(正或負),那麼相加一下這個問題還是可以緩解。
2、tanh函數
  tanh和sigmoid函數是有異曲同工之妙的,不同的是它把實值得輸入壓縮到-1~1的範圍。tanh函數的公式如下圖所示:

這裏寫圖片描述

  它對應的圖像如下圖所示:

這裏寫圖片描述

  優點:因爲其輸入的範圍爲-1~1,因此它基本是0均值的,這也就解決了上述sigmoid缺點中的第二個,所以實際中tanh會比sigmoid更常用。
  缺點:它依然存在梯度飽和的問題。
3、ReLU函數
  ReLU是最近幾年非常流行的激活函數。它的定義如下:

這裏寫圖片描述

  它的圖像爲:

這裏寫圖片描述

優點:
  (1)其在梯度下降上與tanh/sigmoid相比有更快的收斂速度。這被認爲時其線性、非飽和的形式。
  (2)不會出現梯度消失的問題。
  (3)Relu會使一部分神經元的輸出爲0,這樣就造成了網絡的稀疏性,並且減少了參數的相互依存關係,緩解了過擬合問題的發生。
  (4)sigmoid和tanh涉及了很多很expensive的操作(比如指數),ReLU可以更加簡單的實現。
缺點:
  ReLU單元脆弱且可能會在訓練中死去。例如,大的梯度流經過ReLU單元時可能導致神經不會在以後任何數據節點再被激活。當這發生時,經過此單元的梯度將永遠爲零。ReLU單元可能不可逆地在訓練中的數據流中關閉。例如,比可能會發現當學習速率過快時你40%的網絡都“掛了”(神經元在此後的整個訓練中都不激活)。當學習率設定恰當時,這種事情會更少出現。
4、LReLU和PReLU
  ReLU、PReLU函數的圖像如下圖所示,需要說明的是LReLU和PReLU的區別就在於a固定還是可變:

這裏寫圖片描述

  先說一下爲什麼要用LReLU?就是了爲了解決ReLU掛了的辦法。具體方法爲當x<0,用小的負梯度(0.01)來替代0。
  由上圖可以看出,如果ai=0,那麼PReLU退化爲ReLU;如果ai是一個很小的固定值(如ai=0.01),則PReLU退化爲Leaky ReLU(LReLU)。 有實驗證明,與ReLU相比,LReLU對最終的結果幾乎沒什麼影響。但是LReLU可在一定程度上解決ReLU掛了的情況。
  PReLU是LReLU的改進,它可以自適應地從數據中學習參數。PReLU具有收斂速度快、錯誤率低的特點。PReLU可以用於反向傳播的訓練,可以與其他層同時優化。
5、ELU
  ELU的定義如下:

這裏寫圖片描述

  它對應的圖像如下:

這裏寫圖片描述

優點:
  (1)ELU減少了正常梯度與單位自然梯度之間的差距,從而加快了學習。
  (2)在負的限制條件下能夠更有魯棒性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章