訓練集 測試集loss容易出現的問題總結

2021-10-13 22:40:57 字數 581 閱讀 1283

1、

train loss 不斷下降,test loss不斷下降:說明網路仍在學習;

train loss 不斷下降,test loss趨於不變:說明網路過擬合;

train loss 趨於不變,test loss不斷下降:說明資料集100%有問題;

train loss 趨於不變,test loss趨於不變:說明學習遇到瓶頸,需要減小學習率或批量數目;或者是資料集有問題(資料集標註錯誤資料比較多)

train loss 不斷上公升,test loss不斷上公升:說明網路結構設計不當,訓練超引數設定不當,資料集經過清洗等問題。

2、訓練時損失出現nan的問題,可能導致梯度出現nan的三個原因:

1) 梯度**。也就是說梯度數值超出範圍變成nan. 通常可以調小學習率、加bn層或者做梯度裁剪來試試看有沒有解決。

2) 損失函式或者網路設計。比方說,出現了除0,或者出現一些邊界情況導致函式不可導,比方說log(0)、sqrt(0).

3) 髒資料。可以事先對輸入資料進行判斷看看是否存在nan.

參考:

訓練及loss以及測試集loss之間關係

train loss 不斷下降,test loss不斷下降,說明網路仍在學習 train loss 不斷下降,test loss趨於不變,說明網路過擬合 train loss 趨於不變,test loss不斷下降,說明資料集100 有問題 train loss 趨於不變,test loss趨於不變,...

訓練集 驗證集 測試集

訓練集loss 驗證集loss 測試集loss 乙個好的網路,二者的差距應該是很低的。但一般情況下因為網路不可避免地存在一定程度上的過擬合,所以肯定是train loss低於test lost,但如果低太多,就得考慮是過擬合的問題還是因為樣本的特徵空間不統一的問題。驗證集基本是在每個epoch完成後...

訓練集,驗證集,測試集

普通引數就是可以被梯度下降所更新的,也就是訓練集所更新的引數。超引數是指訓練開始之前設定的引數,不在梯度下降的更新範圍內,比如網路層數 網路節點數 迭代次數 學習率等等 1.訓練集 確定模型後,用於訓練普通引數 2.驗證集 交叉驗證集cv 驗證集在每個epoch訓練完成後,用來測試一下當前模型的準確...