關於網絡訓練時的參考建議:
1.train loss不斷下降,test loss不斷下降,網絡正在學習
2.train loss不斷下降,test loss趨於不變,網絡過擬合,需要增大數據;減小網絡規模dropout;權重衰減或正則化L2等
3.train loss趨於不變,test loss趨於不變,遇到瓶頸,需要減少學習率和批處理大小
4.train loss趨於不變,test loss不斷下降,數據集100%有問題
5.train loss不斷上升,test loss不斷上升,可能網絡結構設計不當,超參設置不當,bug等
6.train loss不斷上下跳動,可能學習率過大或批處理太小
7.batchnorm:如果每個batch輸入的數據都具有不同的分布,會給網絡的訓練帶來困難,數據經過一層層網絡計算后,數據分布
也會發生變化,此現象稱為 internal covariate shift(內部協變量漂移),之前的解決方法是:較小的學習率;小心的初始化參數;數據白化處理
internal:發生在網絡內部
covariate shift:發生在輸入層
讓每個隱層節點的激活輸入分布固定下來,這樣就避免internal covariate shift
8.偏差:模型結果和實際結果的偏離程序
9.方差:模型結果圍繞着實際結果波動的程度
10.偏差大:不了解數據和數據形態;增加維度,如多項式、高階項,減少正則參數
11.方差大:波動(可能來自無關緊要的離群值)、不收斂、模型沒有找到數據變換的節奏、提供的數據變化不豐富;增加樣本,減少特征集合size、增大正則參數