神經網絡中的激活函數

做者|Renu Khandelwal
編譯|VK
來源|Medium網絡

什麼是神經網絡激活函數?

激活函數有助於決定咱們是否須要激活神經元。若是咱們須要發射一個神經元那麼信號的強度是多少。機器學習

激活函數是神經元經過神經網絡處理和傳遞信息的機制函數

爲何在神經網絡中須要一個激活函數?

在神經網絡中,z是輸入節點與節點權值加上誤差的乘積。z的方程與線性方程很是類似,取值範圍從+∞到-∞學習

若是神經元的值能夠從負無窮到正無窮變化,那麼咱們就沒法決定是否須要激活神經元。這就是激活函數幫助咱們解決問題的地方。.net

若是z是線性的,那麼咱們就不能解決複雜的問題。這是咱們使用激活函數的另外一個緣由。3d

有如下不一樣類型的激活函數blog

  • 閥值函數或階梯激活函數
  • Sigmoid
  • Softmax
  • Tanh或雙曲正切
  • ReLU
  • Leaky ReLU

爲何咱們須要這麼多不一樣的激活函數,我怎麼決定用哪個呢?資源

讓咱們回顧一下每個激活函數,並瞭解它們的最佳使用位置和緣由。這將幫助咱們決定在不一樣的場景中使用哪一個激活函數。文檔

閥值函數或階梯激活函數

這是最簡單的函數get

若是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/

相關文章
相關標籤/搜索