1、激活函數的作用
什么是激活函數?
在神經網絡中,輸入經過權值加權計算並求和之后,需要經過一個函數的作用,這個函數就是激活函數(Activation Function)。
激活函數的作用?
首先我們需要知道,如果在神經網絡中不引入激活函數,那么在該網絡中,每一層的輸出都是上一層輸入的線性函數,無論最終的神經網絡有多少層,輸出都是輸入的線性組合;其一般也只能應用於線性分類問題中,例如非常典型的多層感知機。若想在非線性的問題中繼續發揮神經網絡的優勢,則此時就需要通過添加激活函數來對每一層的輸出做處理,引入非線性因素,使得神經網絡可以逼近任意的非線性函數,進而使得添加了激活函數的神經網絡可以在非線性領域繼續發揮重要作用!
更進一步的,激活函數在神經網絡中的應用,除了引入非線性表達能力,其在提高模型魯棒性、緩解梯度消失問題、將特征輸入映射到新的特征空間以及加速模型收斂等方面都有不同程度的改善作用!
2、目前常見的幾種激活函數
常見的激活函數主要包括如下幾種:sigmoid函數、tanh函數、Relu函數、Leaky Relu函數、ELU函數,下面將分別進行介紹與分析。
Sigmoid函數
如圖所示,即為sigmoid函數,可以看到,它的值域在0~1之間;此類激活函數的優缺點如下:
優點: 1、將很大范圍內的輸入特征值壓縮到0~1之間,使得在深層網絡中可以保持數據幅度不會出現較大的變化,而Relu函數則不會對數據的幅度作出約束;
2、在物理意義上最為接近生物神經元;
3、根據其輸出范圍,該函數適用於將預測概率作為輸出的模型;
缺點:1、當輸入非常大或非常小的時候,輸出基本為常數,即變化非常小,進而導致梯度接近於0;
2、輸出不是0均值,進而導致后一層神經元將得到上一層輸出的非0均值的信號作為輸入。隨着網絡的加深,會改變原始數據的分布趨勢;
3、梯度可能會過早消失,進而導致收斂速度較慢,例如與Tanh函數相比,其就比sigmoid函數收斂更快,是因為其梯度消失問題較sigmoid函數要輕一些;
4、冪運算相對耗時。
Tanh函數
如圖所示,即為Tanh函數;在下圖中與Sigmoid函數對比,可見這兩種激活函數均為飽和激活函數,該函數的輸出范圍在-1~1之間,其優缺點總結如下:
優點:1、解決了上述的Sigmoid函數輸出不是0均值的問題;
2、Tanh函數的導數取值范圍在0~1之間,優於sigmoid函數的0~0.25,一定程度上緩解了梯度消失的問題;
3、Tanh函數在原點附近與y=x函數形式相近,當輸入的激活值較低時,可以直接進行矩陣運算,訓練相對容易;
缺點:1、與Sigmoid函數類似,梯度消失問題仍然存在;
2、觀察其兩種形式的表達式,即2*sigmoid(2x)-1與(exp(x)-exp(-x))/(exp(x)+exp(-x)),可見,冪運算的問題仍然存在;
Relu函數
上圖即為Relu函數的曲線圖,可見在輸入為負值時,輸出均為0值,在輸入大於0的區間,輸出y=x,可見該函數並非全區間可導的函數;其優缺點總結如下:
優點:1、相較於sigmoid函數以及Tanh函數來看,在輸入為正時,Relu函數不存在飽和問題,即解決了gradient vanishing問題,使得深層網絡可訓練;
2、計算速度非常快,只需要判斷輸入是否大於0值;
3、收斂速度遠快於sigmoid以及Tanh函數;
4、Relu輸出會使一部分神經元為0值,在帶來網絡稀疏性的同時,也減少了參數之間的關聯性,一定程度上緩解了過擬合的問題;
缺點:1、Relu函數的輸出也不是以0為均值的函數;
2、存在Dead Relu Problem,即某些神經元可能永遠不會被激活,進而導致相應參數一直得不到更新,產生該問題主要原因包括參數初始化問題以及學習率設置過大問題;
3、當輸入為正值,導數為1,在“鏈式反應”中,不會出現梯度消失,但梯度下降的強度則完全取決於權值的乘積,如此可能會導致梯度爆炸問題;
Leaky Relu函數
上圖即為Leaky Relu函數的示意圖,在x大於等於0時,y=x,x小於0時,y=α*x,圖中選擇的α值為0.1;其優缺點總結給如下:
優點:1、針對Relu函數中存在的Dead Relu Problem,Leaky Relu函數在輸入為負值時,給予輸入值一個很小的斜率,在解決了負輸入情況下的0梯度問題的基礎上,也很好的緩解了Dead Relu問題;
2、該函數的輸出為負無窮到正無窮,即leaky擴大了Relu函數的范圍,其中α的值一般設置為一個較小值,如0.01;
缺點:1、理論上來說,該函數具有比Relu函數更好的效果,但是大量的實踐證明,其效果不穩定,故實際中該函數的應用並不多。
2、由於在不同區間應用的不同的函數所帶來的不一致結果,將導致無法為正負輸入值提供一致的關系預測。
ELU函數
圖中所示即為ELU函數,其也是Relu函數的一種變體,x大於0時,y=x,x小於等於0時,y=α(exp(x)-1),可看作介於Relu與Leaky Relu之間的函數;其優缺點總結如下:
優點:1、ELU具有Relu的大多數優點,不存在Dead Relu問題,輸出的均值也接近為0值;
2、該函數通過減少偏置偏移的影響,使正常梯度更接近於單位自然梯度,從而使均值向0加速學習;
3、該函數在負數域存在飽和區域,從而對噪聲具有一定的魯棒性;
缺點:1、計算強度較高,含有冪運算;
2、在實踐中同樣沒有較Relu更突出的效果,故應用不多;
