1. 網絡訓練時train loss與test loss的結果分析:
(1) train loss不斷下降,test loss不斷下降 可能發生的原因: 網絡還在學習中,loss在穩步下降。
(2) train loss不斷下降,test loss趨於不變 可能發生的原因: 網絡出現過擬合的現象,因此在訓練集上表現為網絡仍在學習,但是test loss趨於不變說明網絡泛化能力差。
(3) train loss趨於不變,test loss不斷下降 可能發生的原因: 數據集100%是有問題的。
(4) train loss趨於不變,test loss趨於不變 可能發生的原因: loss開始在某一值附近不斷振盪,說明網絡學習遇到瓶頸,此時應該減小學習率或者減小batch size的大小。
(5) train loss不斷上升,test loss不斷上升 可能發生的原因: 網絡結構的設計有問題; 訓練時超參數的設置有問題; 數據集沒有經過清洗。
2. 出現loss不下降的問題時檢查:
(1)數據
- 數據本身以及label是否有異常
- 數據是否過於臟亂,沒有經過清洗
- 數據輸入是否有問題,比如圖片與label是否一致
- 數據經過預處理后,是否丟失特征或者因預處理而出現別的問題
- 數據量是否過少,網絡出現過擬合的現象
(2)超參數的設置
- 學習率的設置是否有問題: 學習率過小可能會導致loss下降緩慢,學習率過大可能會導致loss振盪不下降
- batch size設置是否有問題: batch size如果設置過小,在數據不太好的情況下也會出現loss振盪的現象