8.Activation Function
8.1 Sigmoid 型函數
sigmoid 將輸出響應的值域壓縮到[0,1]之間
但是,兩端大於5,小於-5的區域,梯度接近0,帶來梯度的“飽和效應”
反向傳播中無法傳遞誤差
而且sigmoid 的值域均值並非爲0,而是全爲正
8.2 tanh(x)型函數
爲解決均值問題
雙曲正切函數
函數範圍(-1,1)
輸出響應均值爲0
仍有梯度飽和線性
8.3 ReLU(修正線性單元)
優點:
- x>=0時,梯度爲1,消除了梯度飽效應
- 有助於隨機梯度下降方法收斂,收斂更快
缺點:
- x<0時,梯度爲0,“死區”
8.4 Leaky ReLU
將ReLU函數中x<0部分調整爲
爲0.01/ 0.001數量級的較小正數
爲超參數,不好取值,實際性能不穩定
8.5 參數化ReLU
直接將 作爲一個網絡中可學習的變量融入訓練
使用誤差反向傳播,SGD,更新遵循鏈式法則
- 參數化ReLU優於原始ReLU
- 各通道獨享參數 的性能更優
- 淺層 大,淺層多表示邊緣,紋理等特性的泛化特徵,對於此類特徵,正負響應均很重要
呈現由淺層到深層依次遞減的趨勢,網絡所需非線性能力隨網絡深度增加而遞增
注意:可能增大過擬合風險
8.6 隨機化ReLU
取值在訓練階段服從均勻分佈,在測試階段,將其指定爲該均勻分佈對應的分佈期望
其中,
8.7 指數化線性單元(ELU)
ELU 解決了ReLU 函數自身的“死區”問題。
不過,ELU函數中的指數操作稍稍增大了計算量。
實際使用中,ELU 中的超參數 λ 一般設置爲 1。
8.8 小結
- Sigmoid 和 tanh 不建議使用
- 使用最常用的ReLU(注意初始化和學習率的設置)
- 進一步提高精度,考慮Leaky ReLU,參數化ReLU,隨機化ReLU和ELU
- 無絕對優劣
參考文獻:解析卷積神經網絡—深度學習實踐手冊