Gradient descent with momentum 动量梯度下降算法
运用指数加权平均算法,计算梯度的指数加权平均,然后用这个梯度来更新权重。
- 当使用梯度下降时,下降路径可能会和上图蓝色路径相似,不断震荡;所以我们不能用比较大的learning_rate,以防出现如紫色路径一样的diverging。
- 通过使用指数加权平均,在纵坐标(以上图阐述)方向的来回震荡通过加权之后,会相互抵消而减小;在横坐标方向,因为都是朝向最低点的方向,因此加权平局会叠加而增大;从而得到红色路径(步数更少,速度更快)。
Vdw=βVdw+(1−β)dw V d w = β V d w + ( 1 − β ) d w
Vdb=βVdb+(1−β)db V d b = β V d b + ( 1 − β ) d b
w:=w−αVdw w := w − α V d w
b:=b−αVdb b := b − α V d b - (1−β)dw ( 1 − β ) d w , (1−β)db ( 1 − β ) d b 可以看作是加速度,从而加速梯度下降
- 实践中, β=0.9 β = 0.9 的效果很不错,可以尝试其他值,不过0.9是一个稳健的数值
- 初始化 Vdw=0, Vdb=0 V d w = 0 , V d b = 0
- 在gradient descent with momentum中不使用Bias correction Vdw1−βt V d w 1 − β t ,因为通常十次以后,就稳定了。
- Gradient descent with momentum几乎总是优于没有动量的梯度下降法