深度學習總結(二)——啟用函式的介紹
阿新 • • 發佈:2019-02-02
1. ReLU函式
用ReLU代替了傳統的Tanh或者Logistic。
優點:
- ReLU本質上是分段線性模型,前向計算非常簡單,無需指數之類操作;
- ReLU的偏導也很簡單,反向傳播梯度,無需指數或者除法之類操作;ReLU不容易發生梯度發散問題,Tanh和Logistic啟用函式在兩端的時候導數容易趨近於零,多級連乘後梯度更加約等於0;
- ReLU關閉了左邊,從而會使得很多的隱層輸出為0,即網路變得稀疏,起到了類似L1的正則化作用,可以在一定程度上緩解過擬合。
缺點:
- 比如左邊全部關了很容易導致某些隱藏節點永無翻身之日,所以後來又出現pReLU、random ReLU等改進;
- 而且ReLU會很容易改變資料的分佈,因此ReLU後加Batch Normalization也是常用的改進的方法。
2. Sigmoid函式
優點:
- 輸出範圍有限,所以資料在傳遞的過程中不容易發散;
缺點:
- 飽和的時候梯度太小。
- 為了防止飽和,必須對於權重矩陣的初始化特別留意。
3. Tanh函式
優點:
- 輸出是零中心的
缺點:
- 飽和的時候梯度太小。
- 為了防止飽和,必須對於權重矩陣的初始化特別留意。
4. 為什麼RNN選擇Tanh函式?
可以將資料進行壓縮,而且可以保留資料的正負性。
5. 啟用函式的選擇:
- sigmoid在壓縮資料幅度方面有優勢,對於深度網路,使用sigmoid可以保證資料幅度不會有問題,這樣資料幅度穩住了就不會出現太大的失誤。
- 但是sigmoid存在梯度消失的問題,在反向傳播上有劣勢,所以優化的過程中存在不足。
- relu不會對資料做幅度壓縮,所以如果資料的幅度不斷擴張,那麼模型的層數越深,幅度的擴張也會越厲害,最終會影響模型的表現。
- 但是relu在反向傳導方面可以很好地將“原汁原味”的梯度傳到後面,這樣在學習的過程中可以更好地發揮出來。