回覆列表
  • 1 # NC少年

    可能是overtfitting或是訓練環節出錯了。需要結合training loss,即訓練集誤差一起來排錯。

    模型過擬合

    如果訓練集誤差在穩步下降,而驗證集誤差反而上升,應該是模型過擬合了。模型過於複雜,而資料量太小,學習的模型過度去擬合訓練集。解決方案是增大dropout或降低模型容量。或者想辦法加大資料量。

    程式碼前傳或後傳有bug

    如果訓練集誤差不下降,可能你的訓練程式碼本身都有bug。這種情形下,沒有必要看驗證集誤差。除錯程式碼吧,比如前傳損失函式的計算,後傳梯度的計算,某個環節出錯了。如果你用的不是深度學習框架,自己寫的後傳程式碼,那可能要透過數值方法計算梯度,進行對比,排查bug。

  • 2 # muzilovemusic

    我訓練過一些深度學習模型。

    按照我的經驗,如果我有這樣一個問題。那麼我會按照如下流程解決問題。

    1.看懂模型

    模型中有大量公式,首先你要看懂它大致做了什麼東西你才好debug。

    2.看程式碼

    主要看loss函式是否寫錯,整個模型搭建是否有錯。大致過程是:loss函式debug,捋一遍程式碼,在必要地方新增輸入輸出語句檢視執行情況。

    3.如果看不懂模型,看不懂程式碼,那就找原作者,看他是否有辦法。如果是github是clone的,那麼可以提issue,讓廣大網友幫你解決,還可能遇到和你相同問題的人 。

  • 中秋節和大豐收的關聯?
  • 你坐飛機最久花了多長時間?是哪裡飛哪裡?