当 SGD 工作正常时,使用 Adam Optimizer 的准确性没有变化

机器算法验证 神经网络 优化 卷积神经网络 随机梯度下降 亚当
2022-04-07 14:49:25

我一直在 GTRSB 数据集上使用 DNN 训练 Spatial Transformer 网络。我最初使用带有动量的 SGF,并且能够达到很好的准确性。

为了进一步改进和测试,我决定将优化器更改为 Adam,但奇怪的是,经过相当多的 epoch 后,我没有看到训练或验证准确性有任何提高。

亚当是否可能不太适合这个数据集?(或者一般来说,优化器是否可以在一个数据集上工作但在其他数据集上工作正常?)

编辑:我尝试在学习率较低的较小数据集上运行 Adam(最初是 0.01,现在我将其设置为 0.001)。在较小的数据集上,它应该会提高准确性,但在较大的数据集上,问题仍然存在。

编辑 2:进一步将学习率降低到 0.0001 甚至使 Adam 可以处理更大的数据集。

谢谢

1个回答

亚当的好处最多是微不足道的。最初的结果很好,但有证据表明,与 SGD(或 SGD + 动量)相比,Adam 收敛到显着不同的最小值。

机器学习中自适应梯度方法的边际价值” Ashia C. Wilson、Rebecca Roelofs、Mitchell Stern、Nathan Srebro 和 Benjamin Recht

自适应优化方法使用从迭代历史构建的度量执行局部优化,在训练深度神经网络中变得越来越流行。示例包括 AdaGrad、RMSProp 和 Adam。我们表明,对于简单的过度参数化问题,自适应方法通常会找到与梯度下降 (GD) 或随机梯度下降 (SGD) 截然不同的解决方案。我们构建了一个说明性的二元分类问题,其中数据是线性可分的,GD 和 SGD 实现了零测试误差,而 AdaGrad、Adam 和 RMSProp 实现了任意接近一半的测试误差。我们还研究了自适应方法在几种最先进的深度学习模型上的经验泛化能力。我们观察到,通过自适应方法找到的解决方案的泛化能力比 SGD 更差(通常明显更差),即使这些解决方案具有更好的训练性能。这些结果表明,从业者应该重新考虑使用自适应方法来训练神经网络。

从个人经验来看,除非你设置一个小的学习率,否则亚当可能会遇到困难——这首先违背了使用自适应方法的全部目的,更不用说浪费在学习率上的所有时间了。