我是机器学习领域的新手,最近听说了这个术语。我尝试阅读了一些网络上的文章,但仍然不理解其背后的概念。有人能给我一些例子吗?
回答:
在反向传播过程中,我们调整模型的权重以适应最新的训练结果。在一个行为良好的表面上,我们可以简单地使用牛顿法,并无问题地收敛到最优解。然而,现实很少是行为良好的,尤其是在随机初始化的模型的初始混乱中。我们需要用比下一次迭代尝试直接达到最优解(如牛顿法所做)更不随意的方式来遍历空间。
相反,我们对牛顿方法进行了两个修改。第一个是学习率
:牛顿通过使用局部梯度来计算解决方案应该在哪里,并直接进入下一次迭代的新输入值。学习率
大大缩小了这一点,沿着指示的方向采取较小的步骤。例如,0.1的学习率表示只走计算距离的10%。从那个新值,我们再次计算梯度,“悄悄接近”解决方案。这让我们在变化多端的表面上有更好的机会找到最优解,而不是在所有方向上超射或振荡过去它。
动量
参见此处 是保持一致方向的类似尝试。如果我们采取较小的步骤,保持我们空间中某种一致的方向也是有意义的。我们取前一个方向向量和新计算的梯度向量的线性组合,并朝那个方向调整。例如,如果我们有0.90的动量,我们将取90%的前一个方向加上10%的新方向,并相应地调整权重——将那个方向向量乘以学习率。
这有帮助吗?