自适应学习速率SGD优化算法

发布于 2021-02-04 13:21:41

梯度下降法是一种最流行的算法来执行优化和迄今为止最常见的方式来优化神经网络。同时,每个最先进的深度学习库都包含各种算法的实现,以优化梯度下降(例如,千层面、咖啡馆和凯拉斯的文档)。然而,这些算法通常被用作黑盒优化器,因为很难找到它们的优缺点的实际解释。

这篇博文的目的是为你提供关于优化梯度下降的不同算法的行为的直觉,这将帮助你使用它们。我们首先来看看梯度下降的不同变体。然后,我们将简要总结培训期间的挑战。随后,我们将介绍最常见的优化算法,通过展示它们解决这些挑战的动机,以及这如何导致其更新规则的推导。我们还将简要介绍在并行和分布式环境中优化梯度下降的算法和体系结构。最后,我们将考虑有助于优化梯度下降的其他策略。

梯度下降法是一种通过在目标函数的梯度w.r.t.的相反方向上更新参数来最小化由模型参数所参数化的目标函数的方法。学习率决定了我们达到(局部)最小值所采取的步骤的大小。换言之,我们沿着目标函数所产生的曲面坡度的方向下山,直到到达山谷。如果你不熟悉梯度下降法,你可以在这里找到一个很好的介绍优化神经网络。

梯度下降变体

梯度下降法有三种变体,它们在计算目标函数的梯度时使用的数据量不同。根据数据量,我们在参数更新的准确性和执行更新所需的时间之间进行权衡。{%ee4a2b9cf40aba7c8e12f89679ed03d4|Meta-calculations of Quantitative SWOT Analysis: A Crosstab Approach|i-das|i-das|2015|10.15556/ijsim.02.02.004%}

1 条评论

发布
问题