神經網絡激活函數和損失函數

激活函數

 

1、sigmoid

其導數及其滿足的關係如下

         sigmoid函數曲線如下:


sigmoid激活函數,符合實際,當輸入值很小時,輸出接近於0;當輸入值很大時,輸出值接近於1。
但sigmoid激活函數有較大的缺點,是主要有兩點:
(1)容易引起梯度消失。當輸入值很小或很大時,梯度趨向於0,相當於函數曲線左右兩端函數導數趨向於0。
(2)非零中心化,會影響梯度下降的動態性。這個可以參考CS231n.

 

2、tanh

tanh函數曲線如下:


與sigmoid相比,輸出至的範圍變成了0中心化[-1, 1]。但梯度消失現象依然存在。

 


3、Relu

Relu修正線性單元是有許多優點,是目前神經網絡中使用最多的激活函數。


函數曲線如下:


優點:(1)不會出現梯度消失,收斂速度快;
    (2)前向計算量小,只需要計算max(0, x),不像sigmoid中有指數計算;
         (3)反向傳播計算快,導數計算簡單,無需指數、出發計算;
         (4)有些神經元的值爲0,使網絡具有saprse性質,可減小過擬合。

缺點:(1)比較脆弱,在訓練時容易“die”,反向傳播中如果一個參數爲0,後面的參數就會不更新。使用合適的學習率會減弱這種情況。

4、Leaky Relu

Leak Relu是對Relu缺點的改進,當輸入值小於0時,輸出值爲αx,其中α是一個很小的常數。這樣在反向傳播中就不容易出現“die”的情況。

 

損失函數

損失函數(loss function)也叫代價函數(cost function)。是神經網絡優化的目標函數,神經網絡訓練或者優化的過程就是最小化損失函數的過程(損失函數值小了,對應預測的結果和真實結果的值就越接近

1、二次代價函數

 

二次代價函數就是歐式距離的和,在線性迴歸中用的比較多,但在目前的神經網絡中用的相對較少。

 

2、交叉熵代價函數

交叉熵(cross-entropy)代價函數來源於信息論中熵的概念。是目前神經網絡分類問題中(比如圖像分類)常用的代價函數。交叉熵代價函數對分類問題有一個很好的解釋:當分類輸出正確類的結果(輸出層使用softmax函數之後的值)接近於1,即a=~1時,對應正確類的標籤爲1,即y=1。則可得到,C中第一項接近於0,第二項等於0。對於非正確類,a接近於0,y=0,則C中第一項爲0,第二項接近於0。故最終C接近於0;當分類輸出正確類的結果與1的差距越大,則上式C的值越大。

3、對數似然函數


對數似然函數與交叉熵代價函數類似,但只考了正確類損失,不考慮錯誤類的損失,用的也比較多。與交叉熵代價函數一樣,對數似然也對分類有一個很好的解釋:當正確類的輸出值a(輸出層只用softmax後的值)接近於1時,y=1,C接近於0;當輸出值a距離a越大時,C值越大。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章