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