吳恩達(dá)深度學(xué)習(xí)筆記(36)-神經(jīng)網(wǎng)絡(luò)的梯度消失/梯度爆炸

梯度消失/梯度爆炸(Vanishing / Exploding gradients)

訓(xùn)練神經(jīng)網(wǎng)絡(luò),尤其是深度神經(jīng)所面臨的一個(gè)問(wèn)題就是梯度消失或梯度爆炸,也就是你訓(xùn)練神經(jīng)網(wǎng)絡(luò)的時(shí)候,導(dǎo)數(shù)或坡度有時(shí)會(huì)變得非常大,或者非常小,甚至于以指數(shù)方式變小,這加大了訓(xùn)練的難度。

這節(jié)課,你將會(huì)了解梯度消失或梯度爆炸的真正含義,以及如何更明智地選擇隨機(jī)初始化權(quán)重,從而避免這個(gè)問(wèn)題。

假設(shè)你正在訓(xùn)練這樣一個(gè)極深的神經(jīng)網(wǎng)絡(luò),為了節(jié)約幻燈片上的空間,我畫的神經(jīng)網(wǎng)絡(luò)每層只有兩個(gè)隱藏單元,但它可能含有更多,但這個(gè)神經(jīng)網(wǎng)絡(luò)會(huì)有參數(shù)W^([1]),W^([2]),W^([3])等等,直到W^([l]),為了簡(jiǎn)單起見(jiàn),假設(shè)我們使用激活函數(shù)g(z)=z,也就是線性激活函數(shù),我們忽略b,假設(shè)b^([l])=0,如果那樣的話,輸出:

如果你想考驗(yàn)我的數(shù)學(xué)水平,W^([1]) x=z^([1]),因?yàn)閎=0,所以我想z^([1])=W^([1]) x,a^([1])=g(z^([1])),因?yàn)槲覀兪褂昧艘粋€(gè)線性激活函數(shù),它等于z^([1]),所以第一項(xiàng)W^([1]) x=a^([1]),通過(guò)推理,你會(huì)得出W^([2]) W^([1]) x=a^([2]),因?yàn)閍^([2])=g(z^([2])),還等于g(W^([2]) a^([1])),可以用W^([1]) x替換a^([1]),所以這一項(xiàng)就等于a^([2]),這個(gè)就是a^([3])(W^([3]) W^([2]) W^([1]) x)。

所有這些矩陣數(shù)據(jù)傳遞的協(xié)議將給出y^而不是y的值。

假設(shè)每個(gè)權(quán)重矩陣

從技術(shù)上來(lái)講,最后一項(xiàng)有不同維度,可能它就是余下的權(quán)重矩陣,

因?yàn)槲覀兗僭O(shè)所有矩陣都等于它,它是1.5倍的單位矩陣,最后的計(jì)算結(jié)果就是^y,^y也就是等于1.5^(L-1)* x。如果對(duì)于一個(gè)深度神經(jīng)網(wǎng)絡(luò)來(lái)說(shuō)L值較大,那么y^的值也會(huì)非常大,實(shí)際上它呈指數(shù)級(jí)增長(zhǎng)的,它增長(zhǎng)的比率是1.5^L,因此對(duì)于一個(gè)深度神經(jīng)網(wǎng)絡(luò),y的值將爆炸式增長(zhǎng)。

相反的,如果權(quán)重是0.5,

它比1小,這項(xiàng)也就變成了0.5^L,

矩陣

再次忽略W^([L]),因此每個(gè)矩陣都小于1,假設(shè)x_1和x_2都是1,激活函數(shù)將變成1/2,1/2,1/4,1/4,1/8,1/8等,直到最后一項(xiàng)變成1/2^L ,所以作為自定義函數(shù),激活函數(shù)的值將以指數(shù)級(jí)下降,它是與網(wǎng)絡(luò)層數(shù)數(shù)量L相關(guān)的函數(shù),在深度網(wǎng)絡(luò)中,激活函數(shù)以指數(shù)級(jí)遞減。

我希望你得到的直觀理解是,權(quán)重W只比1略大一點(diǎn),或者說(shuō)只是比單位矩陣大一點(diǎn),深度神經(jīng)網(wǎng)絡(luò)的激活函數(shù)將爆炸式增長(zhǎng),如果W比1略小一點(diǎn),可能是

在深度神經(jīng)網(wǎng)絡(luò)中,激活函數(shù)將以指數(shù)級(jí)遞減,雖然我只是討論了激活函數(shù)以與L相關(guān)的指數(shù)級(jí)數(shù)增長(zhǎng)或下降,它也適用于與層數(shù)L相關(guān)的導(dǎo)數(shù)或梯度函數(shù),也是呈指數(shù)級(jí)增長(zhǎng)或呈指數(shù)遞減。

對(duì)于當(dāng)前的神經(jīng)網(wǎng)絡(luò),假設(shè)L=150,最近Microsoft對(duì)152層神經(jīng)網(wǎng)絡(luò)的研究取得了很大進(jìn)展,在這樣一個(gè)深度神經(jīng)網(wǎng)絡(luò)中,如果激活函數(shù)或梯度函數(shù)以與L相關(guān)的指數(shù)增長(zhǎng)或遞減,它們的值將會(huì)變得極大或極小,從而導(dǎo)致訓(xùn)練難度上升,尤其是梯度指數(shù)小于L時(shí),梯度下降算法的步長(zhǎng)會(huì)非常非常小,梯度下降算法將花費(fèi)很長(zhǎng)時(shí)間來(lái)學(xué)習(xí)。

總結(jié)一下,我們講了深度神經(jīng)網(wǎng)絡(luò)是如何產(chǎn)生梯度消失或爆炸問(wèn)題的,實(shí)際上,在很長(zhǎng)一段時(shí)間內(nèi),它曾是訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的阻力,雖然有一個(gè)不能徹底解決此問(wèn)題的解決方案,但是已在如何選擇初始化權(quán)重問(wèn)題上提供了很多幫助。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容