机器学习的动力是什么?

时间:2019-06-06 17:34:30

标签: machine-learning artificial-intelligence

我是机器学习领域的新手,最近我听说了这个词。我试图阅读互联网上的一些文章,但我仍然不明白它背后的想法。有人可以给我一些例子吗?

2 个答案:

答案 0 :(得分:3)

动量是梯度下降算法中使用的术语。

梯度下降是一种优化算法,其工作原理是在当前状态下找到最陡坡的方向,并通过向该方向移动来更新其状态。结果,在每个步骤中保证了要最小化的功能的值在每个步骤中都会减小。问题在于该方向在功能的某些点上可能会发生很大变化,而最好的走线通常不包含很多转弯。因此,我们希望使算法在改变方向之前保持其已经经过的方向一段时间。为此,引入了动量。

对此的一种思考方式是想象一块石头从山上滚下来,直到停在平坦的区域(局部最小值)为止。如果从山上滚下来的石头碰巧经过了最陡的方向改变了片刻的时间,我们就不会指望它会完全改变方向(因为它的物理动量使它继续前进)。但是,如果完全改变坡度的方向,石头将逐渐朝着最陡的下降方向逐渐改变方向。

这是一个详细的链接,您可能想查看其背后的数学知识,或者只是看看动量的作用:

https://towardsdatascience.com/stochastic-gradient-descent-with-momentum-a84097641a5d

答案 1 :(得分:3)

在反向传播期间,我们正在调整模型的权重以适应最新的训练结果。在一个表现良好的表面上,我们将简单地使用牛顿法并毫无问题地收敛到最优解。但是,现实很少表现得很好,尤其是在随机初始化模型的最初混乱中。我们需要比尝试在下一次迭代中达到最佳状态的全尺寸尝试(如牛顿方法所做的那样)更加随意地遍历空间。

相反,我们对牛顿的方法进行了两项修正。第一个是learning rate:牛顿调整了权重,方法是使用局部梯度来计算解的位置,并直接转到下一个迭代的新输入值。 Learning rate将其缩小很多,朝指示的方向迈出了一步。例如,学习率为0.1表示只走了计算距离的10%。从该新值开始,我们再次计算梯度,使解决方案“潜入”。这使我们有更好的机会在变化的表面上找到最佳位置,而不是在各个方向上都过冲或振荡。

Momentum see here是维持一致方向的类似尝试。如果我们采取较小的步骤,那么在我们的空间中保持一定的一致前进方向也是有意义的。我们将先前的航向矢量和新计算的梯度矢量进行线性组合,并在该方向上进行调整。例如,如果动量为0.90,我们将取前一个方向的90%加新方向的10%,并相应地调整权重-将方向向量乘以学习率。

有帮助吗?