卷積網路的輸出幾乎都是零,損失一直比較穩定,在4左右。

這是為什麼呢?如何解決呢?調參時不知該從哪裡入手,還望大佬解答!


可能是中間出現了nan或inf,用tfdbg看看吧

什麼框架寫的?做的什麼任務?損失4是大是小(損失函數是什麼)?

看你說前兩層還有意義的輸出,後面就沒有了,而且看起來像是有池化層,如果損失值很穩定,很有可能是梯度沒有了,訓練陷入了某個極值點出不來。

如果dataloader有問題,一般損失會無意義震蕩;而現在梯度下降一般用現成api,不大可能出錯,那麼你的網路有幾層?有可能層數過深導致梯度現實?

======

如果是單純的原始的分類網路,沒有用到任何解決梯度消失的方法,嘗試一下不同的初始化方法和步長,在停止下降的時候降低步長值,並且多訓練幾次迭代看看效果。

P.S: 如果是初學的話不建議自己從零開始寫,從model和hub上就能找到不少成熟的模型和周邊模塊。


怕不是初始化的時候把權重全都初始化為0了啊


在確定代碼沒有問題的前提下,首先嘗試降低學習率


推薦閱讀:
相關文章