【深度学习问题整理】
一、梯度消失和梯度爆炸
1.參考 https://blog.csdn.net/qq_25737169/article/details/78847691
2.概念:
???? 在深度神經(jīng)網(wǎng)絡(luò)中,通常采用BP方法更新權(quán)重,一般采用鏈式求導(dǎo)法則求得梯度來更新,導(dǎo)數(shù)項包括多個因式相乘,其中有激活函數(shù)的導(dǎo)數(shù)和初始值等。這時如果梯度過大連乘起來就會越來越大以至于超出范圍無法收斂這叫做梯度爆炸,反之如果梯度過小連乘起來就會越來越小甚至為0導(dǎo)致權(quán)重無法更新,此時稱為梯度消失。
3.原因:
梯度消失和爆炸:不合適的損失函數(shù)。
梯度爆炸:網(wǎng)絡(luò)權(quán)值初始值太大
4.解決方案:
梯度消失和爆炸:預(yù)訓(xùn)練+微調(diào);采用ELU(ReLU的變種)等激活函數(shù);batchnorm(對每一層的輸出規(guī)范為均值和方差一致來保證網(wǎng)絡(luò)的穩(wěn)定性,并加速收斂);
梯度爆炸:梯度剪切;權(quán)重正則化;
梯度消失:殘差結(jié)構(gòu)(短路機制可以無損地傳播梯度,不會導(dǎo)致梯度消失)
二、BN層
1.原理:
直接做歸一化學(xué)不到特征,加入可訓(xùn)練的參數(shù)做歸一化
參考 https://blog.csdn.net/qq_25737169/article/details/79048516
2.為什么需要BN層:
訓(xùn)練深度網(wǎng)絡(luò)的時候經(jīng)常發(fā)生訓(xùn)練困難的問題,因為,每一次參數(shù)迭代更新后,上一層網(wǎng)絡(luò)的輸出數(shù)據(jù)經(jīng)過這一層網(wǎng)絡(luò)計算后,數(shù)據(jù)的分布會發(fā)生變化,為下一層網(wǎng)絡(luò)的學(xué)習(xí)帶來困難。
3.用處:
加速神經(jīng)網(wǎng)絡(luò)訓(xùn)練,加速收斂速度及穩(wěn)定性;Batchnorm是歸一化的一種手段,極限來說,這種方式會減小圖像之間的絕對差異,突出相對差異是歸一化的一種手段,能夠減少絕對差異,突出相對差異;
不用BN時,需小心設(shè)計學(xué)習(xí)率和權(quán)重初值,有了BN可以采用大的學(xué)習(xí)率,加快訓(xùn)練;
本身是一種正則的方式,可以替代其他正則方法如droupout等;
4.方法:
首先計算均值和方差,然后歸一化,最后縮放和平移。
??????
三、預(yù)訓(xùn)練
1.目的
規(guī)則化,防止過擬合;壓縮數(shù)據(jù),去除冗余;強化特征,減小誤差;加快收斂速度。而采用ReLu則不需要進行pre-training。
四、Dropout
1.原理
詳細參考:https://blog.csdn.net/stdcoutzyx/article/details/49022443%20和 https://blog.csdn.net/u012702874/article/details/45030991%20
做法:深度學(xué)習(xí)網(wǎng)絡(luò)的訓(xùn)練過程中,對于神經(jīng)網(wǎng)絡(luò)單元,按照一定的概率將其暫時從網(wǎng)絡(luò)中丟棄。注意是暫時,對于隨機梯度下降來說,由于是隨機丟棄,故而每一個mini-batch都在訓(xùn)練不同的網(wǎng)絡(luò)。
起作用的原因:用了dropout相當于每次在原模型中找到一個更瘦的網(wǎng)絡(luò),最后的網(wǎng)絡(luò)可以看做模型的集合,訓(xùn)練的參數(shù)卻是一樣多的;相當于增加了樣本集。
2.優(yōu)缺點
優(yōu)點:防止過擬合
缺點:訓(xùn)練時間稍長
3.注意點
訓(xùn)練的時候是用部分神經(jīng)元,測試的時候沒有dropout,而是全部都用,將輸出結(jié)果進行縮小,即乘以訓(xùn)練時的1-p。
為了使用方便,我們不在測試時再縮小輸出,而在訓(xùn)練時直接將輸出放大1/(1-p)倍。
參考:https://www.cnblogs.com/welhzh/p/6648613.html
五、樣本不均衡問題
1.控制比例
2.focal loss
六、難分樣本
1.控制比例時,選擇訓(xùn)練Loss高的樣本
2.難分樣本繼續(xù)加入訓(xùn)練
七、喵喵喵
1.不控制正負樣本比例可以收斂?
2.SSD融合和EAST融合方式比較?
八、Loss=Nan
1.不當?shù)腖oss函數(shù)
2.梯度爆炸
3.輸入數(shù)據(jù)問題
4.步長大于核大小
?
轉(zhuǎn)載于:https://www.cnblogs.com/EstherLjy/p/9329020.html
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的【深度学习问题整理】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spark streaming 消费 k
- 下一篇: Luogu P2920 时间管理【二分答