今天想在網絡中設置一下正則化項,百度了好久,發現caffe中的正則化情況如下:
caffe提供了兩種正則化,L1和L2,其中L2正則化項是默認存在的,在caffe.proto中可以找到,如下
// regularization types supported: L1 and L2
// controlled by weight_decay
optional string regularization_type = 29 [default = "L2"];
說明caffe默認使用的是L2正則化
那麼,我在solver文件中將它設爲L1豈不就是L1正則化了。雖然我在網上沒有直接的solver文件可以參考,不過試了試,確實是這樣子,,,,具體就是在solver文件中加下面一句:
regularization_type: "L1"
還有個點是 weight_decay 是乘在正則化向前面,控制正則化項在損失函數中所佔權重的。嗯,剛剛的收穫差不多就這些