【发布时间】:2020-05-13 06:51:42
【问题描述】:
我是 ML 新手,我发现在选择优化器时遇到困难,有很多优化器,但我很困惑何时使用随机梯度下降优化器,为什么?
【问题讨论】:
标签: machine-learning keras artificial-intelligence tensorflow2.0
我是 ML 新手,我发现在选择优化器时遇到困难,有很多优化器,但我很困惑何时使用随机梯度下降优化器,为什么?
【问题讨论】:
标签: machine-learning keras artificial-intelligence tensorflow2.0
这是我的理解:ADAM 等现代、复杂的梯度下降算法比 SGD 使用更多的计算能力。他们会先尝试一步,然后再下坡。在使用更深层次的神经网络架构时,这种额外的复杂性非常有用。这种架构可能具有非常复杂的损失超曲面,具有多个鞍点和局部最小值。在这些情况下,ADAM 及其亲属在寻找解决方案方面做得很好。
如果您的模型架构更简单,那么额外的努力显然是不值得的。随机梯度下降适用于简单模型,如果您添加 Nesterov 动量和权重衰减,您通常可以比使用 ADAM 更快地收敛到一个解决方案。
另一个使用 SGD 的地方是用普通的最小二乘法代替非常大的线性回归。理论上,任何可逆矩阵都可以精确求解。但在现代,完全有可能出现矩阵求逆问题,其中间项需要比 RAM 更多的内存。在这种情况下,SGD 是解决问题的更实用的方法。
【讨论】: