天天看點

激活函數的選擇

深度學習神經網絡有四種常用激活函數,分别為sigmod,tanh,softmax,relu.下面總結了他們的優缺點以及如何選擇。

sigmod函數

函數形式

δ(x)=11+e−x δ ( x ) = 1 1 + e − x

函數圖像如下

激活函數的選擇

對其求導有

δ′(x)=δ(x)(1−δ(x)) δ ′ ( x ) = δ ( x ) ( 1 − δ ( x ) )

tanh

函數形式:

g(x)=tanh(x)=ex−e−xex+e−x g ( x ) = t a n h ( x ) = e x − e − x e x + e − x

圖形為

激活函數的選擇

其導函數為:

激活函數的選擇

在隐藏層使用的效果優于sigmod

相同的缺點在x特别大或者特别小的時候,函數梯度會接近0,使得梯度下降的速度變慢。一般用在二分問題輸出層,不在隐藏層中使用。

relu

公式

f(x)=max(0,x) f ( x ) = m a x ( 0 , x )

圖形:

激活函數的選擇

優點:

  • 計算量小,速度快,相對于sigmod和tanh求導比較複雜,反向求導時會出現問題。
  • Relu對SGD的訓練有加速作用。
  • Relu會使一部分神經元的輸出為0,這樣就造成了網絡的稀疏性,并且減少了參數的互相依存關系,緩解了過拟合問題的發生。

缺點:

學習率設計得過大會造成梯度為0,導緻神經元死亡,并且是不可逆的。

PRelu

解決relu的缺點

f(x)=max(0,ax) f ( x ) = m a x ( 0 , a x )

softmax

激活函數的選擇

小結:關于幾個函數的特點以及使用在實際面試過程中很容易被問到,是以這裡做一個總結。

繼續閱讀