作者|Renu Khandelwal
編譯|VK
來源|Medium
什么是神經網絡激活函數?
激活函數有助於決定我們是否需要激活神經元。如果我們需要發射一個神經元那么信號的強度是多少。
激活函數是神經元通過神經網絡處理和傳遞信息的機制
為什么在神經網絡中需要一個激活函數?
在神經網絡中,z是輸入節點與節點權值加上偏差的乘積。z的方程與線性方程非常相似,取值范圍從+∞到-∞
如果神經元的值可以從負無窮到正無窮變化,那么我們就無法決定是否需要激活神經元。這就是激活函數幫助我們解決問題的地方。
如果z是線性的,那么我們就不能解決復雜的問題。這是我們使用激活函數的另一個原因。
有以下不同類型的激活函數
- 閥值函數或階梯激活函數
- Sigmoid
- Softmax
- Tanh或雙曲正切
- ReLU
- Leaky ReLU
為什么我們需要這么多不同的激活函數,我怎么決定用哪一個呢?
讓我們回顧一下每一個激活函數,並了解它們的最佳使用位置和原因。這將幫助我們決定在不同的場景中使用哪個激活函數。
閥值函數或階梯激活函數
這是最簡單的函數
如果z值高於閾值,則激活設置為1或yes,神經元將被激活。
如果z值低於閾值,則激活設置為0或no,神經元不會被激活。
它們對二分類很有用。】
Sigmoid激活函數
Sigmoid函數是一種光滑的非線性函數,無扭結,形狀類似於S形。
它預測輸出的概率,因此被用於神經網絡和邏輯回歸的輸出層。
由於概率范圍在0到1之間,所以sigmoid函數值存在於0到1之間。
但是如果我們想分類更多的是或不是呢?如果我想預測多個類,比如預測晴天、雨天或陰天,該怎么辦?
Softmax激活有助於多類分類
Softmax激活函數
Sigmoid激活函數用於兩類或二類分類,而softmax用於多類分類,是對Sigmoid函數的一種推廣。
在softmax中,我們得到了每個類的概率,它們的和應該等於1。當一個類的概率增大時,其他類的概率減小,因此概率最大的類是輸出類。
例如:在預測天氣時,我們可以得到輸出概率,晴天為0.68,陰天為0.22,雨天為0.20。在這種情況下,我們以最大概率的輸出作為最終的輸出。在這種情況下我們預測明天將是晴天。
Softmax計算每個目標類的概率除以所有可能的目標類的概率。
雙曲正切或Tanh激活函數
對於雙曲tanh函數,輸出以0為中心,輸出范圍在-1和+1之間。
看起來很像Sigmoid。實際上雙曲tanh是縮放的s形函數。與Sigmoid相比,tanh的梯度下降作用更強,因此比Sigmoid更受歡迎。
tanh的優點是,負輸入將被映射為強負,零輸入將被映射為接近零,這在sigmoid中是不會發生的,因為sigmoid的范圍在0到1之間
ReLU
ReLU本質上是非線性的,這意味着它的斜率不是常數。Relu在0附近是非線性的,但斜率不是0就是1,因此具有有限的非線性。
范圍是從0到∞
當z為正時,ReLU的輸出與輸入相同。當z為0或小於0時,輸出為0。因此,當輸入為0或低於0時,ReLU會關閉神經元。
所有的深度學習模型都使用Relu,但由於Relu的稀疏性,只能用於隱含層。稀疏性指的是空值或“NA”值的數量。
當隱層暴露於一定范圍的輸入值時,RELU函數將導致更多的零,從而導致更少的神經元被激活,這將意味着更少的神經網絡交互作用。
ReLU比sigmoid或tanh更積極地打開或關閉神經元
Relu的挑戰在於,負值變為零降低了模型正確訓練數據的能力。為了解決這個問題,我們有Leaky ReLU
Leaky ReLU
a的值通常是0.01
在Leaky ReLU中,我們引入了一個小的負斜率,所以它的斜率不是0。這有助於加快訓練。
Leaky ReLU的范圍從-∞到+∞
原文鏈接:https://medium.com/@arshren/neural-networks-activation-functions-e371202b56ff
歡迎關注磐創AI博客站:
http://panchuang.net/
sklearn機器學習中文官方文檔:
http://sklearn123.com/
歡迎關注磐創博客資源匯總站:
http://docs.panchuang.net/