在模型定义中,我使用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