基礎篇:人臉識別實戰(深度學習)- 常用的激活函數

還記得的另外一篇博客邏輯迴歸裏面提到的Sigmoid激活函數嗎?
這裏我詳細的聊聊Sigmoid和其它計算機視覺中常用的激活函數

那激活函數幹什麼的呢?我們可以這樣感性的理解:

  • 在邏輯迴歸(二分類問題)中,激活函數可以根據傳入的值,判斷這個事物屬於哪一類
  • 在深度學習的神經元中,可以根據傳入的值的大小,判斷這個神經元是否能繼續傳遞值(不能傳遞,就是死了,不激活嘛)

Sigmoid激活函數

作用

邏輯迴歸裏面提到,它能將函數的值域R,映射(0 ,1)之間,大於0.5是一個類別,小於0.5就是另外一個類別了
公式:

σ(t) = 11+et\frac{1}{1+e^t}

  • 當t趨近於正無窮時候,值域趨近於1
  • 當t趨近於負無窮時候,值域趨近於0
  • 當t > 0 時:p^\hat{p} > 0.5
  • 當t < 0 時:p^\hat{p} < 0.5
    sigmod函數
優點
  • 它是非線性的,可以擬合樣本中非線性關係的模型
  • 它將數據映射到了(0,1)之間,相當於做了歸一化處理
  • 它的導數:σ‘(t) = σ(t)[ 1 - σ(t) ],導數非常容易計算
缺點
  • 函數計算相對耗時
  • Sigmoid函數2側無限的趨近於0和1,從而導致的問題是,在深度學習中,即使自變量非常大(因爲映射後最大也就是1),反向傳播的修正值變化也不大(也就是你犯了很大的錯,懲罰也很輕),這就造成了梯度彌散。從而影響了整個模型的收斂速度

Softmax激活函數

它主要用於處理多分類問題,它可以用來表面每一個類別對應的輸出概率是多少,那麼概率最大的,就是本次的輸出結果。

公式:

Si=eVijmeVjS_{i} = \frac{e^{V_{i}}}{ \sum_{j}^{m} e^{V_{j}}}

  • VjV_{j}:分類器前級網絡的輸出結果,j表示索引
  • VjV_{j}:表示當前要被分類的特徵值
  • m:表示分類的總個多
  • SiS_{i}:表示當前元素被分類器選中的概率
性質
  • 其實仔細分析一下就可以得出:所有分類的概率結果相加爲1
  • 相對於直接按照大小進行佔比,Softmax利用exe^x,的特性,更能突出概率更大的類別
  • softmax 和交叉熵的結合,使損失梯度在網絡最後一層的回傳變得十分簡潔
RELU激活函數

RELU激活函數,即修正線性單元(Rectified linear unit),在深度學習中已經替代Sigmoid激活函數。

  • 是一種線性的激活函數
  • 他它具有仿生學原理,當傳入值小於0時,改神經單元就“死”了,不再傳導信息
    在這裏插入圖片描述
    公式:
    R(x) = max(0,x)
總結

由於Relu函數不存在Sigmoid的飽和區,也就不會造成梯度彌散問題,從而加快了模型訓練時候的收斂速度

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