0
本文作者: AI研習(xí)社-譯站 | 2019-06-11 15:32 |
本文為 AI 研習(xí)社編譯的技術(shù)博客,原標(biāo)題 :
The Vanishing Gradient Problem
作者 | Chi-Feng Wang
翻譯 | Dddda 編輯 | 王立魚
原文鏈接:
https://towardsdatascience.com/solving-nlp-task-using-sequence2sequence-model-from-zero-to-hero-c193c1bd03d1
隨著越來(lái)越多的激活函數(shù)加到神經(jīng)網(wǎng)絡(luò)中,損失函數(shù)的梯度趨近于0,使得網(wǎng)絡(luò)結(jié)構(gòu)很難訓(xùn)練。
具體的激活函數(shù),比如sigmoid函數(shù),把很大的空間壓縮到0和1之間。因此,sigmoid函數(shù)的輸入即使變化很大也只會(huì)改變一點(diǎn)輸出。因此,求導(dǎo)就變得很小。
圖1:sigmoid函數(shù)以及導(dǎo)數(shù)
例如,圖一是sigmoid函數(shù)及其導(dǎo)數(shù)。注意當(dāng)sigmoid函數(shù)的輸入變大或變小時(shí)(當(dāng)|x|),導(dǎo)數(shù)如何接近零。
對(duì)于使用激活函數(shù)的僅有幾層的淺層網(wǎng)絡(luò)結(jié)構(gòu),這不是很大的問題。然而,當(dāng)使用更多層的時(shí)候,可能會(huì)造成梯度太小而不能很好的訓(xùn)練。
神經(jīng)網(wǎng)絡(luò)的梯度是使用反向傳播來(lái)找到的。簡(jiǎn)單來(lái)說(shuō),反向傳播通過將網(wǎng)絡(luò)從最終層逐層移動(dòng)到初始層來(lái)找到網(wǎng)絡(luò)的導(dǎo)數(shù)。 通過鏈?zhǔn)降囊?guī)則,將各層的導(dǎo)數(shù)乘上網(wǎng)絡(luò)(從最終層到初始層),計(jì)算出初始層的導(dǎo)數(shù)。
然而,當(dāng)有n個(gè)隱藏層使用像sigmoid的激活函數(shù)時(shí),n個(gè)小的倒數(shù)相乘。因此,當(dāng)我們反向傳到初始層的時(shí)候,梯度會(huì)大幅度下降。
一個(gè)小的梯度意味著初始層的權(quán)重和偏差不會(huì)在訓(xùn)練中得到有效更新。由于這些初始層通常對(duì)識(shí)別輸入數(shù)據(jù)的核心元素至關(guān)重要,因此可能導(dǎo)致整個(gè)網(wǎng)絡(luò)的整體不準(zhǔn)確。
最簡(jiǎn)單的解決方案是使用激活函數(shù),像ReLU,不會(huì)導(dǎo)致一個(gè)小的導(dǎo)數(shù)。
殘差網(wǎng)絡(luò)是另外一個(gè)解決方案,因?yàn)樘峁┝藲埐钆c之前的層直接連接。就像圖2中,殘差連接直接將block的開頭x的值添加到block(F(x)+x)的結(jié)尾。雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)
這個(gè)殘差連接不通過“擠壓”的激活函數(shù),從而導(dǎo)致block的整體倒數(shù)更大。
圖2:殘差層
*************************************************************************
譯者個(gè)人注解:精髓就在于直接連過來(lái)的那個(gè)x了。h(x)=f(x)+ x,h(x)對(duì) x 求偏導(dǎo),值為1,這個(gè)1直接傳到block的最前端,保證了來(lái)自后一層的梯度值完好的傳過了這一層然后進(jìn)入到前一層,使得淺層的weights也可以得到很好的訓(xùn)練。
*************************************************************************
最后,batch normalization層還可以解決這個(gè)問題。如前所述,當(dāng)一個(gè)大的輸入空間映射到一個(gè)小的輸入空間時(shí),問題就出現(xiàn)了,導(dǎo)致導(dǎo)數(shù)消失。 在圖1中,很清晰看到|x|變大的時(shí)候。bath normalization通過簡(jiǎn)單地規(guī)范化輸入來(lái)減少這個(gè)問題,這樣x就不會(huì)到達(dá)sigmoid函數(shù)的外邊緣。如圖3所示,它對(duì)輸入進(jìn)行了規(guī)范化,使其大部分落在綠色區(qū)域,其中導(dǎo)數(shù)不太小。
圖三: 限制輸入的sigmoid 函數(shù)
如果你有任何的問題或者建議,記得評(píng)論 :)
閱讀以下的文章來(lái)獲得更多的信息:
https://www.quora.com/What-is-the-vanishing-gradient-problem
https://en.wikipedia.org/wiki/Vanishing_gradient_problem
https://towardsdatascience.com/intuit-and-implement-batch-normalization-c05480333c5b
想要繼續(xù)查看該篇文章相關(guān)鏈接和參考文獻(xiàn)?
點(diǎn)擊【消失的梯度問題:?jiǎn)栴}、原因、意義及其解決對(duì)策】即可訪問:
今日資源推薦:數(shù)據(jù)科學(xué)家修煉之道
這是一本跟數(shù)據(jù)科學(xué)和數(shù)據(jù)科學(xué)家有關(guān)的“手冊(cè)”,它還包含傳統(tǒng)統(tǒng)計(jì)學(xué)、編程或計(jì)算機(jī)科學(xué)教科書中所沒有的信息?!稊?shù)據(jù)天才:數(shù)據(jù)科學(xué)家修煉之道》有3個(gè)組成部分:一是多層次地討論數(shù)據(jù)科學(xué)是什么,以及數(shù)據(jù)科學(xué)涉及哪些其他學(xué)科;二是數(shù)據(jù)科學(xué)的技術(shù)應(yīng)用層面,包括教程和案例研究;三是給正在從業(yè)和有抱負(fù)的數(shù)據(jù)科學(xué)家介紹一些職業(yè)資源。
點(diǎn)擊鏈接即可獲?。?/span>https://ai.yanxishe.com/page/resourceDetail/614
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。