Caffe 中的“weight_decay”元参数是什么?
What is `weight_decay` meta parameter in Caffe?
看一个例子 'solver.prototxt'
,发布在 BVLC/caffe git,有一个训练元参数
weight_decay: 0.04
这个元参数是什么意思?我应该赋予它什么价值?
权重衰减是一个惩罚大权重的正则化项。
当权重衰减系数大时,对大权重的惩罚也大,当权重小时,权重可以自由增长。
看看这个答案(不是特定于caffe)以获得更好的解释:
Difference between neural net "weight decay" and "learning rate".
weight_decay
元参数控制神经网络的正则化项。
在训练期间,正则化项被添加到网络的损失中以计算反向传播梯度。 weight_decay
值决定了这个正则化项在梯度计算中的主导地位。
根据经验,你拥有的训练样本越多,这个术语应该越弱。您拥有的参数越多(即,更深的网络、更大的过滤器、更大的 InnerProduct 层等),此项应该越高。
Caffe 还允许您通过设置 L2
正则化(默认)和 L1
正则化进行选择
regularization_type: "L1"
然而,由于在大多数情况下权重是小数(即 -1<w<1
),因此权重的 L2
范数明显小于它们的 L1
范数。因此,如果您选择使用 regularization_type: "L1"
,您可能需要将 weight_decay
调整为一个小得多的值。
虽然学习率在训练期间可能(并且通常会)发生变化,但正则化权重始终是固定的。
看一个例子 'solver.prototxt'
,发布在 BVLC/caffe git,有一个训练元参数
weight_decay: 0.04
这个元参数是什么意思?我应该赋予它什么价值?
权重衰减是一个惩罚大权重的正则化项。 当权重衰减系数大时,对大权重的惩罚也大,当权重小时,权重可以自由增长。
看看这个答案(不是特定于caffe)以获得更好的解释: Difference between neural net "weight decay" and "learning rate".
weight_decay
元参数控制神经网络的正则化项。
在训练期间,正则化项被添加到网络的损失中以计算反向传播梯度。 weight_decay
值决定了这个正则化项在梯度计算中的主导地位。
根据经验,你拥有的训练样本越多,这个术语应该越弱。您拥有的参数越多(即,更深的网络、更大的过滤器、更大的 InnerProduct 层等),此项应该越高。
Caffe 还允许您通过设置 L2
正则化(默认)和 L1
正则化进行选择
regularization_type: "L1"
然而,由于在大多数情况下权重是小数(即 -1<w<1
),因此权重的 L2
范数明显小于它们的 L1
范数。因此,如果您选择使用 regularization_type: "L1"
,您可能需要将 weight_decay
调整为一个小得多的值。
虽然学习率在训练期间可能(并且通常会)发生变化,但正则化权重始终是固定的。