色婷婷AV无码久久精品,久久天天躁狠狠躁夜夜97,羞羞麻豆国产精品1区2区3区,啪影院免费线观看视频,思思久久er99精品亚洲

常州機器視覺培訓

常州上位機軟件開發(fā)

常州工業(yè)機器人編程設計培訓

常州PLC培訓

常州PLC

常州PLC編程培訓

常州電工培訓

常州和訊plc培訓中心歡迎您!
當前位置:網站首頁 > 新聞中心 新聞中心
神經網絡訓練不收斂或訓練失敗的原因總結-常州機器視覺培訓,常州上位機培訓
日期:2024-3-12 17:01:22人氣:  標簽:常州機器視覺培訓 常州上位機培訓

在面對模型不收斂的時候,首先要保證訓練的次數(shù)夠多。在訓練過程中,loss并不是一直在下降,準確率一直在提升的,會有一些震蕩存在。只要總體趨勢是在收斂就行。若訓練次數(shù)夠多(一般上千次,上萬次,或者幾十個epoch)沒收斂,再考慮采取措施解決。


一、數(shù)據(jù)與標簽方面

1. 沒有對數(shù)據(jù)進行預處理。數(shù)據(jù)分類標注是否準確?數(shù)據(jù)是否干凈?


2. 沒有對數(shù)據(jù)進行歸一化。由于不同評價指標往往具有不同的量綱和量綱單位,這樣的情況會影響到數(shù)據(jù)分析的結果,為了消除指標之間的量綱影響,需要進行數(shù)據(jù)標準化處理,以解決數(shù)據(jù)指標之間的可比性。原始數(shù)據(jù)經過數(shù)據(jù)標準化處理后,各指標處于同一數(shù)量級,適合進行綜合對比評價。此外,大部分神經網絡流程都假設輸入輸出是在0附近的分布,從權值初始化到激活函數(shù)、從訓練到訓練網絡的優(yōu)化算法。將數(shù)據(jù)減去均值并除去方差。


3. 樣本的信息量太大導致網絡不足以fit住整個樣本空間。樣本少只可能帶來過擬合的問題,你看下你的training set上的loss收斂了嗎?如果只是validate set上不收斂那就說明overfitting了,這時候就要考慮各種anti-overfit的trick了,比如dropout,SGD,增大minibatch的數(shù)量,減少fc層的節(jié)點數(shù)量,momentum,finetune等。


4. 標簽的設置是否正確。



二、模型方面


1. 網絡設定不合理。

如果做很復雜的分類任務,卻只用了很淺的網絡,可能會導致訓練難以收斂。應當選擇合適的網絡,或者嘗試加深當前網絡?傮w來說,網絡不是越深越好,開始可以搭建一個3~8層的網絡,當這個網絡實現(xiàn)的不錯時,你可以考慮實驗更深的網絡來提升精確度。從小網絡開始訓練意味著更快,并且可以設置不同參數(shù)觀察對網絡的影響而不是簡單的堆疊更多層。


2. Learning rate不合適。

如果太大,會造成不收斂,如果太小,會造成收斂速度非常慢。


在自己訓練新網絡時,可以從0.1開始嘗試,如果loss不下降的意思,那就降低,除以10,用0.01嘗試,一般來說0.01會收斂,不行的話就用0.001. 學習率設置過大,很容易震蕩。不過剛剛開始不建議把學習率設置過小,尤其是在訓練的開始階段。在開始階段我們不能把學習率設置的太低否則loss不會收斂。


我的做法是逐漸嘗試,從0.1,0.08,0.06,0.05 ......逐漸減小直到正常為止。有的時候候學習率太低走不出低估,把沖量提高也是一種方法,適當提高mini-batch值,使其波動不大。


learning rate設大了會帶來跑飛(loss突然一直很大)的問題。這個是新手最常見的情況——為啥網絡跑著跑著看著要收斂了結果突然飛了呢?可能性最大的原因是你用了relu作為激活函數(shù)的同時使用了softmax或者帶有exp的函數(shù)做分類層的loss函數(shù)。


當某一次訓練傳到最后一層的時候,某一節(jié)點激活過度(比如100),那么exp(100)=Inf,發(fā)生溢出,bp后所有的weight會變成NAN,然后從此之后weight就會一直保持NAN,于是loss就飛起來辣。如果lr設的過大會出現(xiàn)跑飛再也回不來的情況。這時候你停一下隨便挑一個層的weights看一看,很有可能都是NAN了。對于這種情況建議用二分法嘗試。0.1~0.0001.不同模型不同任務最優(yōu)的lr都不一樣。




3. 隱層神經元數(shù)量錯誤。

在一些情況下使用過多或過少的神經元數(shù)量都會使得網絡很難訓練。太少的神經元數(shù)量沒有能力來表達任務,而太多的神經元數(shù)量會導致訓練緩慢,并且網絡很難清除一些噪聲。


隱層神經元數(shù)量可以從256 到1024中間開始設置,然后可以看看研究人員使用的數(shù)字,可以用作參考。如果他們使用的數(shù)字與這個大不相同,那么可以想象一下這其中的原理。在決定使用隱層的單元數(shù)量之前,最為關鍵的是考慮你需要通過這個網絡表達信息的實際值的最少數(shù)量,然后再慢慢增加這個數(shù)字。


如果你做回歸任務可以考慮使用的神經元數(shù)量為輸入或輸出變量的2到3倍。實際上,與其它因素相比,隱藏單元的數(shù)量通常對于神經網絡的性能影響相當小。并且在很多情況下,增大所需要隱藏單元的數(shù)量僅僅是減慢了訓練速度。


4. 錯誤初始化網絡參數(shù)。

如果沒有正確初始化網絡權重,那么網絡將不能訓練。


通常使用的比較多的初始化權重的方法有‘he’,’lecun’,’xavier’在實際應用中這些方法有非常好的性能而網絡偏差通常初始化為0,你可以選擇一個最適合你任務的初始化方式。


5. 沒有正則化。

正則化典型的就是dropout、加噪聲等。即使數(shù)據(jù)量很大或者你覺得網絡不可能出現(xiàn)過擬合,但是對網絡進行正則化還是很有必要的。


dropout 通常從設定參數(shù)為0.75或0.9開始,根據(jù)你認為網絡出現(xiàn)過擬合的可能性來調整這個參數(shù)。另外,如果你確定這個網絡不會出現(xiàn)過擬合,那么可以將參數(shù)設定為0.99。正則化不僅僅可以防止過擬合,并且在這個隨機過程中,能夠加快訓練速度以及幫助處理數(shù)據(jù)中的異常值并防止網絡的極端權重配置。對數(shù)據(jù)擴增也能夠實現(xiàn)正則化的效果,最好的避免過擬合的方法就是有大量的訓練數(shù)據(jù)。


6. Batch Size 過大。

Batch size 設置的過大會降低網絡的準確度,因為它降低了梯度下降的隨機性。另外,在相同情況下batch size 越大那么要達到相同的精確度通常需要訓練更多的epoch。


我們可以嘗試一些較小的batch size 如 16 ,8 甚至是1。使用較小的batch size 那么一個epoch就可以進行更多次的權值更新。這里有兩個好處,第一,可以跳出局部最小點。其二可以表現(xiàn)出更好的泛化性能。


7. 學習率設的不對。

許多深度學習的框架默認開啟了gradient clipping ,這個可以處理gradient explosion問題,這個是非常有用的,但是在默認情況下它也很難找到最佳學習率。如果你正確的清理了數(shù)據(jù),刪除了異常值,以及設定了正確的學習率,那么可以不需要使用gradient clipping,偶爾你也會遇到gradient explosion問題,那么你可以開啟gradient clipping。但是,出現(xiàn)這種問題一般情況下表明數(shù)據(jù)有其它問題,而gradient clipping只是一個臨時的解決方案。


8. 最后一層的激活函數(shù)用的不對。

在最后一層使用錯誤的激活函數(shù)會導致網絡最終不能輸出你期望的范圍值,最常見的錯誤就是最后一層使用Relu函數(shù),其輸出無負值。


如果是做回歸任務,大多數(shù)情況下不需要使用激活函數(shù),除非你知道你所期望的值作為輸出。想象一下你的數(shù)據(jù)值實際代表了什么,以及再歸一化之后它們的范圍是多少,最有可能的情況是輸出沒有邊界的正數(shù)和負數(shù)。在這種情況下,最后一層不應該使用激活函數(shù)。如果你的輸出值只能在某個范圍內有意義,如0~1范圍內的概率組成。那么最后一層可以使用sigmoid函數(shù)。


9. 網絡存在壞梯度。

如果你訓練了幾個epoch誤差沒有改變,那可能是你使用了Relu,可以嘗試將激活函數(shù)換成leaky Relu。因為Relu激活函數(shù)對正值的梯度為1,負值的梯度為0。因此會出現(xiàn)某些網絡權值的成本函數(shù)的斜率為0,在這種情況下我們說網絡是“dead”,因為網絡已經不能更新。


如何通過train loss與test loss分析網絡當下的狀況?

1. train loss 不斷下降,test loss不斷下降,說明網絡仍在學習;


2. train loss 不斷下降,test loss趨于不變,說明網絡過擬合;


3. train loss 趨于不變,test loss不斷下降,說明數(shù)據(jù)集100%有問題;


4. train loss 趨于不變,test loss趨于不變,說明學習遇到瓶頸,需要減小學習率或批量數(shù)目;


5. train loss 不斷上升,test loss不斷上升,說明網絡結構設計不當,訓練超參數(shù)設置不當,數(shù)據(jù)集經過清洗等問題。

本文網址:
下一篇:沒有資料

相關信息:
版權所有 CopyRight 2006-2017 江蘇和訊自動化設備有限公司 常州自動化培訓中心 電話:0519-85602926 地址:常州市新北區(qū)府琛商務廣場2號樓1409室
蘇ICP備14016686號-2 技術支持:常州山水網絡
本站關鍵詞:常州PLC培訓 常州PLC編程培訓 常州PLC編程 常州PLC培訓班 網站地圖 網站標簽
在線與我們取得聯(lián)系
色婷婷AV无码久久精品,久久天天躁狠狠躁夜夜97,羞羞麻豆国产精品1区2区3区,啪影院免费线观看视频,思思久久er99精品亚洲