摘要:為什么呢本文將對這一問題進行解疑并介紹多種多種激活函數(shù)。激活函數(shù)就是用來引入這個非線性因素的,下面介紹幾種常見的激活函數(shù)及其優(yōu)缺點正負號表示。如果想了解更多可上網(wǎng)搜激活函數(shù)選擇在同一個模型中,激活函數(shù)不會混搭使用,選定一個就用一個。
【DL-CV】反向傳播,(隨機)梯度下降<前篇---后篇>【DL-CV】神經(jīng)網(wǎng)絡的補充
在介紹線性分類器的時候,提到了激活函數(shù),還提到線性分類器的輸出要經(jīng)過激活函數(shù)才能作為下一層網(wǎng)絡的輸入。為什么呢?本文將對這一問題進行解疑并介紹多種多種激活函數(shù)。
引入激活函數(shù)假如神經(jīng)網(wǎng)絡只由多個線性分類組器合而成,那無論怎樣組合,他們對數(shù)據(jù)的操作永遠都是線性變換而已,復雜度有限,只能實現(xiàn)線性分類而不能實現(xiàn)非線性分類,但現(xiàn)實中的數(shù)據(jù)往往不是線性可分的。為了解決這個問題,就要給神經(jīng)網(wǎng)絡引入非線性因素,提高神經(jīng)網(wǎng)絡模型的表達能力(學習更復雜的映射)。激活函數(shù)就是用來引入這個非線性因素的,下面介紹幾種常見的激活函數(shù)及其優(yōu)缺點(正負號表示)。
Sigmoid其數(shù)學公式及其圖像如下
它把輸入壓縮到(0,1)區(qū)間內(nèi),有兩端飽和的特性,對于很大的正數(shù)它輸出趨近與1,對于絕對值很小的負數(shù)它輸出趨近于0。
這個函數(shù)曾經(jīng)非常流行,但是由于其缺點(主要是兩邊飽和)飽受詬病,現(xiàn)在沒什么人用了
(-)梯度消失:當輸入過大或過小時,由圖可知局部梯度幾乎為0,經(jīng)過鏈式法則后梯度也幾乎為0,你會失去梯度流的反饋,使權重幾乎不更新
(-)非零中心:sigmoid的輸出均大于零(不是零均值),即給下一層神經(jīng)元的x都大于零,$sigma(W*x+b)$,假如這里的x全是正數(shù),那么經(jīng)過反向傳播${?Lover ?W}會全正或全負$,于是所有權重值都會往一個方向更新,這樣訓練效率非常低。
tanh其數(shù)學公式及其圖像如下(雙曲正切)
形狀和sigmoid很像,也是兩端飽和,不同的是它把輸入壓縮到(-1,1)區(qū)間內(nèi)。
(+)以零為中心
(-)梯度消失
比sigmoid好了一點,沒有非零中心的問題
ReLU其數(shù)學公式及其圖像如下
就是個取最大值得函數(shù),當輸入為負數(shù),輸出為0;當輸入為正數(shù),輸出還是這個數(shù)
(+)在正區(qū)間不會飽和(一個優(yōu)勢):在正區(qū)間梯度可傳遞
(+)計算成本低
(+)使用ReLU之后,權重收斂速度比sigmoid/tanh快(約6倍)
(-)非零中心
(-)在負區(qū)間梯度消失:某些權重永遠不會更新,我們稱這種情況叫“dead ReLU”。導致這種情況頻發(fā)的原因主要有權重初始化不好或學習率太高
雖然有“dead ReLU”的情況發(fā)生,但這并不阻礙它成為優(yōu)秀的激活函數(shù),實際應用中其表現(xiàn)不錯,是非常常用的激活函數(shù)
Leaky ReLU(LReLU)其數(shù)學公式及其圖像如下
ReLU的變種,負區(qū)間不再是0,而是給它一個很小的斜率(上圖是0.01,也可以是其他常數(shù))
(+)ReLU的優(yōu)點
(+)不會出現(xiàn)梯度消失的情況
關于其效果沒有清晰的定論,有的實驗表現(xiàn)好,有些則不好
其實還可以把那個斜率當作可以反向傳播和學習的參數(shù)α,然后就變成了Parametric ReLU(PReLU)激活函數(shù)
$$f(x)=max(alpha x,x)$$
其數(shù)學公式及其圖像如下
全名指數(shù)線性單元Exponential Linear Units,α是一個可調整的參數(shù),它控制著ELU負值部分在何時飽和
(+)ReLU的優(yōu)點
(+)輸出均值接近零
(+)負飽和機制,使模型對噪音有更強的魯棒性
關于其詳細介紹可看此論文,或者看看論文導讀
Maxout這個函數(shù)有點奇,我覺得它直接改變了原有MLP網(wǎng)絡的結構,以至于形成了maxout網(wǎng)絡,其本身就集成了激活函數(shù)的功能。
$$f(x)=max_{jin [1,k]}z_{j}$$
k是需人為設定的參數(shù),k=1,網(wǎng)絡就類相當于普通的MLP網(wǎng)絡;k>1,就變身成maxout網(wǎng)絡了。這個函數(shù)的原理如下圖,筆者文字表達欠佳,需作圖才能展示出來。如果想了解更多可上網(wǎng)搜“maxout激活函數(shù)”
在同一個模型中,激活函數(shù)不會混搭使用,選定一個就用一個。一般最好的經(jīng)驗法則是使用ReLU函數(shù),但是要謹慎的調節(jié)學習率。像LReLU,PReLU,ELU,Maxout這些函數(shù)則實驗性強一點(實用性弱一點),但也可以試下。tanh和sigmoid就em....,算了吧。
除了這里介紹的6個外,還有一些其他的激活函數(shù)(如有著喪心病狂證明的SeLU),感興趣的可以去查一下
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://m.hztianpu.com/yun/42235.html
摘要:為什么呢本文將對這一問題進行解疑并介紹多種多種激活函數(shù)。激活函數(shù)就是用來引入這個非線性因素的,下面介紹幾種常見的激活函數(shù)及其優(yōu)缺點正負號表示。如果想了解更多可上網(wǎng)搜激活函數(shù)選擇在同一個模型中,激活函數(shù)不會混搭使用,選定一個就用一個。 【DL-CV】反向傳播,(隨機)梯度下降【DL-CV】神經(jīng)網(wǎng)絡的補充 在介紹線性分類器的時候,提到了激活函數(shù),還提到線性分類器的輸出要經(jīng)過激活函數(shù)才能作為...
摘要:但是由于神經(jīng)網(wǎng)絡的許多細節(jié)并未過分深入比如層數(shù)和每層神經(jīng)元數(shù)的設定,過擬合等,初建的網(wǎng)絡實際上和真實的網(wǎng)絡還是有一定差距的。和神經(jīng)網(wǎng)絡中其他層不同,輸出層的神經(jīng)元一般不會有激活函數(shù),最后的輸出層大多用于表示分類評分值。 【DL-CV】激活函數(shù)及其選擇【DL-CV】卷積神經(jīng)網(wǎng)絡 在介紹了線性分類器,激活函數(shù),損失函數(shù),反向傳播這些基礎的原理后,已經(jīng)可以嘗試自行搭建像樣的神經(jīng)網(wǎng)絡了。但是由...
閱讀 1894·2019-08-30 15:55
閱讀 1082·2019-08-26 11:57
閱讀 600·2019-08-26 11:29
閱讀 3426·2019-08-26 10:49
閱讀 2005·2019-08-23 18:40
閱讀 1885·2019-08-23 16:04
閱讀 3174·2019-08-23 11:01
閱讀 2356·2019-08-23 10:56