2

我正在對臉部圖像進行深度學習(CNN + AE)方法。爲什麼驗證錯誤率保持相同的值?

我有

  • 的面部圖像

  • 3卷積+ MAX池+的112*112*3輸入層RELU

  • 2層具有512元用50%漏失完全連接的到 避免過度擬合和最後輸出層與10神經元,因爲我有 10類。

  • 也使用了softmax交叉熵的降低均值以及L2。

訓練我分了我的數據集3組:

  1. 60%用於培訓
  2. 20%用於驗證
  3. 20%用於評估

問題在幾個時代之後,驗證錯誤率保持固定值並且永遠不會改變。我用tensorflow來實施我的項目。

我以前沒有這樣的問題與CNNs,所以我認爲這是第一次。我檢查了它基於tensorflow文檔的代碼,所以我不認爲如果問題出現在代碼中。也許我需要改變一些參數,但我不確定。

有關這種問題的常見解決方案的任何想法?

更新: 我改變了優化器的勢頭,亞當默認的學習率。對於現在的驗證錯誤更改,但大部分時間都低於小批量錯誤,而兩者的批量大小相同。

我已經測試了帶有和不帶有偏差的模型,並將其作爲初始值,但沒有合適。

更新 我解決了問題,我將盡快更新細節。

+0

它是否每次都預測同一個類?你的學習率是多少? –

+0

@chris_anderson我剛剛檢查過它是同一班,每次學習率爲0.01,並逐漸下降。 –

+0

您的驗證率是否在開始時降低,然後停在某個時代,或者從第一次迭代開始是否相同? – Feras

回答

1

我發現對這類問題有幫助的一個常見解決方案是使用TensorBoard。您可以添加詳細信息,在計算圖中的不同點之後,在每個時期之後可視化培訓績效信息。添加關鍵指標是值得的,因爲您可以看到在應用自適應學習率,批量大小,神經網絡架構,中止/正規化,GPU數量等變化後訓練是如何進行的。

這裏是鏈接I發現有助於添加這些細節: https://www.tensorflow.org/how_tos/graph_viz/#runtime_statistics

+0

謝謝,我會試試這個。 –

+1

我觀察到類似的行爲,當我的權重快速收斂到零。使用TensorBoard你可以立即看到。 –

+0

我試過了,謝謝,這真的很有幫助。 –

相關問題