优化算法中的“带冲量”是什么意思?英文是momentum。怎么理解“冲量”以及“带冲量”?
好像还有一种说法是“动量”,但是我也不是很清楚。
谢谢!
1个回答
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$。
SofaSofa数据科学社区DS面试题库 DS面经