神經網路之一 啟用函式
阿新 • • 發佈:2018-12-18
啟用函式執行時啟用神經網路中的某一部分神經元,將啟用資訊向後轉入下一層的神經網路。神經網路之所以能夠解決非線性問題,本質上就是啟用函式加入了非線性因素,彌補了線性模型的表達力,把啟用的神經元的特徵通過函式保留並對映到下一層。因為神經網路的數學基礎是處處可微,所以選取的啟用函式要保證資料的輸入與輸出也是可微的。啟用函式不會更改輸入資料的維度。
tensorflow常見的啟用函式:
1,sigmoid,優點在於輸出對映在(0,1)之間,單調連續,非常適合用作輸出層,並且求導比較容易。但是也有缺點,因為軟飽和性,一旦輸入落入飽和區,變化的趨勢很容易接近0,很容易產生梯度消失。其輸出不是以0為中心。
2,tanh函式,tanh函式的輸出對映在(-1,1)之間。也具有軟飽和性,但是是以0為中心的。同時收斂速度比sigmoid快。但是缺點和sigmoid相同。容易出現梯度消失。
3,relu函式,是目前最受歡迎的啟用函式。softplus可以看作ReLU的平滑版本。
其他不常用的啟用函式就不介紹了。
總結:
當輸入資料特徵相差明顯時,用tanh的效果更好,且在迴圈過程會不斷擴大特徵效果並顯示出來。當特徵不明顯的時候,sigmoid效果比較好。同時,用sigmoid和tanh作為啟用函式時,需要對輸入進行規範化,否則啟用後的值都進入平坦區,會喪失原有資料的特徵