深度學習之啟用函式詳解

2021-09-14 07:06:09 字數 2825 閱讀 8755

啟用函式是什麼?

啟用函式, 即activation function, 有時候也稱作激勵函式. 提到啟用函式,就不得不先說一下神經網路.

神經網路中最基本的成分是神經元(neuron)模型, 每個神經元與其他神經元相連.如果某神經元的電位超過了乙個'閾值'(threshold), 那麼它就會被啟用, 即'興奮'起來.當它'興奮'時就會向相連的神經元傳送化學物質,從而改變這些神經元內的電位.

下圖是乙個簡單的神經元模型

它接收n個輸入x1, x2, ... ,xn. 並為每個輸入賦予乙個權重w1, w2, ... ,wn. b是偏置引數(可以理解為為了更好的達到目標而做調整的引數),數學公式為:

神經元接受了多個輸入後,還會通過乙個函式對輸入資訊進行非線性變換,最終得到輸出. 這個函式就是啟用函式

可以說深度網路就是模擬生物神經網路, 那麼深度學習裡的啟用函式就是模仿這種神經元的'啟用方式'

為什麼使用啟用函式?

使用啟用函式的最主要目的是引入非線性. 我們知道線性模型有如下特性

啟用函式對輸入進行非線性變換, 這樣深層網路才能有意義, 能夠處理複雜任務

啟用函式使反向傳播成為可能, 因為啟用函式的誤差梯度可以用來調整權重和偏差

有哪些啟用函式?

sigmoid函式

sigmoid函式是經典的啟用函式,此函式是乙個擠壓函式,公式如圖

由圖可見其取值範圍為[0,1].當z是非常大的正數時, g(z)會趨近於1;而z是非常大的負數時,則g(z)會趨近於0

微分形式簡單,可以用自身表示. 公式如下

缺點:tanh函式(雙曲正切函式)

tanh函式是sigmoid函式的一種變體,此函式是乙個擠壓函式, 公式如圖:

取值範圍為[-1,1]

優點:

缺點:

softmax函式

softmax函式也是一種sigmoid函式

softmax用於多分類過程中, 它將多個神經元的輸出對映到(0,1)區間內,可以理解成概率,從而來進行多分類. 其定義為:

舉個例子來看公式:

通過上圖可以看到,softmax直白來說就是將原來輸出是3,1,-3通過softmax函式一作用,就對映成為(0,1)的值,而這些值的累和為1(滿足概率的性質),那麼我們就可以將它理解成概率,在最後選取輸出結點的時候,我們就可以選取概率最大(也就是值對應最大的)結點,作為我們的**目標

softmax函式最好在分類器的輸出層使用

relu函式(rectified linear unit)

近幾年非常受歡迎的啟用函式,輸入訊號 <0 時, 輸出都是0; >0 的情況下, 輸出等於輸入

優點:relu 的缺點是: 它在訓練時比較脆弱並且可能'死掉'

leaky relu函式

leaky relu函式是relu函式的改良版本,ε代表負區間上的斜率. 一般ε=0.01

當輸入訊號為負時, leaky relu則是給出乙個很小的負數梯度值,比如 0.01. 這樣負軸資訊不會全部丟失, 解決了relu神經元'死掉'的問題

實際用的真的不多, 其效果還有待驗證

prelu函式

prelu函式是leaky relu函式的改良版本,把負區間上的斜率(ε)當做每個神經元中的乙個引數來訓練

該啟用函式在在不同任務中表現的效果也沒有特別清晰

maxout函式

maxout將啟用函式變成乙個網路選擇器, 可以將它看做是在深度網路中加入一層啟用函式'層'

這一層的特殊之處在於增加了k個神經元並列地放在一起, 然後計算出k個啟用值.

從輸出結果中選擇最大的值, 這個最大值代表對特徵相應最敏感

然後取這個神經元的結果參與後面的運算.

公式如下:

下圖是單個神經元和maxout網路的對比(k=3):

為什麼要這樣做呢? 神經元的作用類似神經細胞, 不同的神經元會因為輸入的不同而產生不同的輸出,即不同的細胞關心的訊號不同.

依賴於這個原理,現在的做法就是相當於同時將多個神經元放在一起,哪個效果更好就用哪個,所以這樣的網路會有更好的擬合效果

優點:缺點:

如何選擇啟用函式?

深度學習之啟用函式詳解

啟用函式是什麼 啟用函式,即activation function,有時候也稱作激勵函式。它是為了解決線性不可分的問題引出的。但是也不是說線性可分就不能用啟用函式,也是可以的。它的目的是為了使資料更好的展現出我們想要的效果。啟用函式在 用?比如乙個神經網路 為了更清晰的表示,我用紅色標出。比如像上面...

深度學習之啟用函式

sigmoid啟用函式 sigmoid將乙個實數輸入對映到 0,1 範圍內,如下圖 左 所示。使用sigmoid作為啟用函式存在以下幾個問題 梯度飽和。當函式啟用值接近於0或者1時,函式的梯度接近於0。在反向傳播計算梯度過程中 l w l t l 1 f z l 每層殘差接近於0,計算出的梯度也不可...

深度學習之啟用函式

啟用函式 activate function 在神經元中非常重要,為了增強網路的表示能力和學習能力,啟用函式需要具備以下幾點性質 1 連續並可導的非線性函式,以便於利用數值優化的方法來學習網路引數。2 啟用函式及其導數要盡可能簡單,以提高網路計算的效率。3 啟用函式的導函式的值域要在乙個合適的區間內...