AdamOptimizer和随机梯度下降法SGD的区别


Adam 这个名字来源于adaptive moment estimation,自适应矩估计, 如果一个随机变量 X 服从某个分布,X 的一阶矩是 E(X),也就是样本平均值,X 的二阶矩就是 E(X^2),也就是样本平方的平均值。Adam 算法根据损失函数对每个参数的梯度的一阶矩估计和二阶矩估计动态调整针对于每个参数的学习速率。 TensorFlow提供的tf.train.AdamOptimizer可控制学习速度。 Adam 也是基于梯度下降的方法,但是每次迭代参数的学习步长都有一个确定的范围,不会因为很大的梯度导致很大的学习步长,参数的值比较稳定。it does not require stationary objective, works with sparse gradients, naturally performs a form of step size annealing。 AdamOptimizer通过使用动量(参数的移动平均数)来改善传统梯度下降,促进超参数动态调整。

SGD介绍

假如我们要优化一个函数 ,即找到它的最小值, 常用的方法叫做Gradient Descent (GD), 也就是最速下降法. 说起来很简单, 就是每次沿着当前位置的导数反方向走一小步, 走啊走啊就能够走到一个好地方了.
什么是鞍点

AdamOptimizer和随机梯度下降法SGD的区别_第1张图片

你可能感兴趣的:(AI)