摘要:
1.概述
2.激活函數與導數
3.激活函數對比
4.參考鏈接
內容:
1.概述
深度學習的基本原理是基於人工神經網絡,信號從一個神經元進入,經過非線性的activation function,傳入到下一層神經元;再經過該層神經元的activate,繼續往下傳遞,如此循環往復,直到輸出層。正是由於這些非線性函數的反復疊加,才使得神經網絡有足夠的capacity來抓取復雜的pattern,選擇怎樣的activation function的標准之一是其優化整個深度神經網絡的效果。
2.激活函數與導數
2.1 sigmoid 函數


2.2 tanh函數


2.3ReLU函數


2.4ReLU的其他變種
Leaky ReLU函數,ELU (Exponential Linear Units) 函數
3.激活函數對比
3.1Sigmoid函數的優點:
1.它是便於求導的平滑函數
Sigmoid函數的缺點:
1.容易出現gradient vanishing(梯度消失),原因在於sigmoid最大梯度是0.24,兩端絕對值大的點梯度為0,根據鏈式法則,反向傳過來的梯度至少會縮小到原來的1/4,層數越多梯度越接近0.
2.函數輸出並不是zero-centered, 原因在於sigmoid函數的輸出是大於等於0的
3.冪運算相對來講比較耗時
3.2tanh函數的優點:
1.解決了輸出zero-centered問題,因為tanh函數輸出介於區間【-1,+1】
tanh函數的缺點:
1.存在梯度消失問題
2.冪運算計算耗時
3.3ReLU函數的優點:
1.在正區間解決了梯度消失問題
2.計算速度非常快,只需要判斷輸入是否大於0
3.收斂速度遠快於sigmoid和tanh
ReLU函數的缺點:
1.ReLU的輸出不是zero-centered
2.Dead ReLU Problem(某些神經元可能永遠不會被激活,導致相應的參數永遠不能被更新)有兩個主要原因可能導致這種情況產生: (1) 非常不幸的參數初始化,這種情況比較少見 (2) learning rate太高導致在訓練過程中參數更新太大,不幸使網絡進入這種狀態。解決方法是可以采用Xavier初始化方法,以及避免將learning rate設置太大或使用adagrad等自動調節learning rate的算法。
4.參考鏈接
