神經網絡中激活函數的真正意義?一個激活函數需要具有哪些必要的屬性?還有哪些屬性是好的屬性但不必要的?

2021-02-21 機器學習算法與自然語言處理

點擊上方「MLNLP」,選擇「星標」公眾號

重磅乾貨,第一時間送達

編輯:憶臻

https://www.zhihu.com/question/63795427

本文僅作為學術交流分享,如果侵權,會刪文處理

筆者在知乎上發現了一個叫「神經網絡中激活函數的真正意義?一個激活函數需要具有哪些必要的屬性?還有哪些屬性是好的屬性但不必要的?」的問題,很有意思,下面與大家分享一些大佬們的見解,希望對你的研究有幫助。

知乎高質量回答

作者:Hengkai Guo

https://www.zhihu.com/question/67366051/answer/262087707

補充一篇Google Brain[10] 的觀點。這篇文章裡基於RL對激活函數進行了搜索,包括很多一元函數和二元函數的組合:

最終發現了一些表現最好的激活函數:

在搜索過程中,他們發現表現比較好的激活函數都比較簡單(由兩個以內的單元組成)且由原始輸入x組合成(即b(x, g(x)))。同時,它們都是光滑的(與ReLU不同),而且有些並不是單調的(比如表現最好的Swish函數)。

對應於原回答中的特性,其中的1、2、3、4、7(從圖中可以看出,大部分函數都具有線性區)、8都被這篇文章的實驗所驗證,比較有爭議的就是單調性。

---原回答的分割線----

說說我對一個好的激活函數的理解吧,有些地方可能不太嚴謹,歡迎討論。(部分參考了Activation function。)

1. 非線性:即導數不是常數。這個條件前面很多答主都提到了,是多層神經網絡的基礎,保證多層網絡不退化成單層線性網絡。這也是激活函數的意義所在。

2. 幾乎處處可微:可微性保證了在優化中梯度的可計算性。傳統的激活函數如sigmoid等滿足處處可微。對於分段線性函數比如ReLU,只滿足幾乎處處可微(即僅在有限個點處不可微)。對於SGD算法來說,由於幾乎不可能收斂到梯度接近零的位置,有限的不可微點對於優化結果不會有很大影響[1]。

3. 計算簡單:正如題主所說,非線性函數有很多。極端的說,一個多層神經網絡也可以作為一個非線性函數,類似於Network In Network[2]中把它當做卷積操作的做法。但激活函數在神經網絡前向的計算次數與神經元的個數成正比,因此簡單的非線性函數自然更適合用作激活函數。這也是ReLU之流比其它使用Exp等操作的激活函數更受歡迎的其中一個原因。

4. 非飽和性(saturation):飽和指的是在某些區間梯度接近於零(即梯度消失),使得參數無法繼續更新的問題。最經典的例子是Sigmoid,它的導數在x為比較大的正值和比較小的負值時都會接近於0。更極端的例子是階躍函數,由於它在幾乎所有位置的梯度都為0,因此處處飽和,無法作為激活函數。ReLU在x>0時導數恆為1,因此對於再大的正值也不會飽和。但同時對於x<0,其梯度恆為0,這時候它也會出現飽和的現象(在這種情況下通常稱為dying ReLU)。Leaky ReLU[3]和PReLU[4]的提出正是為了解決這一問題。

5. 單調性(monotonic):即導數符號不變。這個性質大部分激活函數都有,除了諸如sin、cos等。個人理解,單調性使得在激活函數處的梯度方向不會經常改變,從而讓訓練更容易收斂。

6. 輸出範圍有限:有限的輸出範圍使得網絡對於一些比較大的輸入也會比較穩定,這也是為什麼早期的激活函數都以此類函數為主,如Sigmoid、TanH。但這導致了前面提到的梯度消失問題,而且強行讓每一層的輸出限制到固定範圍會限制其表達能力。因此現在這類函數僅用於某些需要特定輸出範圍的場合,比如概率輸出(此時loss函數中的log操作能夠抵消其梯度消失的影響[1])、LSTM裡的gate函數。

7. 接近恆等變換(identity):即約等於x。這樣的好處是使得輸出的幅值不會隨著深度的增加而發生顯著的增加,從而使網絡更為穩定,同時梯度也能夠更容易地回傳。這個與非線性是有點矛盾的,因此激活函數基本只是部分滿足這個條件,比如TanH只在原點附近有線性區(在原點為0且在原點的導數為1),而ReLU只在x>0時為線性。這個性質也讓初始化參數範圍的推導更為簡單[5][4]。額外提一句,這種恆等變換的性質也被其他一些網絡結構設計所借鑑,比如CNN中的ResNet[6]和RNN中的LSTM。

8. 參數少:大部分激活函數都是沒有參數的。像PReLU帶單個參數會略微增加網絡的大小。還有一個例外是Maxout[7],儘管本身沒有參數,但在同樣輸出通道數下k路Maxout需要的輸入通道數是其它函數的k倍,這意味著神經元數目也需要變為k倍;但如果不考慮維持輸出通道數的情況下,該激活函數又能將參數個數減少為原來的k倍。

9. 歸一化(normalization):這個是最近才出來的概念,對應的激活函數是SELU[8],主要思想是使樣本分布自動歸一化到零均值、單位方差的分布,從而穩定訓練。在這之前,這種歸一化的思想也被用於網絡結構的設計,比如Batch Normalization[9]。

參考文獻:

[1] Goodfellow I, Bengio Y, Courville A. Deep learning[M]. MIT press, 2016.

[2] Lin M, Chen Q, Yan S. Network in network[J]. arXiv preprint arXiv:1312.4400, 2013.

[3] Maas A L, Hannun A Y, Ng A Y. Rectifier nonlinearities improve neural network acoustic models[C]//Proc. ICML. 2013, 30(1).

[4] He K, Zhang X, Ren S, et al. Delving
deep into rectifiers: Surpassing human-level performance on imagenet
classification[C]//Proceedings of the IEEE international conference on
computer vision. 2015: 1026-1034.

[5] Glorot X, Bengio Y. Understanding the
difficulty of training deep feedforward neural networks[C]//Proceedings
of the Thirteenth International Conference on Artificial Intelligence
and Statistics. 2010: 249-256.

[6] He K, Zhang X, Ren S, et al. Deep
residual learning for image recognition[C]//Proceedings of the IEEE
conference on computer vision and pattern recognition. 2016: 770-778.

[7] Goodfellow I J, Warde-Farley D, Mirza M, et al. Maxout networks[J]. arXiv preprint arXiv:1302.4389, 2013.

[8] Klambauer G, Unterthiner T, Mayr A, et al. Self-Normalizing Neural Networks[J]. arXiv preprint arXiv:1706.02515, 2017.

[9] Ioffe S, Szegedy C. Batch
normalization: Accelerating deep network training by reducing internal
covariate shift[C]//International Conference on Machine Learning. 2015:
448-456.

[10] Ramachandran P, Zoph B, Le Q V. Swish: a Self-Gated Activation Function[J]. arXiv preprint arXiv:1710.05941, 2017.


作者:龍鵬-言有三
https://www.zhihu.com/question/67366051/answer/604308154


也來答一波,分幾個方向:參考龍鵬:【AI初識境】激活函數:從人工設計到自動搜索

總的來說,激活函數經歷了從人工設計到自動探索的長足發展歷程。

01 無處不在的激活函數

我們都知道人工神經網絡是用於模擬神經元的,那麼提起激活函數,自然是要從那裡去挖掘原因。

在正說深度學習中的激活函數之前,我想說其實激活函數無處不在,從中閒話一下激活函數的意義

(1) 上班需要激活函數。早上10點上班,你8點到也好,9點到也好都一樣,但是10點零1分到不行,性質就變了,考勤系統留下遲到的記錄,全勤獎再無希望。

它的激活函數應該是這樣的,x是打卡時間。

這是一個階躍函數,類似於如下:

(2) 最近看上了一個跳槽過來的喜歡吃甜品的女同事,不過聽說有男朋友,不過又聽說好像正在慢慢鬧分手。

那麼如果要追這個女同事,什麼時候送甜品能帶來友情的升華?假如預判她和對象第t天后拜拜。

它的激活函數可能是這樣的,x是送甜品的日子。

在剛分手的時候(也就是第t天,對應曲線斜率最大的地方)送甜品帶來的好感激增度是最高的,再往後雖然隨著相互之間越來越熟友誼持續升溫,但是增長率下降了啊。而且到後來可能被其他人追走了,這個函數還只在一定期限內有效。

(3) 最近項目要加班,不過好在加班費是按小時(可以有分數)算的,那麼當天的工資,就應該是這樣算的。它的激活函數可能是這樣的,x是工作時長。

形狀長這樣,超過一個閾值後是線性增加的,低於閾值則是常量。

(4) 不是單身狗?OK你是有老婆的人,那麼下班回家陪老婆看電視總需要吧。不過到底陪不陪看,是不是陪就一定能得到老婆大人喜歡,這個可能是個周期性質的東西。

假如x是當天日曆,那麼激活函數可能是這樣。

這麼想想,是不是感覺激活函數無處不在,上面的這幾種都是有正兒八經對應的激活函數的,以上是閒話,下面是分割線。

┉┉ ∞ ∞ ┉┉┉┉ ∞ ∞ ┉┉┉┉┉ ∞ ∞ ┉┉┉┉ ∞ ∞ ┉┉┉┉┉ ∞ ∞ ┉┉┉┉ ∞ ∞ ┉┉┉

迴轉正題,之所以需要激活函數,從生物學上來說,是因為人腦的細胞接受刺激從而產生活動,首先需要一定的閾值,沒有達到閾值,幾乎沒用。而不同的刺激產生的輸出也是不同的,達到一定值後就飽和了,再加大也沒用。

作為模擬人腦的人工神經網絡,自然是需要某種機制來模擬這一種活動,這便是激活函數根本性的由來。

02 激活函數到底有什麼用

一個複雜的神經網絡,是有許多層的,其中最基本的單位便是神經元。

一個線性神經元,輸入x輸出y的變換關係如下。

可以看到輸出y與x是一個線性關係。如果再增加一層,把y作為中間層,輸出為z呢?

如下:

可以看出,最終的輸出z仍然與x是線性關係,也就是說這樣堆疊下去,永遠都是線性關係。

人們期望神經網絡可以模擬任意的函數,怎麼可能用一個線性函數來完成呢?所以才會在線性神經元的輸出後添加非線性的函數,添加的越多,變換自然就越複雜了。

而不同的非線性映射函數的選擇,就是激活函數的研究課題了。

03 各種激活函數

https://en.wikipedia.org/wiki/Activation_function

關於激活函數的種類,大家可以去wiki 百科上面看,或者參考[3],非常的詳細,下面摘錄其中的一些。

這些人工設計的激活函數有這麼多,那麼什麼激活函數最好,是ReLU嗎?還是各類ReLU的變種(LReLU,PReLU,RReLU,ELU,SELU,GELU等等),Maxout,又或者是某大神自己在搞的很複雜的激活函數,這是沒有標準答案的,只能說有一些通用的大家認可的結論,下面也只能覆蓋到一些。

(1) sigmoid和tanh激活函數。

為什麼最早的時候大家用sigmoid函數呢?因為它不管輸入處於多大的範圍,輸出是處於0~1的,機器學習裡要解決的問題很多都是概率,用sigmoid不是很自然嗎?

所以很早期的比較淺的神經網絡,用sigmoid沒毛病,現在在LSTM這一類需要計算開關概率的網絡中,sigmoid仍然是很常見的。

不過sigmoid函數的確是有個非常大的缺陷:

函數的兩端是飽和區,飽和區內梯度接近於0。一旦神經元的初始或者優化進入了飽和區域,將難以繼續優化。另一方面,隨著網絡層數的增加,由於鏈式法則連乘的sigmoid導數也會變得越來越小,導致梯度難以回傳,這會降低網絡的收斂速度,甚至導致網絡不能收斂到好的狀態。

那tanh函數又如何呢?它相比sigmoid來說,將輸出映射到(-1,1)之間了,拓展了一倍的值域。

激活有負值之後,網絡的表達能力可以得到提升,但未必一定需要這麼做的,因為權重本身是可以為負的,而在最早期的神經網絡中,用模擬信號處理問題,甚至連權重都沒有非負的,一樣有效。不過一般來說tanh總不至於比sigmoid差的,它畢竟通過零點,輸出期望不會漂移。

(2)ReLU激活函數。

ReLU激活函數的提出是有許多背景的,包括腦神經元的激活模型的研究,稀疏特徵理論等。

2001年,神經科學家Dayan和Abott在著作《Theoretical neuroscience》中模擬出了腦神經元接受信號的激活模型,畫個圖是這樣的,參考ReLU的文章」Deep Sparse Rectifier Neural Networks「。

可以看它的特點:正區間平滑的增加,而負區間沒有激活的,為平坦區域。

同年Attwell等人在研究大腦能量消耗的時候,發現神經元編碼工作方式具有稀疏性和分布性。兩年後也就是2003年Lennie等人估測大腦同時被激活的神經元只有1~4%,進一步證實了神經元工作的稀疏性。這說明神經元同時只會對輸入信號的少部分選擇性響應,Sigmoid系函數同時有一半的神經元被激活,這不符合要求啊,因此我們需要新的稀疏性質的激活函數。

另一方面,如果特徵是稀疏的,那就有更大的線性可分的可能性,高維的稀疏特徵空間上會被映射到一個更加簡單的低維流形面上,比如PCA降維。這樣一來,一個密集的特徵因為稀疏映射之後大大降低了學習難度。

在神經網絡中也是如此這就非常有利於學習了。

同一年Softplus/Rectifier激活函數就被提出了,與腦神經元的激活模型異曲同工,因此兩者的結合促進了激活函數的研究。

雖然softplus更早的提出,但是它沒有稀疏激活性,可以看作是一個平滑版本的ReLU,不過實驗結果結果表明還不如ReLU。

Xavier Glorot等人在論文《Deep Sparse Rectifier Neural Networks》中正式提出了使用線性整流單元作為激活函數比sigmoid,tanh激活ReLU函數更好,表達式也很簡單:f(x)=max(0,x)

ReLU函數本質是一個取最大值函數,非全區間可導,但是在計算過程中可以取近似梯度,在x>0時,梯度為1,小於等於0時,梯度為0。為了限制激活的邊界,對激活值使用L1規整化,它帶來的稀疏的激活值也使得神經網絡的激活方式更加像大腦了。

ReLU的使用使得訓練不再依賴於無監督的預訓練方法,沒做預訓練情況下,ReLu激活網絡遙遙領先其它激活函數,這對於訓練更深的模型非常的重要,當然它也可以受益於無監督的預訓練,前提是後者有足夠多的數據提供好的初始化。

ReLU在正區間內解決了梯度消失問題,只需要判斷輸入是否大於0,所以計算速度非常快,收斂速度遠快於sigmoid和tanh函數。但ReLU函數的輸出同樣不是零均值的。並且存在Dead ReLU Problem,即某些神經元可能永遠不會參與計算,導致其相應的參數無法被更新。有兩個主要原因可能導致這種情況產生;參數初始化以及學習速率太高導致在訓練過程中參數更新太大,使網絡進入這種狀態。解決方法之一是採用Xavier初始化方法,Xavier初始化不就是自己提出來的嗎,機智的一比 。

總之使用ReLU好處是很明顯的。簡單,這個簡單不僅在於導數恆定,更在於它將低於一定閾值的信號丟棄了。深度學習要解決的是工程問題,工程問題很多時候都是稀疏性的,往往簡單的解決方案是最有效和穩定的。

不過ReLU輸出沒有負數的問題確實有一定負作用,這也是其他方法對ReLU的改進空間所在。

(3)ReLU的一大堆變種(LReLU,PReLU,RReLU,ELU,SELU,GELU等等)。

我相信這些變種是有用的,但是我沒怎麼用過。不用因為是首先它們還沒有表現出一定比ReLU強,在如今有BN等技術以及好的初始化方法後,ReLU的缺點沒有那麼明顯了。另一方面是,沒時間去一個一個試,解決問題的過程中還有很多其他因素更加需要去探索。不過,還是建議大家去仔細了解一下的,用不用的著再說。

正因如此,在對ReLU改進的差不多之後,激活函數的人工設計就沒有這麼多熱情了。

04 自動搜索

不過坑還沒有填完,還是有人沒有忘記這個問題的,比如谷歌。谷歌開了許多深度學習領域的自動化的工作,比如自動設計網絡NASNet,自動數據增強AutoAugment等工作,也做了自動搜索最優的激活函數的工作。

文[1]就在一系列一元函數和二元函數組成的搜索空間中,進行了比較細緻的組合搜索實驗。

結論是好用的激活函數都比較簡單,不會超過兩個基本函數的乘的組合。搜到了一些比Relu表現更好的函數,最好的是一個這樣的函數:x · σ(βx),被稱為Swish,它在某個特定的參數下也和ReLU及其變種類似,看看圖就知道了。

順便說一下該方法做實驗時的一元函數和二元函數的搜索空間:

已經覆蓋我們能想到的一些簡單的函數了。

類似地也有其他的研究人員通過遺傳算法學習到一些新的激活函數,包括EliSH,HardEliSH[2],感興趣的可以去看論文。

這個坑就挖給你了,還可以填。

[1] Ramachandran P, Zoph B, Le Q V. Searching for activation functions[J]. arXiv preprint arXiv:1710.05941, 2017.

[2] Basirat M , Roth P M . The Quest for the Golden Activation Function[J]. 2018.

[3] Nwankpa C , Ijomah W , Gachagan A , et al. Activation Functions: Comparison of trends in Practice and Research for Deep Learning[J]. 2018.


作者:吳洋
https://www.zhihu.com/question/67366051/answer/262201973

首先,從網絡的表示能力來看,沒有激活函數會使網絡只能表示線性模型,能力有限,所以要使網絡具有較強的表示能力需要激活函數為非線性。

其次,對於前向計算來說,我們需要計算激活函數的值,還有一些函數求導後也是關於本身函數值的函數,所以計算簡單也很重要。

再者,反向傳播過程中,前面的參數更新的梯度一般是導數的乘積,其中也包含著激活函數的導數,如果是thanh或sigmod等導數值與函數值相關的函數,導數乘積中還會有激活函數值,所以我們對激活函數的值域與激活函數的導數的值域也希望滿足一定要求,如不能過大,會導致梯度爆炸。不能過小,會導致梯度彌散。均值為一方差為零,基於這一點。

最後,我看有的文章提到激活函數的部分激活性,如relu,負值輸入不激活,會讓網絡學習到稀疏的特徵,從而具有更好的魯棒性,對於這一點我不是很了解,懂得朋友可以在評論區指教。


作者:「已註銷」
https://www.zhihu.com/question/67366051/answer/252200770

確實是為了非線性。我們或許不能說任何非線性函數都能用來做激活函數,但是可以用來做激活函數的函數的確不止現在常用的這麼幾個,也就是relu及其變種,tanh,sigmoid...。

引述Ian Goodfellow在Deep Learning一書中的說法,deep learning 6.3.3節的第一段。很多沒有被發表的激活函數的性能也十分不錯,比如用cos做激活函數也能在minist數據集上跑出低於1%的錯誤率。因為這樣的函數很多,所以一個個介紹實在沒什麼意思,因此學術界一般只關注那些性能有明顯突破的函數,很多函數是可用的,但是由於性能沒有突破,因此就泯然眾人矣了。

至於什麼是好的函數。。。私以為能做出好結果的就是好函數呀。




推薦閱讀:

【重磅推薦】百度資深AI工程師帶你深度學習彎道超車!

從Word2Vec到Bert,聊聊詞向量的前世今生(一)

清華姚班出身,95後博士生陳立傑獲理論計算機頂會最佳學生論文

相關焦點

  • 乾貨|通過函數圖像,理解26種神經網絡激活函數
    作者對包括 Relu、Sigmoid 在內的 26 種激活函數做了可視化,並附上了神經網絡的相關屬性,為大家了解激活函數提供了很好的資源。在神經網絡中,激活函數決定來自給定輸入集的節點的輸出,其中非線性激活函數允許網絡複製複雜的非線性行為。正如絕大多數神經網絡藉助某種形式的梯度下降進行優化,激活函數需要是可微分(或者至少是幾乎完全可微分的)。此外,複雜的激活函數也許產生一些梯度消失或爆炸的問題。因此,神經網絡傾向於部署若干個特定的激活函數(identity、sigmoid、ReLU 及其變體)。
  • 神經網絡為何非激活函數不可?
    激活函數是神經網絡中一個至關重要的概念,決定了某個神經元是否被激活,判斷該神經元獲得的信息是否有用,並決定該保留還是該去掉此神經元。本文作者 Vandit Jain 對激活函數的相關知識進行了一個較為全面的總結,重點聚焦於以下幾個方面:一、激活函數是什麼?簡單地說,激活函數就是加入到人工神經網絡中的一個函數,目的在於幫助神經網絡從數據中學習複雜模式。
  • 通過函數圖像,了解26種神經網絡激活函數都長啥樣.
    重磅乾貨,第一時間送達在本文中,作者對包括 Relu、Sigmoid 在內的 26 種激活函數做了可視化,並附上了神經網絡的相關屬性
  • 神經網絡中的激活函數
    什麼是神經網絡激活函數?激活函數有助於決定我們是否需要激活神經元。如果我們需要發射一個神經元那麼信號的強度是多少。激活函數是神經元通過神經網絡處理和傳遞信息的機制為什麼在神經網絡中需要一個激活函數?在神經網絡中,z是輸入節點與節點權值加上偏差的乘積。
  • 資源 | 從ReLU到Sinc,26種神經網絡激活函數可視化
    在本文中,作者對包括 Relu、Sigmoid 在內的 26 種激活函數做了可視化,並附上了神經網絡的相關屬性,為大家了解激活函數提供了很好的資源
  • 機器學習中的激活函數綜合指南
    自2012年以來,神經網絡研究的進展主導了大多數人工智慧(AI)文獻。激活函數對神經網絡的效率和穩定性起著至關重要的作用。在這篇文章中,將儘可能簡要地概述激活函數的最新發展,並關注為什麼需要它們以及何時應用它們。為什麼需要激活函數?
  • ReLU到Sinc的26種神經網絡激活函數可視化大盤點
    在神經網絡中,激活函數決定來自給定輸入集的節點的輸出,其中非線性激活函數允許網絡複製複雜的非線性行為。正如絕大多數神經網絡藉助某種形式的梯度下降進行優化,激活函數需要是可微分(或者至少是幾乎完全可微分的)。此外,複雜的激活函數也許產生一些梯度消失或爆炸的問題。
  • 一文看盡26種神經網絡激活函數(從ReLU到Sinc)
    作者對包括 Relu、Sigmoid 在內的 26 種激活函數做了可視化,並附上了神經網絡的相關屬性,為大家了解激活函數提供了很好的資源。在神經網絡中,激活函數決定來自給定輸入集的節點的輸出,其中非線性激活函數允許網絡複製複雜的非線性行為。正如絕大多數神經網絡藉助某種形式的梯度下降進行優化,激活函數需要是可微分(或者至少是幾乎完全可微分的)。此外,複雜的激活函數也許產生一些梯度消失或爆炸的問題。因此,神經網絡傾向於部署若干個特定的激活函數(identity、sigmoid、ReLU 及其變體)。
  • 如何選擇神經網絡激活函數:有效的改善模型學習模式的能力
    激活函數是神經網絡中用於計算輸入和偏差的加權和的函數,用於確定神經元是否可以釋放。 它通常通過梯度下降法的某種梯度處理來操縱數據,然後產生神經網絡的輸出,該輸出包含數據中的參數。 有時這些激活函數通常稱為傳遞函數。激活函數具有改善數據學習模式的能力,從而實現了特徵檢測過程的自動化,並證明它們在神經網絡的隱藏層中的使用合理性,並且對於跨領域進行分類很有用。
  • 學界|神經網絡中激活函數的作用
    選自kdnuggets作者:&nbsp;Sebastian Raschka機器之心編譯參與:Chen Xiaoqing、 Genping Zhao神經網絡中的激活函數的真正功能是什麼?(常規的最小二乘法)線性回歸的目的是找到最優權重——與輸入線性組合——可得出一個能夠最小化目標與解釋變量之間垂直偏移的模型,但是在此我們並不會討論模型擬合,因為這是另一個話題。因此,在線性回歸中,我們會計算權重與輸入的線性組合(讓我們把這個函數稱為「淨輸入函數(net input function)」)。
  • 激活函數是個啥?
    1、基本知識點        首先,從機器學習的角度來看,神經網絡可以看作是一個非線性模型,其基本組成單元就是具有非線性激活函數的神經元,通過大量神經元間的連接使得神經網絡成為了一種高度非線性的模型。神經網絡的訓練和學習過程,其實就是學習連接各個神經元間的連接權重(參數)。那麼不禁會產生幾個疑問:什麼是非線性?什麼是神經元?什麼是激活函數?
  • 人工神經網絡的驅動者:激活函數是什麼?
    圖源:unsplash激活函數是人工神經網絡的驅動因素,其位於神經元之上,並管理著神經元行為,比如是否需要處理某個輸入數據,若需要,又以何種程度處理等等。從技術上來講,某個節點的激活函數將其在神經網絡中前一個節點的數據輸入,並輸出一個確定值,這個值繼而指導後續節點如何發動來響應特定輸入信號。本文剖析由激活函數組成的神經網絡,以及神經網絡的生物類似物,並簡要介紹幾種常用的激活函數。神經網絡的結構作為一名數據科學愛好者,你一定見過上面的這張圖片或者與之相似的圖片。這張圖片是對雙層神經網絡工作流程的經典描述。
  • 深度學習基礎篇:如何選擇正確的激活函數?
    激活函數可以幫助神經網絡做這種隔離。它激活有用的信息,並抑制無關的數據點。激活函數如此重要,那麼都有哪些比較熱門呢?它們是如何工作的?又適合解決什麼問題?本文將為你一一解答。以下是本文目錄。1.簡單介紹神經網絡2.什麼是激活函數?3.可以不用激活函數嗎?
  • 神經網絡的「非直觀屬性」匯總
    神經網絡對解決很多問題都十分有效,包括語言識別、語音識別和圖像識別等。然而要理解神經網絡是如何解決這些問題卻有一定的難度。本文將對神經網絡的特殊和「非直觀屬性」進行總結整理。神經網絡是強大的學習模型,特別是用於解決視覺識別和語音識別問題的深度學習網絡。之所以這麼說,是因為它們具有表達任意計算的能力。
  • Pytorch_第九篇_神經網絡中常用的激活函數
    神經網絡中常用的激活函數Introduce理論上神經網絡能夠擬合任意線性函數,其中主要的一個因素是使用了非線性激活函數(因為如果每一層都是線性變換,那有啥用啊,始終能夠擬合的都是線性函數啊)。本文主要介紹神經網絡中各種常用的激活函數。以下均為個人學習筆記,若有錯誤望指出。
  • 21種NLP任務激活函數大比拼:你一定猜不到誰贏了
    摘要:激活函數在神經網絡中發揮著重要的作用,它們的非線性為深度學習的成功做出了重要的貢獻。 1 引言 激活函數是神經網絡的一大關鍵組件,因為它們可將原本線性的分類器轉換成非線性的。神經網絡近些年在眾多任務上表現優異這一事實已經證明這種轉換至關重要。
  • 神經網絡中的激活函數解析:Sigmoid, tanh, Softmax, ReLU, Leaky ReLU
    就是在神經網絡的輸出後面加的一個東西(節點)。也就是轉換函數,也可以加在兩層神經網絡之間。我們為什麼要在神經網絡中使用激活函數?用來決定神經網絡的輸出,就像是和否一樣,將結果映射到0到1或者-1到1之間(根據不同的函數)。
  • 常用激活函數(激勵函數)理解與總結
    那麼我們就來詳細了解下激活函數方方面面的知識。1. 什麼是激活函數?2. 激活函數的用途(為什麼需要激活函數)?3. 有哪些激活函數,都有什麼性質和特點?4. 應用中如何選擇合適的激活函數?如果你對以上幾個問題不是很清楚,下面的內容對你是有價值的。
  • AI瘋狂進階——激活函數篇
    神經網絡激活函數的作用是什麼? 2. 如何評價激活函數的好壞? 3. ReLU存在哪些問題? 4. 存在替換萬年ReLU的激活函數嗎? 1. 激活函數的作用是什麼?
  • 從ReLU到GELU,一文概覽神經網絡的激活函數
    根據每一層前面的激活、權重和偏置,我們要為下一層的每個激活計算一個值。但在將該值發送給下一層之前,我們要使用一個激活函數對這個輸出進行縮放。本文將介紹不同的激活函數。在閱讀本文之前,你可以閱讀我前一篇介紹神經網絡中前向傳播和反向傳播的文章,其中已經簡單地提及過激活函數,但還未介紹其實際所做的事情。