我有一个SGD解算器:
base_lr: 1e-2
lr_policy: "step"
gamma: 0.1
stepsize: 10000
max_iter: 300000
momentum: 0.9作为Caffe文档中的建议,他们说:“如果您增加了μ,那么相应地减少α可能是个好主意(反之亦然)”。因此,如果我选择动量是0.99,那么我认为base_lr必须是1e-4
base_lr: 1e-4
lr_policy: "step"
gamma: 0.1
stepsize: 10000
max_iter: 300000
momentum: 0.99我说的对吗?我也需要增加stepsize吗?与较小的动量(即0.99)相比,使用更大的动量(即0.9)有什么好处?
发布于 2017-05-31 18:57:17
谢谢你的澄清。不,这不是直接的关联。您需要的更改量是通过对数据集和max_iter (这也需要调优)进行实验来确定的。你可能会发现,动量0.99的最佳lr是1e-3,1e-5或其他什么。您可能会发现,对于最好的结果来说,0.99太重了,您需要退到0.92或0.97
如果没有关于情况的适当细节,我猜不出什么比我刚才给出的猜测范围更适合你。我的工作更多地集中在其他超参数的调优上;动量= 0.90为我们所有的应用程序提供了很好的服务。
https://stackoverflow.com/questions/44283166
复制相似问题