什么是激活函數(shù)?它有什么作用?

image

什么是人工神經(jīng)網(wǎng)絡(luò)?

現(xiàn)在,我相信我們大家都很熟悉什么是A-NN了,但接下來請允許我按照自己的理解給A-NN下個定義——它是一個強健有力的,同時也非常復(fù)雜的機器學(xué)習(xí)技術(shù),它可以模仿人類的大腦,繼而模仿大腦的運作。

正如我們的人腦一樣,在一個層次上和神經(jīng)元網(wǎng)絡(luò)中有數(shù)百萬個神經(jīng)元,這些神經(jīng)元通過一種稱之為synapses(突觸)的結(jié)構(gòu)彼此緊緊相連。它可以通過 Axons(軸突),將電信號從一個層傳遞到另一個層。這就是我們?nèi)祟悓W(xué)習(xí)事物的方式。 每當我們看到、聽到、感覺和思考時,一個突觸(電脈沖)從層次結(jié)構(gòu)中的一個神經(jīng)元被發(fā)射到另一個神經(jīng)元,這使我們能夠從我們出生的那一天起,就開始學(xué)習(xí)、記住和回憶我們?nèi)粘I钪械臇|西。

好的,接下來我保證大家看到的不再是生物學(xué)領(lǐng)域的知識了。

什么是激活函數(shù),它在神經(jīng)網(wǎng)絡(luò)模型中是如何使用的?

激活函數(shù)(Activation functions)對于人工神經(jīng)網(wǎng)絡(luò)模型去學(xué)習(xí)、理解非常復(fù)雜和非線性的函數(shù)來說具有十分重要的作用。它們將非線性特性引入到我們的網(wǎng)絡(luò)中。其主要目的是將A-NN模型中一個節(jié)點的輸入信號轉(zhuǎn)換成一個輸出信號。該輸出信號現(xiàn)在被用作堆疊中下一個層的輸入。

image

而在A-NN中的具體操作是這樣的,我們做輸入(X)和它們對應(yīng)的權(quán)重(W)的乘積之和,并將激活函數(shù)f(x)應(yīng)用于其獲取該層的輸出并將其作為輸入饋送到下一個層。

問題是,為什么我們不能在不激活輸入信號的情況下完成此操作呢?

如果我們不運用激活函數(shù)的話,則輸出信號將僅僅是一個簡單的線性函數(shù)。線性函數(shù)一個一級多項式?,F(xiàn)如今,線性方程是很容易解決的,但是它們的復(fù)雜性有限,并且從數(shù)據(jù)中學(xué)習(xí)復(fù)雜函數(shù)映射的能力更小。一個沒有激活函數(shù)的神經(jīng)網(wǎng)絡(luò)將只不過是一個線性回歸模型(Linear regression Model)罷了,它功率有限,并且大多數(shù)情況下執(zhí)行得并不好。我們希望我們的神經(jīng)網(wǎng)絡(luò)不僅僅可以學(xué)習(xí)和計算線性函數(shù),而且還要比這復(fù)雜得多。同樣是因為沒有激活函數(shù),我們的神經(jīng)網(wǎng)絡(luò)將無法學(xué)習(xí)和模擬其他復(fù)雜類型的數(shù)據(jù),例如圖像、視頻、音頻、語音等。這就是為什么我們要使用人工神經(jīng)網(wǎng)絡(luò)技術(shù),諸如深度學(xué)習(xí)(Deep learning),來理解一些復(fù)雜的事情,一些相互之間具有很多隱藏層的非線性問題,而這也可以幫助我們了解復(fù)雜的數(shù)據(jù)。

那么為什么我們需要非線性函數(shù)?

非線性函數(shù)是那些一級以上的函數(shù),而且當繪制非線性函數(shù)時它們具有曲率。現(xiàn)在我們需要一個可以學(xué)習(xí)和表示幾乎任何東西的神經(jīng)網(wǎng)絡(luò)模型,以及可以將輸入映射到輸出的任意復(fù)雜函數(shù)。神經(jīng)網(wǎng)絡(luò)被認為是通用函數(shù)近似器(Universal Function Approximators)。這意味著他們可以計算和學(xué)習(xí)任何函數(shù)。幾乎我們可以想到的任何過程都可以表示為神經(jīng)網(wǎng)絡(luò)中的函數(shù)計算。

而這一切都歸結(jié)于這一點,我們需要應(yīng)用激活函數(shù)f(x),以便使網(wǎng)絡(luò)更加強大,增加它的能力,使它可以學(xué)習(xí)復(fù)雜的事物,復(fù)雜的表單數(shù)據(jù),以及表示輸入輸出之間非線性的復(fù)雜的任意函數(shù)映射。因此,使用非線性激活函數(shù),我們便能夠從輸入輸出之間生成非線性映射。

激活函數(shù)的另一個重要特征是:它應(yīng)該是可以區(qū)分的。我們需要這樣做,以便在網(wǎng)絡(luò)中向后推進以計算相對于權(quán)重的誤差(丟失)梯度時執(zhí)行反向優(yōu)化策略,然后相應(yīng)地使用梯度下降或任何其他優(yōu)化技術(shù)優(yōu)化權(quán)重以減少誤差。

只要永遠記住要做:

“輸入時間權(quán)重,添加偏差和激活函數(shù)”

最流行的激活函數(shù)類型

1.Sigmoid函數(shù)或者Logistic函數(shù)

2.Tanh — Hyperbolic tangent(雙曲正切函數(shù))

3.ReLu -Rectified linear units(線性修正單元)

Sigmoid激活函數(shù):它是一個f(x)= 1/1 + exp(-x)形式的激活函數(shù)。它的值區(qū)間在0和1之間,是一個S形曲線。它很容易理解和應(yīng)用,但使其不受歡迎的主要原因是:

  • 梯度消失問題

  • 其次,它的輸出不是以0為中心。它的梯度更新在不同的方向上且走得太遠。 0<output <1,使優(yōu)化更加困難。<="" p="">

  • Sigmoids函數(shù)飽和且kill掉梯度。

  • Sigmoids函數(shù)收斂緩慢。

image

現(xiàn)在我們該如何解決上述問題?

雙曲正切函數(shù)——Tanh:其數(shù)學(xué)公式是f(x)= 1 - exp(-2x)/ 1 + exp(-2x)?,F(xiàn)在它的輸出是以0中心的,因為它的值區(qū)間在-1到1之間,即-1<output <1。="" 因此,在該方法中優(yōu)化更容易一些,從而其在實踐應(yīng)用中總是優(yōu)于sigmoid函數(shù)。="" 但它依然存在著梯度消失問題。<="" p="">

image

那么我們該如何處理和糾正梯度消失問題呢?

ReLu -Rectified linear units(線性修正單元):其實在過去幾年中它就已經(jīng)非常受歡迎了。最近證明,相較于Tanh函數(shù),它的收斂性提高了6倍。只要R(x)= max(0,x),即如果x <0,R(x)= 0,如果x> = 0,則R(x)= x。因此,只看這個函數(shù)的數(shù)學(xué)形式,我們就可以看到它非常簡單、有效。其實很多時候我們都會注意到,在機器學(xué)習(xí)和計算機科學(xué)領(lǐng)域,最簡單、相容的技術(shù)和方法才是首選,才是表現(xiàn)最好的。因此,它可以避免和糾正梯度消失問題?,F(xiàn)如今,幾乎所有深度學(xué)習(xí)模型現(xiàn)在都使用ReLu函數(shù)。

但它的局限性在于它只能在神經(jīng)網(wǎng)絡(luò)模型的隱藏層中使用。

因此,對于輸出層,我們應(yīng)該使用Softmax函數(shù)來處理分類問題從而計算類的概率。而對于回歸問題,它只要簡單地使用線性函數(shù)就可以了。

ReLu函數(shù)的另一個問題是,一些梯度在訓(xùn)練過程中可能很脆弱,甚至可能會死亡。它可以導(dǎo)致權(quán)重更新,這將使其永遠不會在任何數(shù)據(jù)點上激活。簡單地說ReLu可能會導(dǎo)致死亡神經(jīng)元。

為了解決這個問題,我們引進了另一個被稱為Leaky ReLu的修改函數(shù),讓它來解決死亡神經(jīng)元的問題。它引入了一個小斜坡從而保持更新值具有活力。

然后,我們還有另一個變體,它形成于ReLu函數(shù)和Leaky ReLu函數(shù)的結(jié)合,我們稱之為Maxout函數(shù)。

image

結(jié)論

問題是哪一個更好用呢?

這個問題的答案就是,現(xiàn)在我們應(yīng)該使用只應(yīng)用于隱藏層的ReLu函數(shù)。當然,如果我們的模型在訓(xùn)練過程中遇到死亡神經(jīng)元,我們就應(yīng)該使用leaky ReLu函數(shù)或Maxout函數(shù)。

而考慮到現(xiàn)實的情況,Sigmoid函數(shù)和Tanh函數(shù)是不適用的,因為梯度消失問題(vanishing Gradient Problem)是一個很嚴重的問題,會在訓(xùn)練一個神經(jīng)網(wǎng)絡(luò)模型中導(dǎo)致更多問題。

作者:Anish Singh Walia

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容