導航:首頁 > 網路問題 > 神經網路為什麼不能激活函數

神經網路為什麼不能激活函數

發布時間:2023-12-20 01:59:17

⑴ 激活函數思考

激活函數 : 神經網路神經元中,輸入的 inputs 通過加權,求和後,還被作用了一個函數,這個函數就是激活函數 Activation Function。

1. 為什麼要用激活函數?

神經網路中激活函數的主要作用是提供網路的非線性建模能力,如不特別說明,激活函數一般而言是非線性函數。 假設一個示例神經網路中僅包含線性卷積和全連接運算,那麼該網路僅能夠表達線性映射,即便增加網路的深度也依舊還是線性映射,難以有效建模實際環境中非線性分布的數據。 加入(非線性)激活函數之後,深度神經網路才具備了分層的非線性映射學習能力。

激活函數通常有如下一些性質:

(1)非線性: 如果不用激勵函數,每一層輸出都是上層輸入的線性函數,無論神經網路有多少層,輸出都是輸入的線性組合。如果使用的話,激活函數給神經元引入了非線性因素,使得神經網路可以任意逼近任何非線性函數,這樣神經網路就可以應用到眾多的非線性模型中。 當激活函數是非線性的時候,一個兩層的神經網路就可以逼近基本上所有的函數了。但是,如果激活函數是恆等激活函數的時候(即),就不滿足這個性質了,而且如果MLP使用的是恆等激活函數,那麼其實整個網路跟單層神經網路是等價的。

(2)可微性: 當優化方法是基於梯度的時候,這個性質是必須的。

(3)單調性: 當激活函數是單調的時候,單層網路能夠保證是凸函數。 當激活函數滿足這個性質的時候,如果參數的初始化是random的很小的值,那麼神經網路的訓練將會很高效;如果不滿足這個性質,那麼就需要很用心的去設置初始值。

(4)輸出值的范圍: 當激活函數輸出值是 有限 的時候,基於梯度的優化方法會更加 穩定,因為特徵的表示受有限權值的影響更顯著;當激活函數的輸出是 無限 的時候,模型的訓練會更加高效,不過在這種情況小,一般需要更小的learning rate。

2. 激活函數如何選擇?

從定義來看,幾乎所有的連續可導函數都可以用作激活函數。但目前 常見的多是分段線性和具有指數形狀的非線性函數 。

選擇的時候,就是根據各個函數的優缺點來配置,例如:

如果使用 ReLU,要小心設置 learning rate, 注意不要讓網路出現很多 「dead」 神經元 ,如果不好解決,可以試試 Leaky ReLU、PReLU 或者 Maxout。

最好不要用 sigmoid,你可以試試 tanh,不過可以預期它的效果會比不上 ReLU 和 Maxout。

一般來說,在分類問題上建議首先嘗試 ReLU,其次ELU,這是兩類不引入額外參數的激活函數。

然後可考慮使用具備學習能力的PReLU和MPELU,並 使用正則化技術 ,例如應該考慮在網路中增加Batch Normalization層。

通常來說,很少會把各種激活函數串起來在一個網路中使用的。

3. 為什麼引入非線性激勵函數?

激活函數通常分為 線性激活函數 和 非線性激活函數 。一般情況下,如果神經網路中使用的是線性激活函數,那麼每一層就相當於是上一層的線性組合,其輸入和輸出均是線性的,類似於感知機模型,則hidden layers沒有存在的意義了,同時這種線性函數對於 復雜的非線性問題擬合欠佳 。當我們使用非線性激活函數時,模型可以擬合任意函數的輸出,表現空間更大、使用該范圍廣、且效果更優。下圖為單層的感知機,是常用的神經網路組合單元,用它可以畫出一條線,把平面分開。

很容易聯想到多個感知機組和,獲得更強的分類能力,效果如下所示:

但是感知機的輸出是線性的,如下所示。當然可以用無限條線性的線擬合曲線,然而復雜度較高。

如果不用激勵函數(其實相當於激勵函數是f(x) = x),在這種情況下你每一層輸出都是上層輸入的線性函數,很容易驗證,無論你神經網路有多少層,輸出都是輸入的線性組合,與只有一個隱藏層效果相當,這種情況就是多層感知機(MLP)了。

正因為上面的原因,我們決定引入非線性函數作為激勵函數,這樣深層神經網路就有意義了(不再是輸入的線性組合,可以逼近任意函數)。

當拓展到多層的情況時,就會變成一個復雜的函數,可以輕松擬合非線性的復雜場景。最早的想法是sigmoid函數或者tanh函數,輸出有界,很容易充當下一層輸入(以及一些人的生物解釋balabala)。

比較線性激活和非線性激活下的平滑分類平面,兩者分別如下。

非線性激活函數可以擬合出曲線的邊界。圖像的非線性特點,可以理解為在一些應用中,其分布為非線性的,無法通過直線來完整的分離開。

4. 為什麼引入ReLU呢?

第一,採用sigmoid等函數,反向傳播求誤差梯度時,求導計算量很大,而Relu求導非常容易,使得訓練時間短。

第二,對於深層網路,sigmoid函數反向傳播時,很容易就會出現梯度消失的情況(在sigmoid接近飽和區時,變換太緩慢,導數趨於0),從而無法完成深層網路的訓練。

第三,Relu會使一部分神經元的輸出為0,這樣就造成了網路的稀疏性,並且減少了參數的相互依存關系,緩解了過擬合問題的發生(以及一些人的生物解釋balabala)。

參考:

[1] 神經網路之激活函數 https://www.csuldw.com/2019/05/26/2019-05-26-activation-function/

[2] 激活函數的解釋 https://www.hu.com/question/22334626

閱讀全文

與神經網路為什麼不能激活函數相關的資料

熱點內容
口袋妖怪顯示網路連接超時 瀏覽:860
湘潭網路營銷定製 瀏覽:807
三星共享網路數據 瀏覽:174
ip網路攝像機軟體 瀏覽:649
通過網路表達哪些民情民意 瀏覽:978
山上網路聯通和電信哪個好 瀏覽:281
安徽無線網路代碼 瀏覽:920
網路配件哪個平台好 瀏覽:900
哪個網路電視機資源多 瀏覽:861
榮耀8a手機能用電信網路嗎 瀏覽:307
華為手機丟了沒有網路能找回來嗎 瀏覽:374
蘋果8p怎麼黑解網路鎖 瀏覽:237
移動聯通電信網路電視有無線的嗎 瀏覽:516
沈陽理工大學計算機網路原理 瀏覽:43
電腦網路顯示鏈接但無網路 瀏覽:751
海珠網路營銷哪裡靠譜 瀏覽:698
華為電視盒子和網路電視哪個好 瀏覽:280
廣發網路提現密碼 瀏覽:721
縮寫網路語言有哪些 瀏覽:242
聯通手機卡網路連接不可用 瀏覽:748

友情鏈接