什么是梯度消失和梯度爆炸 深度學(xué)習(xí)中的梯度消失和梯度爆炸是什么?有哪些方法可以解決?
深度學(xué)習(xí)中的梯度消失和梯度爆炸是什么?有哪些方法可以解決?梯度消失的根源-深層神經(jīng)網(wǎng)絡(luò)和反向傳播。目前,神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法都是基于bp算法的思想,即根據(jù)損失函數(shù)計(jì)算的誤差,采用梯度bp算法來(lái)指導(dǎo)深度網(wǎng)
深度學(xué)習(xí)中的梯度消失和梯度爆炸是什么?有哪些方法可以解決?
梯度消失的根源-深層神經(jīng)網(wǎng)絡(luò)和反向傳播。目前,神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法都是基于bp算法的思想,即根據(jù)損失函數(shù)計(jì)算的誤差,采用梯度bp算法來(lái)指導(dǎo)深度網(wǎng)絡(luò)權(quán)值的更新和優(yōu)化。
梯度消失和梯度爆炸。在兩種情況下,梯度消失經(jīng)常發(fā)生,一種是在深網(wǎng)絡(luò)中,另一種是使用不適當(dāng)?shù)膿p失函數(shù),如sigmoid。梯度爆炸通常發(fā)生在深度網(wǎng)絡(luò)初始值和權(quán)重過(guò)大時(shí)。神經(jīng)網(wǎng)絡(luò)的反向傳播是將函數(shù)的偏導(dǎo)數(shù)逐層相乘。因此,當(dāng)神經(jīng)網(wǎng)絡(luò)的層很深時(shí),最后一層的偏差會(huì)因?yàn)槌艘栽S多小于1的偏導(dǎo)數(shù)而變得越來(lái)越小,最后趨于0,導(dǎo)致淺層的權(quán)值不更新,即梯度消失。由于梯度爆炸的初始權(quán)值過(guò)大,前一層的變化比后一層快,導(dǎo)致權(quán)值增加和溢出,導(dǎo)致Nan值的產(chǎn)生。
使用sigmoid激活函數(shù)時(shí),梯度消失問(wèn)題更常見(jiàn),而梯度爆炸問(wèn)題只發(fā)生在非常窄的范圍內(nèi)。
解決梯度消失問(wèn)題的方法:添加BN層、使用不同的激活函數(shù)(relu)、使用剩余結(jié)構(gòu)、使用LSTM網(wǎng)絡(luò)結(jié)構(gòu)等
解決梯度爆炸問(wèn)題的方法:添加BN層、使用不同的激活函數(shù)、梯度剪切(限制梯度范圍),權(quán)重正則化,使用LSTM網(wǎng)絡(luò),重新設(shè)計(jì)網(wǎng)絡(luò)模型(減少層,學(xué)習(xí))率,批量大?。?/p>
歡迎討論
人腦是怎么防止梯度消失和梯度爆炸的?
大腦中有近900億個(gè)神經(jīng)元。如此龐大的網(wǎng)絡(luò)如何防止梯度消失和梯度爆炸?我認(rèn)為,因?yàn)榇竽X不能一次激活所有的神經(jīng)元,所以它把結(jié)果儲(chǔ)存在遠(yuǎn)離大腦的地方。
人腦是如何工作的?
你給大腦一個(gè)圖像,同時(shí)激活整個(gè)大腦嗎?顯然不是。大腦被分割了。然而,在遙遠(yuǎn)的地方存儲(chǔ)信息只是人腦算法的一小部分,這與動(dòng)物和人類驚人的識(shí)別能力無(wú)關(guān)。我認(rèn)為更多的是關(guān)于短期記憶的儲(chǔ)存(在它變成長(zhǎng)期記憶之前)。
現(xiàn)在人們普遍認(rèn)為人腦沒(méi)有DNN這樣的梯度返回機(jī)制。。。對(duì)生物學(xué)稍有了解就會(huì)發(fā)現(xiàn)神經(jīng)元的傳遞是單向的。但是我們能有兩個(gè)神經(jīng)元,一個(gè)前饋一個(gè)反饋嗎?目前的研究還沒(méi)有發(fā)現(xiàn)。。。一般認(rèn)為這一環(huán)節(jié)是一個(gè)循環(huán)結(jié)構(gòu)(RNN)。其次,新生動(dòng)物的比率可能不需要學(xué)習(xí)掌握很多基本的信息處理能力。例如,牛、羊和馬生來(lái)就是要走路的。結(jié)果表明,它們的基因是預(yù)先編程的,具有一些基本的能力,如行走、運(yùn)動(dòng)和視覺(jué),這是我們通過(guò)反向傳播訓(xùn)練模型實(shí)現(xiàn)的。人類出生的原因看不清楚?,F(xiàn)有的解釋是,人類在出生時(shí)并沒(méi)有完全發(fā)育,否則嬰兒的頭太大,無(wú)法順利分娩。然而,大腦中肯定有一種機(jī)制來(lái)返回錯(cuò)誤并改變突觸重量。
散度和梯度有什么區(qū)別嗎?
梯度是一個(gè)向量,其大小是該點(diǎn)函數(shù)的最大變化率,即該點(diǎn)的最大方向?qū)?shù)。梯度的方向是點(diǎn)的最大方向?qū)?shù)的方向,即垂直于等值線(面)的方向,該方向指向函數(shù)的遞增方向。散度是指流體運(yùn)動(dòng)時(shí)單位體積的變化率。簡(jiǎn)言之,運(yùn)動(dòng)中的流體集中區(qū)是收斂區(qū),而運(yùn)動(dòng)中的流體發(fā)散區(qū)是發(fā)散區(qū)。這種計(jì)算也被稱為“點(diǎn)乘”。散度是一個(gè)標(biāo)量,表示通量源密度。當(dāng)散度為零時(shí),意味著它是一個(gè)被動(dòng)場(chǎng);當(dāng)散度不為零時(shí),意味著它是一個(gè)主動(dòng)場(chǎng)(有正源或負(fù)源)。梯度可以理解為:對(duì)于一座山,每個(gè)點(diǎn)的高度是一個(gè)標(biāo)量場(chǎng)。那么,某一點(diǎn)的海拔在山頂方向上的變化率就是梯度。標(biāo)量場(chǎng)是連續(xù)的,當(dāng)然梯度是連續(xù)傾斜的。梯度可以用7個(gè)建筑物的形式來(lái)表示,但用張量的形式更為簡(jiǎn)潔:即“φ,I”,其中“,”表示常微分,I=1,2,3(三維)表示空間三個(gè)方向的微分分量。散度可以理解為流場(chǎng)中每個(gè)方向上速度V的變化率之和,它是一個(gè)標(biāo)量。根據(jù)這個(gè)定義,如果在流場(chǎng)中取一個(gè)很小的空間,其散度不為零,則表示有流體的流入或流出。當(dāng)散度為零時(shí),意味著小空間中的流體是連續(xù)的,沒(méi)有多余的流體流入。因此,連續(xù)體的連續(xù)形式為零。