深度學習中常用的激活函數


摘要:

  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.參考鏈接

  聊一聊深度學習的activation function

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM