還記得的另外一篇博客邏輯迴歸裏面提到的Sigmoid激活函數嗎?
這裏我詳細的聊聊Sigmoid和其它計算機視覺中常用的激活函數
那激活函數幹什麼的呢?我們可以這樣感性的理解:
- 在邏輯迴歸(二分類問題)中,激活函數可以根據傳入的值,判斷這個事物屬於哪一類
- 在深度學習的神經元中,可以根據傳入的值的大小,判斷這個神經元是否能繼續傳遞值(不能傳遞,就是死了,不激活嘛)
Sigmoid激活函數
作用
邏輯迴歸裏面提到,它能將函數的值域R,映射(0 ,1)之間,大於0.5是一個類別,小於0.5就是另外一個類別了
公式:
σ(t) =
- 當t趨近於正無窮時候,值域趨近於1
- 當t趨近於負無窮時候,值域趨近於0
- 當t > 0 時: > 0.5
- 當t < 0 時: < 0.5
優點
- 它是非線性的,可以擬合樣本中非線性關係的模型
- 它將數據映射到了(0,1)之間,相當於做了歸一化處理
- 它的導數:σ‘(t) = σ(t)[ 1 - σ(t) ],導數非常容易計算
缺點
- 函數計算相對耗時
- Sigmoid函數2側無限的趨近於0和1,從而導致的問題是,在深度學習中,即使自變量非常大(因爲映射後最大也就是1),反向傳播的修正值變化也不大(也就是你犯了很大的錯,懲罰也很輕),這就造成了梯度彌散。從而影響了整個模型的收斂速度
Softmax激活函數
它主要用於處理多分類問題,它可以用來表面每一個類別對應的輸出概率是多少,那麼概率最大的,就是本次的輸出結果。
公式:
- :分類器前級網絡的輸出結果,j表示索引
- :表示當前要被分類的特徵值
- m:表示分類的總個多
- :表示當前元素被分類器選中的概率
性質
- 其實仔細分析一下就可以得出:所有分類的概率結果相加爲1
- 相對於直接按照大小進行佔比,Softmax利用,的特性,更能突出概率更大的類別
- softmax 和交叉熵的結合,使損失梯度在網絡最後一層的回傳變得十分簡潔
RELU激活函數
RELU激活函數,即修正線性單元(Rectified linear unit),在深度學習中已經替代Sigmoid激活函數。
- 是一種線性的激活函數
- 他它具有仿生學原理,當傳入值小於0時,改神經單元就“死”了,不再傳導信息
公式:
R(x) = max(0,x)
總結
由於Relu函數不存在Sigmoid的飽和區,也就不會造成梯度彌散問題,從而加快了模型訓練時候的收斂速度