caffe 下一些參數的設置

weight_decay防止過擬合的參數,使用方式:
1 樣本越多,該值越小
2 模型參數越多,該值越大
一般建議值:
weight_decay: 0.0005

lr_mult,decay_mult
關於偏置與參數使用不同的學習率與權重衰減項:
1 偏置的學習率一般爲參數的兩倍
比如一個卷積,有偏置的話,其學習率應該是
  param { lr_mult: 1 }

  param { lr_mult: 2 } 

偏置設爲2倍,能夠加速收斂

對於偏置,其衰減項一般設置爲0,還是對應上面的卷積:
  param { lr_mult: 1
          decay_mult:1 }
  param { lr_mult: 2 
          decay_mult:0} 


批處理,批處理中需要加上3個0,即批處理的參數是根據上一批的數據進行滑動平均來更新,而不是根據梯度來更新:
  param { lr_mult: 0 
          decay_mult:0} 
  param { lr_mult: 0 
          decay_mult:0}           
  param { lr_mult: 0 
          decay_mult:0} 
還有參數:use_global_stats
在訓練時要設置爲false,代表需要批處理的均值方差要參考全局信息來更新
在測試時,要爲true,代表不使用自己均值方差和全局的均值方差來得到批處理的均值和方差,而是使用全局均值方差,即訓練好的均值方差
另一個參數:moving_average_fraction
代表參考訓練時均值方差更新的速度,默認是0.999,參考值是0.9~0.999之間
最後一個參數eps:

防止批處理時除以0,默認值是1e-5


caffe 下與loss相關的一些說明:
1 train loss 不斷下降,test loss 不斷下降,說明網絡正在學習
2 train loss 不斷下降,test loss 趨於不變,說明網絡過擬合
3 train loss 趨於不變,test loss 趨於不變,說明學習遇到瓶頸,需要減小學習率或者批處理大小
4 train loss 趨於不變,test loss 不斷下降,說明數據集100%有問題
5 train loss 不斷上升,test loss 不斷上升(最終變爲NaN),可能是網絡結構設計不當,訓練超參數設置不當,程序bug等某個問題引起
6 train loss 不斷上下跳動,可能引起的原因:學習率過大,或者批處理大小太小


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