machine-learning - 动量 0.9 和 0.99 新元

标签 machine-learning neural-network deep-learning caffe

我有一个 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/

相关文章:

opencv - 如何根据实时流数据中的某些过滤器(例如交通信号)进行分割

machine-learning - Huggingface gpt2语言模型代码中perplexity计算在哪里?

c# - HTML文本分析

neural-network - 使用反向传播训练的人工神经网络中的误差函数

tensorflow - 谷歌 Colab : Why is CPU faster than TPU?

machine-learning - 多个传感器=多个深度学习模型?

python - 给定一个用给定基向量构建的函数,逼近矩阵的值

algorithm - 关于不同 k-means 算法的质量

C# 开发一个简单的销售预测系统?

matlab - 在 Matlab 中使用 PCA 和神经网络进行预处理后预测误差较高