關於訓練時Loss值不變解決辦法

  • loss: 實際輸出值和標籤值之間的誤差距離。
  • 交叉熵: 刻畫了兩個概率分佈之間的距離。
  • 反向更新權重: 有了損失函數,知道了實際輸出和真實值之間的距離,用梯度求導更新權重。
  • 學習率:公式中的a就是學習率,表示的是每次權重更新的大小。
  • 學習率設置:當學習率設置過大,x會在谷間震動,並沒有更新。可以設置隨着步伐增加,減小學習率。

loss和accuracy不變時

  1. 降低學習率(已驗證)
  2. 減小初始化權重
  3. 如果有BN(batch normalization)層,finetune時最好不要凍結BN的參數,否則數據分佈不一致時很容易使輸出值變得很大(注意將batch_norm_param中的use_global_stats設置爲false )。
  4. 觀察數據中是否有異常樣本或異常label導致數據讀取異常

https://blog.csdn.net/bishen8589/article/details/88344441?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
https://blog.csdn.net/zongza/article/details/89185852

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章