我们应该对 Adam 优化器进行学习率衰减吗

问题描述 投票:0回答:8

我正在使用 Adam 优化器训练图像定位网络,有人建议我使用指数衰减。我不想尝试这个,因为 Adam 优化器本身会降低学习率。但那家伙坚持说他以前就这么做过。那么我应该这样做吗?你的建议背后有什么理论吗?

neural-network tensorflow
8个回答
162
投票

这要看情况。 ADAM 使用单独的学习率更新任何参数。这意味着网络中的每个参数都有一个特定的相关学习率。

但是每个参数的单个学习率是使用 lambda(初始学习率)作为上限计算的。这意味着每个学习率可以从 0(无更新)到 lambda(最大更新)变化。

确实,学习率会在训练步骤中自行调整,但如果您想确保每个更新步骤不超过 lambda,您可以使用指数衰减或其他方式降低 lambda。 当使用先前关联的 lambda 参数计算出的损失停止减少时,它可以帮助减少训练的最新步骤中的损失。


52
投票

根据我的经验,通常不需要使用 Adam 优化器进行学习率衰减。

理论是 Adam 已经处理了学习率优化(检查参考):

“我们提出了 Adam,一种有效的随机优化方法, 仅需要一阶梯度,内存需求很少。 该方法计算不同的个体自适应学习率 来自第一和第二矩估计的参数 梯度; Adam 这个名字源自自适应矩估计。”

与任何深度学习问题 YMMV 一样,一种方法并不适合所有情况,您应该尝试不同的方法,看看哪种方法适合您,等等。


37
投票

是的,绝对如此。根据我自己的经验,这对于 Adam 的学习率衰减非常有用。如果没有衰减,你必须设置一个非常小的学习率,这样损失在减少到一定程度后就不会开始发散。在这里,我发布了使用 Adam 并使用 TensorFlow 进行学习率衰减的代码。希望对某人有帮助。

decayed_lr = tf.train.exponential_decay(learning_rate,
                                        global_step, 10000,
                                        0.95, staircase=True)
opt = tf.train.AdamOptimizer(decayed_lr, epsilon=adam_epsilon)

16
投票

Adam 有一个单一的学习率,但它是一个自适应的最大速率,所以我认为没有多少人使用它的学习率调度。

由于自适应性质,默认率相当稳健,但有时您可能想要优化它。您可以做的是预先找到最佳违约率,从一个非常小的比率开始并增加它直到损失停止减少,然后查看损失曲线的斜率并选择与损失最快减少相关的学习率(不是损失实际上最低的点)。 Jeremy Howard 在 fast.ai 深度学习课程及其循环学习率论文中提到了这一点。

编辑: 人们最近开始与 Adam 结合使用单周期学习率策略,并取得了很好的效果。


3
投票

在使用普通 Adam 优化器的权重衰减时要小心,因为使用权重衰减时,普通 Adam 公式似乎是错误的,如文章 解耦权重衰减正则化 https://arxiv.org/abs 中所指出的/1711.05101.

当您想使用 Adam 进行权重衰减时,您可能应该使用 AdamW 变体。


1
投票

一个简单的替代方法是增加批量大小。每次更新的样本数量较多将迫使优化器对更新更加谨慎。如果 GPU 内存限制了每次更新可跟踪的样本数量,您可能不得不求助于 CPU 和传统 RAM 进行训练,这显然会进一步减慢训练速度。


1
投票

从另一个角度看

所有随机梯度下降 (SGD) 优化器,包括 Adam,都已构建随机化,并且不能保证达到全局最小值

经过几次 减少次数,即可得到满意的局部极值。 因此,使用学习衰减不会帮助达到全局最小值,因为它应该有帮助。

此外,如果你使用它,学习率最终会变得非常 太小,算法就会变得无效。


0
投票

我自己想知道 ADAM 优化器是否需要 LR 调度。我读了Wenmin Wu和Austin的答案,觉得值得一试。我在实验中尝试过并观察到显着的收益。我附上实验中的损失图来分享我的观察结果。蓝色曲线是train_MAE,橙色曲线是val_MAE(忘记添加图例:))。

MAE loss without LR schedule, LR = 0.01

MAE loss with LR schedule, initial_LR = 0.01 and LR_decay = 0.8 after every 5 epochs

我知道这是经验证据,但我想说的是,尝试使用 ADAM 进行 LR 调度是个好主意,因为它可能会极大地提高收敛性。

© www.soinside.com 2019 - 2024. All rights reserved.