梯度消失問題與如何選擇激活函數(shù)

本文結(jié)構(gòu):

  • 什么是梯度消失?
  • 梯度消失有什么影響邪媳?
  • 是什么原因?
  • 解決方案有哪些荡陷?
  • 如何選擇激活函數(shù)雨效?

1. 什么是梯度消失?

梯度消失废赞,常常發(fā)生在用基于梯度的方法訓(xùn)練神經(jīng)網(wǎng)絡(luò)的過程中徽龟。

當(dāng)我們在做反向傳播,計(jì)算損失函數(shù)對權(quán)重的梯度時(shí)唉地,隨著越向后傳播据悔,梯度變得越來越小传透,這就意味著在網(wǎng)絡(luò)的前面一些層的神經(jīng)元,會(huì)比后面的訓(xùn)練的要慢很多极颓,甚至不會(huì)變化朱盐。


2. 有什么影響?

網(wǎng)絡(luò)的前面的一些層是很重要的菠隆,它們負(fù)責(zé)學(xué)習(xí)和識(shí)別簡單的模式兵琳,也是整個(gè)網(wǎng)絡(luò)的基礎(chǔ),如果他們的結(jié)果不準(zhǔn)確的話骇径,那么后面層結(jié)果也會(huì)不準(zhǔn)確躯肌。

而且用基于梯度的方法訓(xùn)練出參數(shù),主要是通過學(xué)習(xí)參數(shù)的很小的變化對網(wǎng)絡(luò)的輸出值的影響有多大破衔。如果參數(shù)的改變羡榴,網(wǎng)絡(luò)的輸出值貢獻(xiàn)很小,那么就會(huì)很難學(xué)習(xí)參數(shù)运敢,花費(fèi)時(shí)間會(huì)非常長校仑。


3. 梯度消失的原因?

在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí)传惠,為了讓損失函數(shù)越來越小迄沫,其中一種優(yōu)化的方法是梯度下降。梯度下降法簡單的來說就是在權(quán)重的負(fù)梯度方向更新權(quán)重卦方,如下面這個(gè)公式所示羊瘩,一直到梯度收斂為零。(當(dāng)然在實(shí)際過程中盼砍,會(huì)通過設(shè)定一個(gè)超參數(shù)叫做最大跌代數(shù)來控制尘吗,如果迭代次數(shù)太小,結(jié)果就會(huì)不準(zhǔn)確浇坐,如果迭代次數(shù)太大睬捶,那么訓(xùn)練過程會(huì)非常長。)

這里就需要計(jì)算參數(shù)的梯度近刘,方法是用反向傳播擒贸。

為了推導(dǎo)一下梯度消失的原因,我們來看一個(gè)最簡單的神經(jīng)網(wǎng)絡(luò)的反向傳播過程觉渴。

每個(gè)神經(jīng)元有兩個(gè)過程介劫,一個(gè)是權(quán)重與上一層輸出的線性組合,一個(gè)是作用激活函數(shù)案淋。

來看一下最后的損失對第一層權(quán)重的梯度是怎樣的:

其中各部分推導(dǎo):

上面用到的激活函數(shù)為 sigmoid 函數(shù)座韵,黃色曲線為 Sigmoid 的導(dǎo)數(shù),它的值域在 0 到 1/4 之間:

sigmoid

同時(shí)一般情況下神經(jīng)網(wǎng)絡(luò)在權(quán)重初始化時(shí)踢京,會(huì)按照高斯分布誉碴,平均值為0標(biāo)準(zhǔn)差為1這樣進(jìn)行初始化宦棺,所以權(quán)重矩陣也是小于1的。

于是可以知道:

由上面的例子可以看出翔烁,對第一層的權(quán)重求的偏導(dǎo),就有五個(gè)小于1的數(shù)相乘旨涝,那么當(dāng)層數(shù)越多蹬屹,這就會(huì)以指數(shù)級(jí)迅速減小。

越靠前的層數(shù)白华,由于離損失越遠(yuǎn)慨默,梯度計(jì)算式中包含的激活函數(shù)的導(dǎo)數(shù)就越多,那么訓(xùn)練也就越慢弧腥。

(那么梯度爆炸厦取,也就是同樣的道理,當(dāng)激活函數(shù)的導(dǎo)數(shù)大于1的時(shí)候管搪,它會(huì)呈指數(shù)級(jí)的增長虾攻。)


4. 解決方案有哪些?

由上面的推導(dǎo)我們可以知道更鲁,梯度消失的主要原因霎箍,主要是和激活函數(shù)的導(dǎo)數(shù)有關(guān)。
所以如果激活函數(shù)選擇的不合適澡为,就會(huì)出現(xiàn)梯度消失問題

當(dāng)然漂坏,除了激活函數(shù),還有其他幾種方法:

梯度消失:

  • 逐層“預(yù)訓(xùn)練”(pre-training)+對整個(gè)網(wǎng)絡(luò)進(jìn)行“微調(diào)”(fine-tunning)
  • 選擇合適的激活函數(shù)
  • batch normalization 批規(guī)范化:通過對每一層的輸出規(guī)范為均值和方差一致的方法媒至,消除了 w 帶來的放大縮小的影響
  • 殘差結(jié)構(gòu)
  • LSTM

梯度爆炸:

  • 梯度剪切( Gradient Clipping)
  • 權(quán)重正則化
  • 選擇合適的激活函數(shù)
  • batch normalization 批規(guī)范化顶别,
  • RNN 的 truncated Backpropagation through time ,LSTM

今天先來重點(diǎn)看一下激活函數(shù)的選擇


5. 那么如何選擇激活函數(shù)呢拒啰?通常都有哪些激活函數(shù), 它們的導(dǎo)數(shù)長什么樣子呢驯绎?

由前面的推導(dǎo)可以知道梯度消失的主要原因,是激活函數(shù)的導(dǎo)數(shù)小于 1谋旦,那么在選擇激活函數(shù)時(shí)条篷,就考慮這一點(diǎn)。

有哪些激活函數(shù)可以選擇呢蛤织?

Relu赴叹,

relu

Rectified linear unit,x 大于 0 時(shí)指蚜,函數(shù)值為 x乞巧,導(dǎo)數(shù)恒為 1,這樣在深層網(wǎng)絡(luò)中使用 relu 激活函數(shù)就不會(huì)導(dǎo)致梯度消失和爆炸的問題摊鸡,并且計(jì)算速度快绽媒。

但是因?yàn)?x 小于 0 時(shí)函數(shù)值恒為0蚕冬,會(huì)導(dǎo)致一些神經(jīng)元無法激活。

Leaky Relu是辕,

leaky relu

是 ReLU 激活函數(shù)的變體囤热,為了解決 Relu 函數(shù)為 0 部分的問題,當(dāng) x 小于 0 時(shí)获三,函數(shù)值為 kx旁蔼,有很小的坡度 k,一般為 0.01疙教,0.02棺聊,或者可以作為參數(shù)學(xué)習(xí)而得。

優(yōu)點(diǎn)
Leaky ReLU有ReLU的所有優(yōu)點(diǎn):計(jì)算高效贞谓、快速收斂限佩、在正區(qū)域內(nèi)不會(huì)飽和
導(dǎo)數(shù)總是不為零,這能減少靜默神經(jīng)元的出現(xiàn)裸弦,允許基于梯度的學(xué)習(xí)
一定程度上緩解了 dead ReLU 問題

ELU:

elu

指數(shù)線性單元(Exponential Linear Unit祟同,ELU)也屬于 ReLU 的變體。x 小于 0 時(shí)為 alpha*(e^x -1)和其它修正類激活函數(shù)不同的是理疙,它包括一個(gè)負(fù)指數(shù)項(xiàng)耐亏,從而防止靜默神經(jīng)元出現(xiàn),導(dǎo)數(shù)收斂為零沪斟,從而提高學(xué)習(xí)效率广辰。

優(yōu)點(diǎn)
不會(huì)有Dead ReLU問題
輸出的均值接近0,zero-centered
缺點(diǎn)
計(jì)算量稍大

現(xiàn)在最常用的是 Relu主之,已經(jīng)成了默認(rèn)選擇择吊,
sigmoid 不要在隱藏層使用了,如果是二分類問題槽奕,可以在最后的輸出層使用一下几睛,
隱藏層也可以用 tanh,會(huì)比 sigmoid 表現(xiàn)好很多粤攒。

此外所森,下面思維導(dǎo)圖總結(jié)了其他幾種 relu,sigmoid, Tanh 的變體函數(shù)夯接,它們的導(dǎo)數(shù)焕济,以及優(yōu)缺點(diǎn):

relu 及其變體.jpg
tanh 及其變體.jpg
sigmoid 及其變體.jpg

學(xué)習(xí)資料:
http://neuralnetworksanddeeplearning.com/chap5.html
https://dashee87.github.io/data%20science/deep%20learning/visualising-activation-functions-in-neural-networks/
https://blog.csdn.net/qq_25737169/article/details/78847691
https://www.cnblogs.com/willnote/p/6912798.html
https://www.quora.com/What-is-the-vanishing-gradient-problem
https://ayearofai.com/rohan-4-the-vanishing-gradient-problem-ec68f76ffb9b
https://www.learnopencv.com/understanding-activation-functions-in-deep-learning/


推薦閱讀 歷史技術(shù)博文鏈接匯總
http://www.reibang.com/p/28f02bb59fe5
也許可以找到你想要的:
[入門問題][TensorFlow][深度學(xué)習(xí)][強(qiáng)化學(xué)習(xí)][神經(jīng)網(wǎng)絡(luò)][機(jī)器學(xué)習(xí)][自然語言處理][聊天機(jī)器人]

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市盔几,隨后出現(xiàn)的幾起案子晴弃,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件上鞠,死亡現(xiàn)場離奇詭異际邻,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)芍阎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門世曾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人谴咸,你說我怎么就攤上這事轮听。” “怎么了寿冕?”我有些...
    開封第一講書人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵蕊程,是天一觀的道長椒袍。 經(jīng)常有香客問我驼唱,道長,這世上最難降的妖魔是什么驹暑? 我笑而不...
    開封第一講書人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任玫恳,我火速辦了婚禮,結(jié)果婚禮上优俘,老公的妹妹穿的比我還像新娘京办。我一直安慰自己,他們只是感情好帆焕,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開白布惭婿。 她就那樣靜靜地躺著,像睡著了一般叶雹。 火紅的嫁衣襯著肌膚如雪财饥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,749評(píng)論 1 289
  • 那天折晦,我揣著相機(jī)與錄音钥星,去河邊找鬼。 笑死满着,一個(gè)胖子當(dāng)著我的面吹牛谦炒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播风喇,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼宁改,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了魂莫?” 一聲冷哼從身側(cè)響起透且,我...
    開封第一講書人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后秽誊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鲸沮,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年锅论,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了讼溺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡最易,死狀恐怖怒坯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情藻懒,我是刑警寧澤剔猿,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站嬉荆,受9級(jí)特大地震影響归敬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鄙早,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一汪茧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧限番,春花似錦舱污、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至霜瘪,卻和暖如春珠插,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背粥庄。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來泰國打工丧失, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人惜互。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓布讹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親训堆。 傳聞我的和親對象是個(gè)殘疾皇子描验,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

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