机器学习经验总结-神经网络训练失败的一些常见原因
前言
在面對模型不收斂的時候,首先要保證訓練的次數夠多。在訓練過程中,loss并不是一直在下降,準確率一直在提升的,會有一些震蕩存在。只要總體趨勢是在收斂就行。若訓練次數夠多(一般上千次,上萬次,或者幾十個epoch)沒收斂,再考慮采取措施解決。
一、數據與標簽
沒有對數據進行預處理。數據分類標注是否準確?數據是否干凈?
沒有對數據進行歸一化。由于不同評價指標往往具有不同的量綱和量綱單位,這樣的情況會影響到數據分析的結果,為了消除指標之間的量綱影響,需要進行數據標準化處理,以解決數據指標之間的可比性。原始數據經過數據標準化處理后,各指標處于同一數量級,適合進行綜合對比評價。此外,大部分神經網絡流程都假設輸入輸出是在0附近的分布,從權值初始化到激活函數、從訓練到訓練網絡的優化算法。將數據減去均值并除去方差。
樣本的信息量太大導致網絡不足以fit住整個樣本空間。樣本少只可能帶來過擬合的問題,你看下你的training set上的loss收斂了嗎?如果只是validate set上不收斂那就說明overfitting了,這時候就要考慮各種anti-overfit的trick了,比如dropout,SGD,增大minibatch的數量,減少fc層的節點數量,momentum,finetune等。
標簽的設置是否正確。
二、模型
網絡設定不合理
如果做很復雜的分類任務,卻只用了很淺的網絡,可能會導致訓練難以收斂。應當選擇合適的網絡,或者嘗試加深當前網絡。總體來說,網絡不是越深越好,開始可以
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的机器学习经验总结-神经网络训练失败的一些常见原因的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: R语言应用实战-基于R语言的综合评价(层
- 下一篇: R语言应用实战-基于R的C4.5算法和C