在訓練CNN時,loss穩定在log(類別數)


參見知乎問題!

https://www.zhihu.com/question/275774218

很多框架都會有一個問題,當卷積 weight NaN 之后,卷積的 output 會變成 NaN。然后過了一個 FC,就變成正常的數字了,但是這時候所有 channel 的 output 值相同。

建議打印中間卷積層 output 以檢查是否是這個情況。

 

相關問題:解決Caffe訓練過程中loss不變問題 - CSDN博客

  • loss = −log(p),p=0.5的時候,loss剛好是0.69。看看輸出是否都是一樣的
  • 挑幾個層看看,weight值是否NaN
  • 檢查是否代碼問題,是否有bug;調參數、learning rate等看看

 

我以前也碰到過這個問題,0.69, 2.302表明網絡就是在隨機的猜。我遇到過下面兩種原因

1.可能是你的代碼有bug,尤其注意一下讀數據和讀label有沒有搞錯,以及data augmentation的有沒有寫出大問題。

2.你有沒有加weight decay,這點很關鍵。你可以看看你網絡學出的weight尤其是bias,是不是很大(比如100,-80啊這種), 尤其是最后的fc層。





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM