本文結構:
如下圖,在神經元中,輸入的 inputs 通過加權,求和後,還被作用了壹個函數,這個函數就是激活函數 Activation Function。
如果不用激勵函數,每壹層輸出都是上層輸入的線性函數,無論神經網絡有多少層,輸出都是輸入的線性組合。
如果使用的話,激活函數給神經元引入了非線性因素,使得神經網絡可以任意逼近任何非線性函數,這樣神經網絡就可以應用到眾多的非線性模型中。
公式:
曲線:
也叫 Logistic 函數,用於隱層神經元輸出
取值範圍為(0,1)
它可以將壹個實數映射到(0,1)的區間,可以用來做二分類。
在特征相差比較復雜或是相差不是特別大時效果比較好。
sigmoid缺點:
激活函數計算量大,反向傳播求誤差梯度時,求導涉及除法
反向傳播時,很容易就會出現梯度消失的情況,從而無法完成深層網絡的訓練
下面解釋為何會出現梯度消失:
反向傳播算法中,要對激活函數求導,sigmoid 的導數表達式為:
sigmoid 原函數及導數圖形如下:
由圖可知,導數從 0 開始很快就又趨近於 0 了,易造成“梯度消失”現象
公式
曲線
也稱為雙切正切函數
取值範圍為[-1,1]。
tanh在特征相差明顯時的效果會很好,在循環過程中會不斷擴大特征效果。
與 sigmoid 的區別是,tanh 是 0 均值的,因此實際應用中 tanh 會比 sigmoid 更好
Rectified Linear Unit(ReLU) - 用於隱層神經元輸出
公式
曲線
輸入信號 <0 時,輸出都是0,>0 的情況下,輸出等於輸入
ReLU 的優點:
Krizhevsky et al. 發現使用 ReLU 得到的 SGD 的收斂速度會比 sigmoid/tanh 快很多
ReLU 的缺點:
訓練的時候很”脆弱”,很容易就”die”了
例如,壹個非常大的梯度流過壹個 ReLU 神經元,更新過參數之後,這個神經元再也不會對任何數據有激活現象了,那麽這個神經元的梯度就永遠都會是 0.
如果 learning rate 很大,那麽很有可能網絡中的 40% 的神經元都”dead”了。
Softmax - 用於多分類神經網絡輸出
公式
舉個例子來看公式的意思:
就是如果某壹個 zj 大過其他 z, 那這個映射的分量就逼近於 1,其他就逼近於 0,主要應用就是多分類。
為什麽要取指數,第壹個原因是要模擬 max 的行為,所以要讓大的更大。
第二個原因是需要壹個可導的函數。
Sigmoid 和 ReLU 比較:
sigmoid 的梯度消失問題,ReLU 的導數就不存在這樣的問題,它的導數表達式如下:
曲線如圖
對比sigmoid類函數主要變化是:
1)單側抑制
2)相對寬闊的興奮邊界
3)稀疏激活性。
Sigmoid 和 Softmax 區別:
softmax is a generalization of logistic function that “squashes”(maps) a K-dimensional vector z of arbitrary real values to a K-dimensional vector σ(z) of real values in the range (0, 1) that add up to 1.
sigmoid將壹個real value映射到(0,1)的區間,用來做二分類。
而 softmax 把壹個 k 維的real value向量(a1,a2,a3,a4….)映射成壹個(b1,b2,b3,b4….)其中 bi 是壹個 0~1 的常數,輸出神經元之和為 1.0,所以相當於概率值,然後可以根據 bi 的概率大小來進行多分類的任務。
二分類問題時 sigmoid 和 softmax 是壹樣的,求的都是 cross entropy loss,而 softmax 可以用於多分類問題
softmax是sigmoid的擴展,因為,當類別數 k=2 時,softmax 回歸退化為 logistic 回歸。具體地說,當 k=2 時,softmax 回歸的假設函數為:
利用softmax回歸參數冗余的特點,從兩個參數向量中都減去向量θ1 ,得到:
最後,用 θ′ 來表示 θ2?θ1,上述公式可以表示為 softmax 回歸器預測其中壹個類別的概率為
另壹個類別概率的為
這與 logistic回歸是壹致的。
softmax建模使用的分布是多項式分布,而logistic則基於伯努利分布
多個logistic回歸通過疊加也同樣可以實現多分類的效果,但是 softmax回歸進行的多分類,類與類之間是互斥的,即壹個輸入只能被歸為壹類;多個logistic回歸進行多分類,輸出的類別並不是互斥的,即"蘋果"這個詞語既屬於"水果"類也屬於"3C"類別。
選擇的時候,就是根據各個函數的優缺點來配置,例如:
如果使用 ReLU,要小心設置 learning rate,註意不要讓網絡出現很多 “dead” 神經元,如果不好解決,可以試試 Leaky ReLU、PReLU 或者 Maxout.
參考資料:
/qq_17754181/article/details/56495406
/question/29021768
/articles/c15a1000722p0.html
/question/23765351
推薦閱讀 歷史技術博文鏈接匯總
也許可以找到妳想要的
我是 不會停的蝸牛 Alice
85後全職主婦
喜歡人工智能,行動派
創造力,思考力,學習力提升修煉進行中
歡迎您的喜歡,關註和評論!