色婷婷AV无码久久精品,久久天天躁狠狠躁夜夜97,羞羞麻豆国产精品1区2区3区,啪影院免费线观看视频,思思久久er99精品亚洲

常州機(jī)器視覺培訓(xùn)

常州上位機(jī)軟件開發(fā)

常州工業(yè)機(jī)器人編程設(shè)計(jì)培訓(xùn)

常州PLC培訓(xùn)

常州PLC

常州PLC編程培訓(xùn)

常州電工培訓(xùn)

常州和訊plc培訓(xùn)中心歡迎您!
當(dāng)前位置:網(wǎng)站首頁 > 新聞中心 新聞中心
神經(jīng)網(wǎng)絡(luò)為何非激活函數(shù)不可?常州機(jī)器視覺培訓(xùn),常州工業(yè)機(jī)器人培訓(xùn),常州PLC培訓(xùn)
日期:2023-12-28 15:08:14人氣:  標(biāo)簽:常州機(jī)器視覺培訓(xùn) 常州工業(yè)機(jī)器人培訓(xùn) 常州PLC培訓(xùn)

激活函數(shù)是向神經(jīng)網(wǎng)絡(luò)中引入非線性因素,通過激活函數(shù)神經(jīng)網(wǎng)絡(luò)就可以擬合各種曲線。激活函數(shù)是神經(jīng)網(wǎng)絡(luò)中一個(gè)至關(guān)重要的概念,決定了某個(gè)神經(jīng)元是否被激活,判斷該神經(jīng)元獲得的信息是否有用,并決定該保留還是該去掉此神經(jīng)元。

一、激活函數(shù)是什么?

簡(jiǎn)單地說,激活函數(shù)就是加入到人工神經(jīng)網(wǎng)絡(luò)中的一個(gè)函數(shù),目的在于幫助神經(jīng)網(wǎng)絡(luò)從數(shù)據(jù)中學(xué)習(xí)復(fù)雜模式。

相比于人類大腦中基于神經(jīng)元的模型,激活函數(shù)是決定向下一個(gè)神經(jīng)元傳遞何種信息的單元,這也正是激活函數(shù)在人工神經(jīng)網(wǎng)絡(luò)中的作用。激活函數(shù)接收前一個(gè)單元輸出的信號(hào),并將其轉(zhuǎn)換成某種可以被下一個(gè)單元接收的形式。

下圖總結(jié)了兩者的區(qū)別:

1.jpg

二、為什么需要激活函數(shù)?

在神經(jīng)網(wǎng)絡(luò)中使用非線性激活函數(shù)的原因有很多。

1. 除了前面討論過的生物學(xué)方面的相似性外,激活函數(shù)還有助于我們根據(jù)要求將神經(jīng)元的輸出值限定在一定的范圍內(nèi)。這一點(diǎn)很重要,因?yàn)榧せ詈瘮?shù)的輸入是 W*x+b,其中 W 是單元的權(quán)重,x 是輸入值,然后加上偏置 b。如果輸出值不被限定在某個(gè)范圍內(nèi),它可能會(huì)變得非常大,特別是在具有數(shù)百萬個(gè)參數(shù)的深層神經(jīng)網(wǎng)絡(luò)中,從而導(dǎo)致計(jì)算量過大。例如,有一些激活函數(shù)(如 softmax)對(duì)于不同的輸入值(0 或 1)會(huì)輸出特定的值。

2. 激活函數(shù)最重要的特點(diǎn)是它具有在神經(jīng)網(wǎng)絡(luò)中加入非線性的能力。為了便于理解,我們不妨考慮一下多維數(shù)據(jù),如下圖所示: 

2.jpg

線性函數(shù)有三個(gè)屬性(在這個(gè)圖中分別是體重,收縮壓和年齡),它使我們得到一條貫穿三維空間的直線,但它永遠(yuǎn)也無法學(xué)會(huì)一種模式來將一個(gè)人準(zhǔn)確地區(qū)分為吸煙者和不吸煙者(以手頭上現(xiàn)有的分類問題為例)。原因很簡(jiǎn)單,定義這個(gè)分類的模式根本不是線性的。

那在人工神經(jīng)網(wǎng)絡(luò)中,如果我們使用只有一個(gè)單元而沒有激活函數(shù)的神經(jīng)網(wǎng)絡(luò)會(huì)怎樣?這種情況下我們所得到的輸出基本上還是 W*x+b,這并不好,因?yàn)?W*x 也是 x 的一次方,因此函數(shù)仍然是線性的,基本等同于線性函數(shù)。

如果我們疊加多層呢?假如我們用一個(gè)函數(shù) f(x)來表示 nᵗʰ層,那么可以得出:

3.png

然而,這還不夠復(fù)雜,特別是在計(jì)算機(jī)視覺或自然語言處理等有著復(fù)雜模式的問題中。

為了使模型能夠?qū)W習(xí)非線性模式(或者說具有更高的復(fù)雜度),特定的非線性層(激活函數(shù))被加入其中。

三、理想的激活函數(shù)具有的特點(diǎn)

1. 梯度消失問題:神經(jīng)網(wǎng)絡(luò)是利用梯度下降過程來訓(xùn)練的。

梯度下降由基于鏈?zhǔn)揭?guī)則的反向傳播組成,鏈?zhǔn)揭?guī)則用于獲取權(quán)值變化以減少每次訓(xùn)練后的損失?紤]一個(gè)兩層網(wǎng)絡(luò),第一層表示為 f₁(x),第二層表示為 f₂(x)。整個(gè)網(wǎng)絡(luò)為 o(x)= f₂(f₁(x))。

如果我們反過來計(jì)算權(quán)重,可以得到 o`(x)= f₂(x)*f₁`(x)。這里 f₁(x)本身是由 Act(W₁*x₁+b₁)組成的復(fù)合函數(shù),其中 Act 是第 1 層之后的激活函數(shù)。再次應(yīng)用鏈?zhǔn)揭?guī)則,可以得到 f₁`(x)=Act(W₁*x₁+b₁)*x₁,這意味著此結(jié)果也直接依賴于激活值,F(xiàn)在可以看到, 這樣一個(gè)鏈?zhǔn)揭?guī)則在反向傳播時(shí)會(huì)經(jīng)過很多個(gè)層。

如果 Act()的值介于 0 和 1 之間,那么它會(huì)乘以幾個(gè)這樣的值來計(jì)算初始層的梯度。這個(gè)過程會(huì)降低初始層的梯度值,并且這些層也無法正確學(xué)習(xí)。

換言之,因?yàn)榫W(wǎng)絡(luò)的深度和激活過程將值轉(zhuǎn)變?yōu)橼吔?0,它們的梯度逐漸消失,這就是所謂的梯度消失問題。所以我們希望理想的激活函數(shù)不要使梯度逐漸變?yōu)榱恪?/p>

2. 以零為中心:激活函數(shù)的輸出應(yīng)對(duì)稱于零,這樣梯度就不會(huì)向特定方向移動(dòng)。

3. 計(jì)算成本:網(wǎng)絡(luò)的每一層都會(huì)應(yīng)用激活函數(shù),它在深層網(wǎng)絡(luò)中需要計(jì)算數(shù)百萬次。因此,激活函數(shù)的計(jì)算成本應(yīng)該很低。

4. 可微性:如前所述,神經(jīng)網(wǎng)絡(luò)使用梯度下降過程進(jìn)行訓(xùn)練,因此模型中的層需要可微或至少部分可微。這是一個(gè)函數(shù)可以作為激活函數(shù)層的必要條件。

四、目前使用的各種非線性函數(shù)

1、Sigmoid 函數(shù)

函數(shù)如下圖所示:

4.jpg

這種激活函數(shù)從未在實(shí)際模型中使用,僅由于歷史原因羅列在此。Sigmoid 函數(shù)計(jì)算量大,會(huì)導(dǎo)致梯度消失問題且不以零為中心,通常在二進(jìn)制分類問題中才會(huì)使用。


Softmax 邏輯回歸模型: softmax 邏輯回歸模型是 Sigmoid 函數(shù)在多分類問題上的一種推廣形式。與 Sigmoid 函數(shù)相似,它也產(chǎn)生 0-1 范圍內(nèi)的值,因此被用作分類模型的最后一層。


2、雙曲正切函數(shù) tanh


如圖所示:

5.jpg

相比于 Sigmoid 函數(shù),它僅僅解決了以零為中心這個(gè)問題。

3、線性整流函數(shù)(Rectified Linear Unit, ReLU)

該函數(shù)又稱修正線性單元,定義為 f(x)=max(0,x):

6.jpg

這是一個(gè)使用十分廣泛的激活函數(shù),尤其是在卷積神經(jīng)網(wǎng)絡(luò)中。它計(jì)算簡(jiǎn)單,不會(huì)飽和,不產(chǎn)生梯度消失問題,但不以零為中心。它也存在「dying ReLU」問題,即當(dāng)輸入的是負(fù)數(shù)時(shí),輸出都會(huì)變成零,這樣就導(dǎo)致一些節(jié)點(diǎn)完全「死掉」,神經(jīng)元也不會(huì)進(jìn)行學(xué)習(xí)。

ReLU 的另一個(gè)問題是激活爆炸,因?yàn)樗纳舷奘?inf,有時(shí)會(huì)產(chǎn)生不可用的節(jié)點(diǎn)。

4、Leaky ReLU 和 Parametric ReLU 函數(shù)

函數(shù)的定義為 f(x)=max(αx,x),如下圖所示:

7.png

當(dāng)α為0.1時(shí)

這里α是一個(gè)通常設(shè)置為 0.01 的超參數(shù)。顯然,Leaky ReLU 在一定程度上解決了「dying ReLU」這一問題。請(qǐng)注意,如果我們將α設(shè)為 1,那么 Leaky ReLU 將成為線性函數(shù) f(x)=x,并且沒有任何用處。

因此,α的值永遠(yuǎn)不會(huì)設(shè)置為趨近于 1 的值。如果我們分別將α設(shè)為每個(gè)神經(jīng)元的超參數(shù),則得到 Parametric ReLU 或 PReLU。

5、ReLU6 函數(shù)

ReLU6 在 x>0 的區(qū)域基本上等同于 ReLU,定義為 f(x)=min(max(0,x),6)

8.jpg

這有助于阻止激活增長(zhǎng),從而防止梯度爆炸(趨近無限時(shí))以及正常 ReLUs 發(fā)生的其他小問題。

我們通常的想法是,為什么不把 ReLU6 和 Leaky ReLU 結(jié)合起來,以解決現(xiàn)在的激活函數(shù)的所有已知的問題。流行的 DL 框架沒有提供現(xiàn)成的這樣的激活函數(shù),但我認(rèn)為這是一個(gè)很好的想法。

五、在最新研究中涌現(xiàn)的值得關(guān)注的非線性激活函數(shù)

1、Swish 函數(shù)

Swish 由 Ramachandran 等人在 2017 年提出,定義為 f(x)=x*sigmoid(x)。

9.jpg

與 ReLU 相比,盡管圖形非常相似,Swish 的性能卻要稍好一些。然而,ReLU 在 x=0 時(shí)會(huì)突然發(fā)生改變,而 Swish 與此不同,它不會(huì)在某個(gè)點(diǎn)上突然改變,這使得訓(xùn)練時(shí) Swish 更容易收斂。

但是,Swish 的缺點(diǎn)是它的計(jì)算成本很高,為了解決這個(gè)問題,我們來看看下一個(gè)版本的 Swish。

2、Hard-Swish 或 H-Swish函數(shù)

函數(shù)定義如下:

10.jpg

它最大的優(yōu)點(diǎn)是幾乎類似于 swish 函數(shù),但計(jì)算成本卻比 swish 更低,因?yàn)樗镁性類型的 ReLU 函數(shù)取代了指數(shù)類型的 sigmoid 函數(shù)。

六、在深層神經(jīng)網(wǎng)絡(luò)中如何使用這些激活函數(shù)?

首先,Tanh 和 sigmoid 函數(shù)會(huì)引起巨大的梯度消失問題,因此一般不推薦使用。

神經(jīng)網(wǎng)絡(luò)中一開始嘗試引入 ReLU 函數(shù)。如上文所述,在權(quán)重層(諸如 CNN、RNN、LSTM 或線性感知層)之后添加激活層。如果你認(rèn)為模型已經(jīng)停止學(xué)習(xí),那么可以用 Leaky ReLU 替換它,以避免「Dying ReLU」問題。但 Leaky ReLU 會(huì)稍微增加計(jì)算時(shí)間。

如果網(wǎng)絡(luò)中也有 Batch-Norm 層(批標(biāo)準(zhǔn)化層),則需要在執(zhí)行激活函數(shù)之前添加該層,順序是先進(jìn)行 CNN-Batch(卷積神經(jīng)網(wǎng)絡(luò)批處理),再進(jìn)行 Norm-Act(標(biāo)準(zhǔn)化動(dòng)作)。雖然 Batch-Norm(批標(biāo)準(zhǔn)化)和激活函數(shù)的運(yùn)行順序是一個(gè)備受爭(zhēng)議的話題,也有人說順序其實(shí)無關(guān)緊要,為了與 Batch-Norm 的原論文保持一致,使用的是以上提到的這種順序。

激活函數(shù)的默認(rèn)超參數(shù)如果是在如 Tensorflow 和 Pytorch等框架中使用,則效果最好。然而,你可以調(diào)整 Leaky ReLU 中的負(fù)斜率并將其設(shè)置為 0.02 以加快學(xué)習(xí)速度。


本文網(wǎng)址:
下一篇:沒有資料

相關(guān)信息:
版權(quán)所有 CopyRight 2006-2017 江蘇和訊自動(dòng)化設(shè)備有限公司 常州自動(dòng)化培訓(xùn)中心 電話:0519-85602926 地址:常州市新北區(qū)府琛商務(wù)廣場(chǎng)2號(hào)樓1409室
蘇ICP備14016686號(hào)-2 技術(shù)支持:常州山水網(wǎng)絡(luò)
本站關(guān)鍵詞:常州PLC培訓(xùn) 常州PLC編程培訓(xùn) 常州PLC編程 常州PLC培訓(xùn)班 網(wǎng)站地圖 網(wǎng)站標(biāo)簽
在線與我們?nèi)〉寐?lián)系
色婷婷AV无码久久精品,久久天天躁狠狠躁夜夜97,羞羞麻豆国产精品1区2区3区,啪影院免费线观看视频,思思久久er99精品亚洲