一、Caffe网络定义:lr_mult和decay_mult
通常在 Caffe 的网络定义中,某些 layer 会有如下参数:
param {
lr_mult: x
decay_mult: y
}
- 当令 lr_mult = x 时,相当于该层的学习率为 solver.prototxt 中的 base_lr * x;
- 特别地,当 lr_mult = 1 时,相当于该层的学习率就是 base_lr;
- 当 lr_mult = 0 时,相当于固定该层的权重,不需要学习;
- 当没有设置 lr_mult 和 decay_mult 时,默认等于 1,也就是该层的参数按照 base_lr 进行学习;
如果看到某一层 lr_mult 和 decay_mult 都设为 0,就要考虑该层的参数不是通过更新权重得到的(也就是非学习来的),所以需要均设为 0。
二、Caffe中的decay_mult怎么理解呢?
decay_mult是正则化的权重,防止过拟合用的。为了防止模型参数太复杂导致过拟合,一般在目标函数计算的时候加入了正则项,所谓的weight_decay其实就是正则项前面的那个权值,设置偏大可以令模型在学习过程中约束参数的复杂程度。
而在caffe当中,除了全局设置的学习率lr和权重衰

本文深入解析了Caffe深度学习框架中网络定义的关键参数lr_mult和decay_mult的作用及设置原则,详细介绍了它们如何影响学习率和正则化,特别是在BatchNorm和Scale层中的应用。
最低0.47元/天 解锁文章
331





