优化算法中的“带冲量”是什么意思?

  统计/机器学习 数值计算 最优化 人工神经网络    浏览次数: 165
2

优化算法中的“带冲量”是什么意思?英文是momentum。怎么理解“冲量”以及“带冲量”?


好像还有一种说法是“动量”,但是我也不是很清楚。


谢谢!

 

稻草人lyd   2018-09-01 01:09



   1个回答 
5

momentum就是说每次更新时也考虑前一步的变化。

比如我们熟悉的SGD,迭代步骤是这样的

$$\beta_{i+1}=\beta_i+u_i$$

$u_i$是每次调整的大小,对于SGD,$u_i=-\alpha \nabla_i$。

对于SGD with momentum,迭代公式中的$u_i$就成了

$$u_i = -\alpha \nabla_i + \nu u_{i-1}$$

其中$\nu$是momentum参数,越大就代表过去的梯度权重更大。

用图表示的话,绿色表示之前的迭代方向$u_{i-1}$,红色表示当前根据梯度计算的方向,蓝色就是实际更新$u_i$。

蘑菇蘑菇   2018-09-04 21:34



  相关主题

线性回归有精确的解析解为什么还要用梯度下降得到数值解?   4回答

用SGD时陷入局部最优解的解决方法   3回答

为什么梯度的反方向是函数下降最快的方向?   3回答

牛顿法到底是一阶优化算法还是二阶优化算法?   2回答

梯度上升算法是什么?   2回答

对于小批量随机剃度下降法(mini-batch SGD),如何选择每批样本的数量?   1回答

随机平均梯度法(Stochasitc Average Gradient)和随机梯度下降(SGD)有什么区别   3回答

最速下降法与梯度下降法   1回答

随机梯度下降(sgd)的收敛问题   3回答

RMSProp的直白解释   1回答

Adam优化算法   1回答

什么是Hessian矩阵和Jacobian矩阵   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!