1. 程式人生 > >神經網路中的啟用函式sigmoid、 tanh 、RELU

神經網路中的啟用函式sigmoid、 tanh 、RELU

首先解釋為什麼要做:

再解釋怎麼做:

從數學上來看,Sigmoid函式對中央區的訊號增益較大,對兩側區的訊號增益小,在訊號的特徵空間對映上,有很好的效果。

在具體應用中,tanh函式相比於Sigmoid函式往往更具有優越性,這主要是因為Sigmoid函式在輸入處於[-1,1]之間時,函式值變化敏感,一旦接近或者超出區間就失去敏感性,處於飽和狀態,

(3) ReLU

第一,採用sigmoid等函式,算啟用函式時(指數運算),計算量大,反向傳播求誤差梯度時,求導涉及除法,計算量相對大,而採用Relu啟用函式,整個過程的計算量節省很多。 
第二,對於深層網路,

sigmoid函式反向傳播時,很容易就會出現梯度消失的情況(在sigmoid接近飽和區時,變換太緩慢,導數趨於0,這種情況會造成資訊丟失),從而無法完成深層網路的訓練。 
第三,Relu會使一部分神經元的輸出為0,這樣就造成了網路的稀疏性,並且減少了引數的相互依存關係,緩解了過擬合問題的發生(以及一些人的生物解釋balabala)。

ReLU是將所有的負值都設為零,相反,Leaky ReLU是給所有負值賦予一個非零斜率。