SGD 的动量为 0.9 和 0.99

Momentum 0.9 and 0.99 in SGD

我有一个 SGD 求解器:

base_lr: 1e-2    
lr_policy: "step"
gamma: 0.1       
stepsize: 10000  
max_iter: 300000  
momentum: 0.9

作为 Caffe 文档中的建议,他们说 "if you increase μ, it may be a good idea to decrease α accordingly (and vice versa)"。因此,如果我选择动量是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.9)相比,使用更大的动量(即 0.99)有什么好处?

感谢您的澄清。不,这不是直接相关。您需要的更改量是您通过对数据集和 max_iter(也需要调整)进行实验来确定的。您可能会发现动量 0.99 的最佳 lr 是 1e-3、1e-5 或其他。您可能会发现 0.99 对于最佳结果来说太重了,您需要退回到 0.92 或 0.97

如果没有关于情况的适当细节,我无法猜测什么比我刚才给出的猜测范围更适合你。我的工作更侧重于调整其他超参数; momentum = 0.90 为我们所有的应用程序提供了很好的服务。