Tensorflow 反向传播过程中是否始终使用梯度下降更新权重?

Tensorflow 反向传播过程中是否始终使用梯度下降更新权重?,tensorflow,machine-learning,deep-learning,gradient-descent,backpropagation,Tensorflow,Machine Learning,Deep Learning,Gradient Descent,Backpropagation,梯度下降、rmsprop和adam是优化器。假设我在编译模型时使用了adam或rmsprop优化器,即model.compile(optimizer=“adam”) 我的疑问是,现在在反向传播过程中,是使用梯度下降来更新权重还是使用Adam来更新权重?我们使用梯度下降来计算梯度,然后通过反向传播来更新权重。有很多优化器,像你提到的,还有更多 优化器使用自适应学习速率。有了自适应损耗,我们就有了更多的自由度,可以在y方向上提高学习速度,在x方向上降低学习速度。它们不会停留在一个方向上,它们能够在一

梯度下降、rmsprop和adam是优化器。假设我在编译模型时使用了adam或rmsprop优化器,即model.compile(optimizer=“adam”)


我的疑问是,现在在反向传播过程中,是使用梯度下降来更新权重还是使用Adam来更新权重?

我们使用梯度下降来计算梯度,然后通过反向传播来更新权重。有很多优化器,像你提到的,还有更多

优化器使用自适应学习速率。有了自适应损耗,我们就有了更多的自由度,可以在y方向上提高学习速度,在x方向上降低学习速度。它们不会停留在一个方向上,它们能够在一个方向上对另一个方向进行更多的遍历

RMSprop对梯度历史使用类似动量的指数衰减。极端过去的梯度影响较小。它通过将梯度累积更改为指数加权移动平均值,改进了AdaGrad优化器,使其在非凸环境中表现更好

Adam(自适应矩)调用梯度矩的1次方和2次方,并在这两个矩上使用类似动量的衰减。此外,它使用偏差校正来避免力矩的初始不稳定性

如何选择一个?

这取决于我们试图解决的问题。最好的算法是能够很好地遍历该问题的损失的算法


它比数学更经验性

我恳请您重新阅读确切的问题:对于
model.compile(optimizer=“adam”)
,“是使用梯度下降法更新权重还是使用adam更新权重?”@desertnaut您能澄清我的疑问吗。GD使用更新规则吗w@cosa__再一次,这与OP提出的具体问题有什么关系?Adam、RMSprop等都是基本(“普通”)随机梯度下降(SGD)算法(优化器)的变体/扩展/改进。使用
optimizer=“adam”
,adam(同样是SGD变体)将用于重量更新;使用
optimizer=“sgd”
,将使用普通sgd。我恳请您看看相关概念,例如。