relu 及 leakyrelu是深度學習中常用的啟用函式,看了幾篇部落格後,做乙個小的總結。
1. relu:
數學表示式:a = max(0, z)
函式影象為:
優點:由上圖可以看出,relu得到的sgd的收斂速度較快
缺點:訓練的時候很容易『die'了,對於小於0的值,這個神經元的梯度永遠都會是0,在實際操錯中,如果learning rate很大,很可能網路中較多的神經元都'dead'了,即使是較小的learning rate,這種情況也很有可能發生。
為了解決以上的問題,提出了leakyrelu啟用函式:
2. leakyrelu:
數學表示式:y = max(0, x) + leak*min(0,x) (leak是乙個很小的常數,這樣保留了一些負軸的值,使得負軸的資訊不會全部丟失)
leakyrelu的影象:
3. 在tf中的實現:
relu在tf中有官方的實現,可以直接呼叫函式 tf.nn.relu( features, name= none )
ReLU啟用函式
在深度神經網路中,通常使用一種叫修正線性單元 rectified linear unit,relu 作為神經元的啟用函式。relu起源於神經科學的研究 2001年,dayan abott從生物學角度模擬出了腦神經元接受訊號更精確的啟用模型,如下圖 其中橫軸是時間 ms 縱軸是神經元的放電速率 fir...
ReLU啟用函式,Maxout
在使用sig moid sigmoid sigmoi d啟用函式進行梯度下降調參時,往往會出現梯度消失的問題,即無法找到收斂點。神經網路主要的訓練方法是bp演算法,bp演算法的基礎是導數的鏈式法則,也就是多個導數的乘積。而sig moid sigmoid sigmoi d的導數最大為0.25,且大部...
ReLU啟用函式雜談
在實現多層感知機 實現中使用了relu啟用函式 r el u x max x,0 relu x max x,0 relu x ma x x,0 形狀大概是這樣的 這裡根據幾個問題來進行回答解釋 為什麼要使用啟用函式呢?簡單來說啟用函式的作用就是將仿射函式進行非線性化,可以擬合出更多的情況。更詳細的解...