参考http://ruder.io/optimizing-gradient-descent/index.html#batchgradientdescent

最基本的gradient descent:

几种常用Gradient descent optimization算法详解

1.Momentum

Momentum 是一种有助于在相关方向上加速SGD并抑制振荡的方法。它通过将上步的更新向量添加到当前的更新向量来实现。

几种常用Gradient descent optimization算法详解

γ通常是0.9或者类似的值。

2.Adagrad

Adagrad是一种参数自适应学习率算法,对常用的参数采用较小的更新,对不常用的参数采用较大更新。

几种常用Gradient descent optimization算法详解

几种常用Gradient descent optimization算法详解

几种常用Gradient descent optimization算法详解

建议学习速率设置为0.01,并保持不变。

3.RMSprop

几种常用Gradient descent optimization算法详解

建议γ设置为0.9,学习速率设置为0.001。

4.Adam

Adam同时具有AdaGrad 和 RMSProp 算法的优点,通过计算梯度的一阶矩估计和二阶矩估计为不同的参数设计独立的自适应性学习率。

几种常用Gradient descent optimization算法详解

几种常用Gradient descent optimization算法详解

几种常用Gradient descent optimization算法详解

beta1:一阶矩估计的指数衰减率。

beta2:二阶矩估计的指数衰减率。

epsilon:该参数是非常小的数,其为了防止在实现中除以零。

建议学习速率设置为0.001,β1设置为0.9,β2设置为0.999,ϵ设置为1e-08。

PS:

Adam在实际应用中效果良好,超过了其他的自适应技术。

几种优化算法的γ和ϵ是通用的,可以使用相同的值。


相关文章:

  • 2021-08-20
  • 2021-10-09
  • 2022-02-27
  • 2021-11-27
  • 2022-01-18
  • 2021-10-08
  • 2023-01-14
猜你喜欢
  • 2021-05-21
  • 2022-12-23
  • 2021-11-22
  • 2021-12-19
  • 2021-10-20
  • 2021-06-19
相关资源
相似解决方案