深度學習之啟用函式

2021-07-31 21:34:31 字數 769 閱讀 1901

sigmoid啟用函式

sigmoid將乙個實數輸入對映到[0,1]範圍內,如下圖(左)所示。使用sigmoid作為啟用函式存在以下幾個問題:

梯度飽和。當函式啟用值接近於0或者1時,函式的梯度接近於0。在反向傳播計算梯度過程中:δ(l)=(w(l))tδ(l+1)∗f′(z(l)),每層殘差接近於0,計算出的梯度也不可避免地接近於0。這樣在引數微調過程中,會引起引數瀰散問題,傳到前幾層的梯度已經非常靠近0了,引數幾乎不會再更新。

函式輸出不是以0為中心的。我們更偏向於當啟用函式的輸入是0時,輸出也是0的函式。

2. tanh啟用函式

tanh函式將乙個實數輸入對映到[-1,1]範圍內,如上圖(右)所示。當輸入為0時,tanh函式輸出為0,符合我們對啟用函式的要求。然而,tanh函式也存在梯度飽和問題,導致訓練效率低下。

3.relu啟用函式

relu啟用函式(the rectified linear unit)表示式為:f(x)=max(0,x)。如下圖(左)所示:

相比sigmoid和tanh函式,relu啟用函式的優點在於:

梯度不飽和。梯度計算公式為:1。因此在反向傳播過程中,減輕了梯度瀰散的問題,神經網路前幾層的引數也可以很快的更新。

計算速度快。正向傳播過程中,sigmoid和tanh函式計算啟用值時需要計算指數,而relu函式僅需要設定閾值。如果x<0,f(x)=0,如果x>0,f(x)=x。加快了正向傳播的計算速度。

因此,relu啟用函式可以極大地加快收斂速度,相比tanh函式,收斂速度可以加快6倍(如上圖(右)所示)。

深度學習之啟用函式

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

深度學習之啟用函式總結

深度學習中啟用函式的作用是能夠給神經網路加入一些非線性因素,使得神經網路可以更好地解決較為複雜的問題。沒有啟用函式,即便有再多的隱藏層,其整個網路跟單層神經網路也是等價的,可見啟用函式的重要性如此之大。下面,分別介紹深度學習中常用的啟用函式。sigmoid的公式如下 函式對應的影象如下 優點 1.s...

深度學習之啟用函式詳解

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