我有一个 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
我说得对吗?我还需要增加步长
吗?与较小的动量(即 0.9
)相比,使用较大的动量(即 0.99
)有什么好处?
最佳答案
感谢您的澄清。不,这不是直接相关性。您需要的更改量是通过对数据集和 max_iter 进行实验来确定的(也需要调整)。您可能会发现动量 0.99 的最佳 lr
是 1e-3、1e-5 或其他值。您可能会发现 0.99 对于最佳结果来说太重了,您需要退回到 0.92 或 0.97
如果没有有关情况的适当详细信息,我无法猜测什么比我刚刚给出的猜测范围更适合您。我的工作更多地集中在调整其他超参数上;动量 = 0.90 非常适合我们所有的应用程序。
关于machine-learning - 动量 0.9 和 0.99 新元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44283166/