Machine learning 在哪种情况下,最好使用SGD优化器

Machine learning 在哪种情况下,最好使用SGD优化器,machine-learning,keras,artificial-intelligence,tensorflow2.0,Machine Learning,Keras,Artificial Intelligence,Tensorflow2.0,我是ML新手,我发现选择优化器很困难有很多优化器,但我不知道什么时候使用随机梯度下降优化器以及为什么使用它?我的理解是:像ADAM这样的现代、复杂的梯度下降算法比SGD使用更多的计算能力。他们在下台阶之前先尝试一下。当使用更深层次的神经网络架构时,这种额外的复杂性非常有用。这种结构可能具有非常复杂的损失超曲面,具有多个鞍点和局部极小值。ADAM及其亲属在这些情况下很好地找到了解决方案 如果您的模型架构更简单,那么显然额外的努力是不值得的。随机梯度下降法适用于简单模型,如果添加Nesterov动量

我是ML新手,我发现选择优化器很困难有很多优化器,但我不知道什么时候使用随机梯度下降优化器以及为什么使用它?

我的理解是:像ADAM这样的现代、复杂的梯度下降算法比SGD使用更多的计算能力。他们在下台阶之前先尝试一下。当使用更深层次的神经网络架构时,这种额外的复杂性非常有用。这种结构可能具有非常复杂的损失超曲面,具有多个鞍点和局部极小值。ADAM及其亲属在这些情况下很好地找到了解决方案

如果您的模型架构更简单,那么显然额外的努力是不值得的。随机梯度下降法适用于简单模型,如果添加Nesterov动量和权重衰减,通常可以比使用ADAM更快地收敛到解

使用SGD的另一个地方是用普通最小二乘法代替求解非常大的线性回归。理论上,任何可逆矩阵都可以精确求解。但在现代,完全有可能出现矩阵求逆问题,其中间项需要比RAM中更多的内存。在这种情况下,新加坡元是解决问题的更实际的方法