gpt4 book ai didi

python - 在 PyTorch 中使用带有自调整优化器的调度程序

转载 作者:行者123 更新时间:2023-12-02 08:39:09 29 4
gpt4 key购买 nike

在PyTorch中,权重调整策略由优化器确定,学习率由调度器调整。当优化器是 SGD 时,只有一种学习率,这很简单。当使用 Adagrad、Adam 或任何类似的优化器(本质上会根据每个参数调整学习率)时,有什么特别需要注意的吗?由于算法会调整自己的学习率,我可以完全忽略调度程序吗?我是否应该以与使用 SGD 不同的方式对其进行参数化?

最佳答案

您为 ADAM 等优化器定义的学习率是上限。您可以在 paper 中看到这一点在第 2.1 节中。论文中的步长α就是学习率。

The effective magnitude of the steps taken in parameter space at each are approximately bounded by the stepsize setting α

此外,该步长α也直接使用并与学习的步长校正相乘。因此改变学习率,例如减少它会降低所有个体的学习率并降低上限。这在训练“结束”时很有帮助,可以减少总体步长,因此只发生较小的步长,并且可能有助于网络找到损失函数中的最小值。

我在一些使用 ADAM 的论文中看到学习率衰减,我自己也使用了它,它确实有帮助。我发现你应该比例如慢一些。与新元。对于一个模型,我只需每 10 个时期将其乘以 0.8。因此,我认为这是一个逐渐的衰减,比更剧烈的步骤效果更好,因为你不会让估计的动量“失效”太多。但这只是我的理论。

关于python - 在 PyTorch 中使用带有自调整优化器的调度程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60229897/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com