用relu代替了傳統的tanh或者logistic。
優點:
relu本質上是分段線性模型,前向計算非常簡單,無需指數之類操作;
relu的偏導也很簡單,反向傳播梯度,無需指數或者除法之類操作;relu不容易發生梯度發散問題,tanh和logistic啟用函式在兩端的時候導數容易趨近於零,多級連乘後梯度更加約等於0;
relu關閉了左邊,從而會使得很多的隱層輸出為0,即網路變得稀疏,起到了類似l1的正則化作用,可以在一定程度上緩解過擬合。
缺點:
比如左邊全部關了很容易導致某些隱藏節點永無翻身之日,所以後來又出現prelu、random relu等改進;
而且relu會很容易改變資料的分布,因此relu後加batch normalization也是常用的改進的方法。
優點:
輸出範圍有限,所以資料在傳遞的過程中不容易發散;
缺點:
飽和的時候梯度太小。
為了防止飽和,必須對於權重矩陣的初始化特別留意。
優點:
輸出是零中心的
缺點:
飽和的時候梯度太小。
為了防止飽和,必須對於權重矩陣的初始化特別留意。
可以將資料進行壓縮,而且可以保留資料的正負性。
sigmoid在壓縮資料幅度方面有優勢,對於深度網路,使用sigmoid可以保證資料幅度不會有問題,這樣資料幅度穩住了就不會出現太大的失誤。
但是sigmoid存在梯度消失的問題,在反向傳播上有劣勢,所以優化的過程中存在不足。
relu不會對資料做幅度壓縮,所以如果資料的幅度不斷擴張,那麼模型的層數越深,幅度的擴張也會越厲害,最終會影響模型的表現。
但是relu在反向傳導方面可以很好地將「原汁原味」的梯度傳到後面,這樣在學習的過程中可以更好地發揮出來。
深度學習之啟用函式總結
深度學習中啟用函式的作用是能夠給神經網路加入一些非線性因素,使得神經網路可以更好地解決較為複雜的問題。沒有啟用函式,即便有再多的隱藏層,其整個網路跟單層神經網路也是等價的,可見啟用函式的重要性如此之大。下面,分別介紹深度學習中常用的啟用函式。sigmoid的公式如下 函式對應的影象如下 優點 1.s...
深度學習 啟用函式
如下圖,在神經元中,輸入的 inputs 通過加權,求和後,還被作用了乙個函式,這個函式就是啟用函式 activation function。啟用函式的這些特性可以很好地解釋我們為什麼要用啟用函式。函式公式和圖表如下圖 在sigmod函式中我們可以看到,其輸出是在 0,1 這個開區間內,這點很有意思...
深度學習 啟用函式
主要作用 加入非線性因素,彌補線性模型表達不足的缺陷 sigmoid函式 隨著 x xx 的趨近正 負無窮,y yy 對應的值越來越接近 1 1,趨近飽和 因此當 x xx 100 和 x xx 1000 的差別不大,這個特性丟掉了 x xx 1000 的資訊 tanh函式 對sigmoid函式的值...