簡體   English   中英

驗證損失和准確性有很多“跳躍”

[英]Validation loss and accuracy has a lot of 'jumps'

大家好,所以我做了這個 cnn model。

我的數據:

訓練文件夾->30 類->每類 800 張圖片-> 總共 24000 張

驗證文件夾->30 個類別->每個類別 100 個圖像-> 總共 3000 個

測試文件夾 -> 30 個類 -> 每個類 100 張圖像 -> 總共 3000 張

-我應用了數據增強。 (關於火車數據)

-我有 5 個卷積層,過濾器為 32->64->128->128->128
每個都有最大池化和批量歸一化

-在壓平層后添加了 0.5 的 dropout

火車部分看起來不錯。 驗證部分雖然有很多“跳躍”。 它會過擬合嗎?
有什么辦法可以解決這個問題並使驗證部分更穩定嗎?

注意:我計划在我的最終 model 上增加 epochs 我只是在試驗看看什么最有效,因為 model 需要很多時間才能訓練。 所以現在我用 20 個 epoch 訓練。

在此處輸入圖像描述

火車部分看起來不錯。 驗證部分雖然有很多“跳躍”。 它會過擬合嗎?

答案是肯定的。 驗證部分中所謂的“跳躍”可能表明 model 沒有很好地概括驗證數據,因此您的 model 可能過度擬合。

有什么辦法可以解決這個問題並使驗證部分更穩定嗎?

要解決此問題,您可以使用以下內容:

  • 增加訓練集的大小
  • 正則化技術
  • 提前停止
  • 降低 model 的復雜性
  • 使用不同的超參數,如學習率

我應用了數據增強(在火車數據上)。

這是什么意思? 你添加了什么樣的數據,添加了多少? 您可能認為我在吹毛求疵,但如果擴充數據的分布與原始數據差異很大,那么這確實會導致您的 model 無法很好地泛化到驗證集。

增加你的時代在這里沒有幫助,你的訓練損失已經在合理減少。 如果驗證損失也減少得很好,那么對 model 進行更長時間的訓練是一個很好的步驟,但顯然情況並非如此。

我會親自嘗試一些事情:

  1. 嘗試降低學習率。
  2. 嘗試在沒有增強數據的情況下訓練 model,看看驗證損失如何表現。
  3. 嘗試拆分擴充數據,使其也包含在驗證集中,並查看 model 的行為方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM