深度學(xué)習(xí)中的激活函數(shù)

激活函數(shù)的作用


摘自:https://www.zhihu.com/question/22334626

激活函數(shù)(Activation Function)是用來(lái)加入非線性因素的畏浆,因?yàn)榫€性模型的表達(dá)能力不夠。

以下,同種顏色為同類數(shù)據(jù)。
某些數(shù)據(jù)是線性可分的叠萍,意思是,可以用一條直線將數(shù)據(jù)分開(kāi)弃理。比如下圖:

image.png

這時(shí)候你需要通過(guò)一定的機(jī)器學(xué)習(xí)的方法屿良,比如感知機(jī)算法(perceptron learning algorithm) 找到一個(gè)合適的線性方程。
但是有些數(shù)據(jù)不是線性可分的霉涨。比如如下數(shù)據(jù):

image.png

第二組數(shù)據(jù)你就沒(méi)有辦法畫出一條直線來(lái)將數(shù)據(jù)區(qū)分開(kāi)按价。
這時(shí)候有兩個(gè)辦法,第一個(gè)辦法笙瑟,是做線性變換(linear transformation)楼镐,比如講x,y變成x2,y2,這樣可以畫出圓形往枷。如圖所示:

image.png

如果將坐標(biāo)軸從x,y變?yōu)橐詘2,y2為標(biāo)準(zhǔn)框产,你會(huì)發(fā)現(xiàn)數(shù)據(jù)經(jīng)過(guò)變換后是線性可分的了。大致示意圖如下:

image.png

另外一種方法是引入非線性函數(shù)错洁。
我們來(lái)看異或問(wèn)題(xor problem)秉宿。以下是xor真值表:

image.png

個(gè)真值表不是線性可分的,所以不能使用線性模型屯碴,如圖所示:

image.png

我們可以設(shè)計(jì)一種神經(jīng)網(wǎng)絡(luò)描睦,通過(guò)激活函數(shù)來(lái)使得這組數(shù)據(jù)線性可分。
激活函數(shù)我們選擇閥值函數(shù)(threshold function)导而,也就是大于某個(gè)值輸出1(被激活了)忱叭,小于等于則輸出0(沒(méi)有激活)。這個(gè)函數(shù)是非線性函數(shù)今艺。
神經(jīng)網(wǎng)絡(luò)示意圖如下:

image.png

其中直線上的數(shù)字為權(quán)重窑多。圓圈中的數(shù)字為閥值。第二層洼滚,如果輸入大于1.5則輸出1,否則0技潘;第三層遥巴,如果輸入大于0.5千康,則輸出1,否則0铲掐。

我們來(lái)一步步算拾弃。第一層到第二層(閥值1.5):

image.png

第二層到第三層(閥值0.5):

image.png

可以看到第三層輸出就是我們所要的xor的答案。
經(jīng)過(guò)變換后的數(shù)據(jù)是線性可分的(n維摆霉,比如本例中可以用平面)豪椿,如圖所示:

image.png


這是一個(gè)單層的感知機(jī), 也是我們最常用的神經(jīng)網(wǎng)絡(luò)組成單元啦. 用它可以劃出一條線, 把平面分割開(kāi):

image.png

那么很容易地我們就會(huì)想用多個(gè)感知機(jī)來(lái)進(jìn)行組合, 獲得更強(qiáng)的分類能力, 這是沒(méi)問(wèn)題的啦~~~~ 如圖所示:

image.png

那么我們動(dòng)筆算一算, 就可以發(fā)現(xiàn), 這樣一個(gè)神經(jīng)網(wǎng)絡(luò)組合起來(lái),輸出的時(shí)候無(wú)論如何都還是一個(gè)線性方程哎~~~~納尼, 說(shuō)好的非線性分類呢?

我們?cè)诿恳粚盈B加完了以后, 加一個(gè)激活函數(shù), 如圖中的
y=\sigma(a)
y=\sigma(a)

.
這樣輸出的就是一個(gè)不折不扣的非線性函數(shù)!

image.png

有了這樣的非線性激活函數(shù)以后, 神經(jīng)網(wǎng)絡(luò)的表達(dá)能力更加強(qiáng)大。

image.png

加上非線性激活函數(shù)之后, 我們就有可能學(xué)習(xí)到這樣的平滑分類平面携栋。

image.png

image.png

所以到這里為止搭盾,我們就解釋了這個(gè)觀點(diǎn),加入激活函數(shù)是用來(lái)加入非線性因素的婉支,解決線性模型所不能解決的問(wèn)題鸯隅。

激活函數(shù)的類型


image.png
  • 紅色:ReLU
  • 藍(lán)色:Tanh
  • 綠色:Sigmoid
  • 紫色:Linear

Sigmoid


Sigmoid 非線性函數(shù)將輸入映射到 (0,1) 之間。它的數(shù)學(xué)公式為

image.png
image.png

歷史上向挖,sigmoid 函數(shù)曾非常常用蝌以,然而現(xiàn)在它已經(jīng)不太受歡迎,實(shí)際很少使用了何之,因?yàn)樗饕袃蓚€(gè)缺點(diǎn):
1. 函數(shù)飽和使梯度消失
sigmoid 神經(jīng)元在值為 0 或 1 的時(shí)候接近飽和跟畅,這些區(qū)域,梯度幾乎為 0溶推。因此在反向傳播時(shí)徊件,這個(gè)局部梯度會(huì)與整個(gè)代價(jià)函數(shù)關(guān)于該單元輸出的梯度相乘,結(jié)果也會(huì)接近為 0 悼潭。
這樣庇忌,幾乎就沒(méi)有信號(hào)通過(guò)神經(jīng)元傳到權(quán)重再到數(shù)據(jù)了,因此這時(shí)梯度就對(duì)模型的更新沒(méi)有任何貢獻(xiàn)舰褪。
除此之外皆疹,為了防止飽和,必須對(duì)于權(quán)重矩陣的初始化特別留意占拍。比如略就,如果初始化權(quán)重過(guò)大,那么大多數(shù)神經(jīng)元將會(huì)飽和晃酒,導(dǎo)致網(wǎng)絡(luò)就幾乎不學(xué)習(xí)表牢。
2. sigmoid 函數(shù)不是關(guān)于原點(diǎn)中心對(duì)稱的
這個(gè)特性會(huì)導(dǎo)致后面網(wǎng)絡(luò)層的輸入也不是零中心的,進(jìn)而影響梯度下降的運(yùn)作贝次。
因?yàn)槿绻斎攵际钦龜?shù)的話(如

image.png
中每個(gè)元素都 x>0 )崔兴,那么關(guān)于 w 的梯度在反向傳播過(guò)程中,要么全是正數(shù),要么全是負(fù)數(shù)(具體依據(jù)整個(gè)表達(dá)式 f而定)敲茄,這將會(huì)導(dǎo)致梯度下降權(quán)重更新時(shí)出現(xiàn) z 字型的下降位谋。
當(dāng)然,如果是按 batch 去訓(xùn)練堰燎,那么每個(gè) batch 可能得到不同的信號(hào)掏父,整個(gè)批量的梯度加起來(lái)后可以緩解這個(gè)問(wèn)題。因此秆剪,該問(wèn)題相對(duì)于上面的神經(jīng)元飽和問(wèn)題來(lái)說(shuō)只是個(gè)小麻煩赊淑,沒(méi)有那么嚴(yán)重。

tanh


image.png

tanh非線性函數(shù)將實(shí)數(shù)值壓縮到[-1,1]之間仅讽。和sigmoid神經(jīng)元一樣陶缺,它也存在飽和問(wèn)題,但是和sigmoid神經(jīng)元不同的是何什,它的輸出是零中心的组哩。因此,在實(shí)際操作中处渣,tanh非線性函數(shù)比sigmoid非線性函數(shù)更受歡迎伶贰。注意tanh神經(jīng)元是一個(gè)簡(jiǎn)單放大的sigmoid神經(jīng)元,具體說(shuō)來(lái)就是:
image.png

注: σ函數(shù)就是sigmoid函數(shù)

ReLU

image.png

近些年ReLU變得非常流行罐栈。它的函數(shù)公式是


image.png

換句話說(shuō)黍衙,這個(gè)激活函數(shù)就是一個(gè)關(guān)于0的閾值。使用ReLU有以下一些優(yōu)缺點(diǎn):

  • 優(yōu)點(diǎn):相較于sigmoid和tanh函數(shù)荠诬,ReLU對(duì)于隨機(jī)梯度下降的收斂有巨大的加速作用( Krizhevsky等的論文指出有6倍之多)琅翻。據(jù)稱這是由它的線性,非飽和的公式導(dǎo)致的柑贞。

    image.png

  • 優(yōu)點(diǎn):sigmoid和tanh神經(jīng)元含有指數(shù)運(yùn)算等耗費(fèi)計(jì)算資源的操作方椎,而ReLU可以簡(jiǎn)單地通過(guò)對(duì)一個(gè)矩陣進(jìn)行閾值計(jì)算得到。

  • 缺點(diǎn):在訓(xùn)練的時(shí)候钧嘶,ReLU單元比較脆弱并且可能“死掉”棠众。舉例來(lái)說(shuō),當(dāng)一個(gè)很大的梯度流過(guò)ReLU的神經(jīng)元的時(shí)候有决,可能會(huì)導(dǎo)致梯度更新到一種特別的狀態(tài)闸拿,在這種狀態(tài)下神經(jīng)元將無(wú)法被其他任何數(shù)據(jù)點(diǎn)再次激活。如果這種情況發(fā)生书幕,那么從此所以流過(guò)這個(gè)神經(jīng)元的梯度將都變成0新荤。也就是說(shuō),這個(gè)ReLU單元在訓(xùn)練中將不可逆轉(zhuǎn)的死亡台汇,因?yàn)檫@導(dǎo)致了數(shù)據(jù)多樣化的丟失苛骨。例如篱瞎,如果學(xué)習(xí)率設(shè)置得太高,可能會(huì)發(fā)現(xiàn)網(wǎng)絡(luò)中40%的神經(jīng)元都會(huì)死掉(在整個(gè)訓(xùn)練集中這些神經(jīng)元都不會(huì)被激活)智袭。通過(guò)合理設(shè)置學(xué)習(xí)率奔缠,這種情況的發(fā)生概率會(huì)降低。

Leaky-ReLU吼野、P-ReLU、R-ReLU

Leaky ReLUs :就是用來(lái)解決這個(gè) “dying ReLU” 的問(wèn)題的两波。與 ReLU 不同的是:

                 f(x)=αx瞳步,(x<0)
                 f(x)=x,(x>=0)

這里的 α 是一個(gè)很小的常數(shù)腰奋。這樣单起,即修正了數(shù)據(jù)分布,又保留了一些負(fù)軸的值劣坊,使得負(fù)軸信息不會(huì)全部丟失嘀倒。

image.png

關(guān)于Leaky ReLU 的效果,眾說(shuō)紛紜局冰,沒(méi)有清晰的定論测蘑。有些人做了實(shí)驗(yàn)發(fā)現(xiàn) Leaky ReLU 表現(xiàn)的很好;有些實(shí)驗(yàn)則證明并不是這樣康二。

Parametric ReLU: 對(duì)于 Leaky ReLU 中的α漠趁,通常都是通過(guò)先驗(yàn)知識(shí)人工賦值的拢操。然而可以觀察到,損失函數(shù)對(duì)α的導(dǎo)數(shù)我們是可以求得的,可不可以將它作為一個(gè)參數(shù)進(jìn)行訓(xùn)練呢洗出?
Kaiming He的論文指出,不僅可以訓(xùn)練者蠕,而且效果更好檩奠。

公式非常簡(jiǎn)單,反向傳播至未激活前的神經(jīng)元的公式就不寫了蔓挖,很容易就能得到夕土。對(duì)α的導(dǎo)數(shù)如下:

image.png

原文說(shuō)使用了Parametric ReLU后,最終效果比不用提高了1.03%时甚。

Randomized ReLU:Randomized Leaky ReLU是 leaky ReLU 的random 版本 (α 是random的)隘弊。它首次試在 kaggle 的NDSB 比賽中被提出的。

核心思想就是荒适,在訓(xùn)練過(guò)程中梨熙,α 是從一個(gè)高斯分布 U(l,u) 中 隨機(jī)出來(lái)的,
然后再測(cè)試過(guò)程中進(jìn)行修正(有點(diǎn)像dropout的用法)刀诬。

數(shù)學(xué)表示如下:

image.png

在測(cè)試階段咽扇,把訓(xùn)練過(guò)程中所有的 αij 取個(gè)平均值邪财。NDSB 冠軍的 α 是從 U(3,8) 中隨機(jī)出來(lái)的。那么质欲,在測(cè)試階段树埠,激活函數(shù)就是就是:

image.png

看看 cifar-100 中的實(shí)驗(yàn)結(jié)果:

image.png

Maxout


一些其他類型的單元被提了出來(lái),它們對(duì)于權(quán)重和數(shù)據(jù)的內(nèi)積結(jié)果不再使用


image.png

函數(shù)形式嘶伟。一個(gè)相關(guān)的流行選擇是Maxout(最近由Goodfellow等發(fā)布)神經(jīng)元怎憋。
Maxout是對(duì)ReLU和leaky ReLU的一般化歸納,它的函數(shù)是:


image.png

ReLU和Leaky ReLU都是這個(gè)公式的特殊情況(比如ReLU就是當(dāng)[w1=0,b1=0]的時(shí)候)九昧。這樣Maxout神經(jīng)元就擁有ReLU單元的所有優(yōu)點(diǎn)(線性操作和不飽和)绊袋,而沒(méi)有它的缺點(diǎn)(死亡的ReLU單元)。然而和ReLU對(duì)比铸鹰,它每個(gè)神經(jīng)元的參數(shù)數(shù)量增加了一倍癌别,這就導(dǎo)致整體參數(shù)的數(shù)量激增。

image.png

Maxout出現(xiàn)在ICML2013上蹋笼,作者Goodfellow將maxout和dropout結(jié)合后展姐,號(hào)稱在MNIST, CIFAR-10, CIFAR-100, SVHN這4個(gè)數(shù)據(jù)上都取得了start-of-art的識(shí)別率。

Maxout的擬合能力是非常強(qiáng)的剖毯,它可以擬合任意的的凸函數(shù)圾笨。作者從數(shù)學(xué)的角度上也證明了這個(gè)結(jié)論,即只需2個(gè)maxout節(jié)點(diǎn)就可以擬合任意的凸函數(shù)了(相減)速兔,前提是”隱隱含層”節(jié)點(diǎn)的個(gè)數(shù)可以任意多.

image.png

softmax


softmax用于多分類過(guò)程中墅拭,它將多個(gè)神經(jīng)元的輸出,映射到(0,1)區(qū)間內(nèi)涣狗,可以看成概率來(lái)理解谍婉,從而來(lái)進(jìn)行多分類!
假設(shè)我們有一個(gè)數(shù)組镀钓,V穗熬,Vi表示V中的第i個(gè)元素,那么這個(gè)元素的softmax值就是 :

image.png

更形象的如下圖表示:

image.png

softmax直白來(lái)說(shuō)就是將原來(lái)輸出是3,1,-3通過(guò)softmax函數(shù)一作用丁溅,就映射成為(0,1)的值唤蔗,而這些值的累和為1(滿足概率的性質(zhì)),那么我們就可以將它理解成概率窟赏,在最后選取輸出結(jié)點(diǎn)的時(shí)候妓柜,我們就可以選取概率最大(也就是值對(duì)應(yīng)最大的)結(jié)點(diǎn),作為我們的預(yù)測(cè)目標(biāo)涯穷!

舉一個(gè)我最近碰到利用softmax的例子:我現(xiàn)在要實(shí)現(xiàn)基于神經(jīng)網(wǎng)絡(luò)的句法分析器棍掐。用到是基于轉(zhuǎn)移系統(tǒng)來(lái)做,那么神經(jīng)網(wǎng)絡(luò)的用途就是幫我預(yù)測(cè)我這一個(gè)狀態(tài)將要進(jìn)行的動(dòng)作是什么拷况?比如有10個(gè)輸出神經(jīng)元作煌,那么就有10個(gè)動(dòng)作掘殴,1動(dòng)作,2動(dòng)作粟誓,3動(dòng)作...一直到10動(dòng)作奏寨。原理圖如下圖所示:

image.png

那么比如在一次的輸出過(guò)程中輸出結(jié)點(diǎn)的值是如下:

[0.2,0.1,0.05,0.1,0.2,0.02,0.08,0.01,0.01,0.23]

那么我們就知道這次我選取的動(dòng)作是動(dòng)作10,因?yàn)?.23是這次概率最大的鹰服,那么怎么理解多分類呢病瞳?如果你想選取倆個(gè)動(dòng)作,那么就找概率最大的倆個(gè)值即可获诈。

其他的一些激活函數(shù)


image.png

image.png

如何選擇激活函數(shù)仍源?


一句話:“那么該用那種呢?”用ReLU非線性函數(shù)舔涎。注意設(shè)置好學(xué)習(xí)率,或許可以監(jiān)控你的網(wǎng)絡(luò)中死亡的神經(jīng)元占的比例逗爹。如果單元死亡問(wèn)題困擾你亡嫌,就試試Leaky ReLU或者M(jìn)axout,不要再用sigmoid了掘而。也可以試試tanh挟冠,但是其效果應(yīng)該不如ReLU或者M(jìn)axout。

最后需要注意一點(diǎn):在同一個(gè)網(wǎng)絡(luò)中混合使用不同類型的神經(jīng)元是非常少見(jiàn)的袍睡,雖然沒(méi)有什么根本性問(wèn)題來(lái)禁止這樣做知染。

------參考:https://zhuanlan.zhihu.com/p/21462488
------參考:https://zhuanlan.zhihu.com/p/25723112
------參考:http://blog.csdn.net/cyh_24/article/details/50593400
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市斑胜,隨后出現(xiàn)的幾起案子控淡,更是在濱河造成了極大的恐慌,老刑警劉巖止潘,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件掺炭,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡凭戴,警方通過(guò)查閱死者的電腦和手機(jī)涧狮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)么夫,“玉大人者冤,你說(shuō)我怎么就攤上這事〉祷荆” “怎么了涉枫?”我有些...
    開(kāi)封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)钞它。 經(jīng)常有香客問(wèn)我拜银,道長(zhǎng)殊鞭,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任尼桶,我火速辦了婚禮操灿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘泵督。我一直安慰自己趾盐,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布小腊。 她就那樣靜靜地躺著救鲤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪秩冈。 梳的紋絲不亂的頭發(fā)上本缠,一...
    開(kāi)封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音入问,去河邊找鬼丹锹。 笑死,一個(gè)胖子當(dāng)著我的面吹牛芬失,可吹牛的內(nèi)容都是我干的楣黍。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼棱烂,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼租漂!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起颊糜,我...
    開(kāi)封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤哩治,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后芭析,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體锚扎,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年馁启,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了驾孔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡惯疙,死狀恐怖翠勉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情霉颠,我是刑警寧澤对碌,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站蒿偎,受9級(jí)特大地震影響朽们,放射性物質(zhì)發(fā)生泄漏怀读。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一骑脱、第九天 我趴在偏房一處隱蔽的房頂上張望菜枷。 院中可真熱鬧,春花似錦叁丧、人聲如沸啤誊。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蚊锹。三九已至,卻和暖如春稚瘾,著一層夾襖步出監(jiān)牢的瞬間牡昆,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工摊欠, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留迁杨,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓凄硼,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親捷沸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子摊沉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容