在模型定義中,我使用kernel_regularizer=tf.contrib.layers.l2_regularizer(scale=0.00001)
加入tf.layers.conv2d()
來調整每個卷積層中的卷積核。我們是否需要將正則化損失添加到張量流模型的總損失中?
我的問題是:計算整個網絡的某些批次投入的總損失,我們需要手動添加正規化損失如下:
reg_losses = tf.get_collection(tf.GraphKeys.REGULARIZATION_LOSSES)
reg_constant = 0.01 # Choose an appropriate one.
loss = my_normal_loss + reg_constant * sum(reg_losses)
,如果是,如何確定reg_constant
以上? scale
和reg_constant
之間有什麼關係?謝謝。
嗨,非常感謝您的回答!是的,如果我理解正確,reg_constant可能是權重衰減的全局乘法因子,scale是每層中每個權重的局部因子權重衰減(例如卷積,完全連接)。就像'caffe'一樣。是的,你說得對,需要網格搜索來選擇這些超參數。爲每個層選擇每個局部衰減因子非常困難,特別是對於那些非常深的網絡。如何初始化權重也非常重要。這麼困難... – mining