为什么 RMSProp 的收敛速度比 Momentum 快?

数据挖掘 优化
2021-09-20 03:55:04

为什么在很多情况下 RMSProp 的收敛速度比 Momentum 快?

势头:

vdW:=βvdw+(1β)dW
W:=Wαvdw

RMSProp:

Sdw:=BSdw+(1B)(dW)2
W:=WαdWSdw

在哪里α是学习率(0.01 等),β是动量项(0.9 等),类似于 B

在我看来,动量和 RMSProp 都有“保持移动的趋势”。好吧,我可以看到 RMSprop 如何在平面上自然加速,因为

1Sdw

什么时候Sdw很小,但是 RMSprop 提供了另一个好处吗?

2个回答

基本的直觉是,不同维度的学习率不应该相同。例如,您可以在一个方向上具有高坡度,但在另一个方向上则不行。因此,两个方向的速度不应相同。动量增加了加速度。假设梯度是你的瞬时速度,平均值是你的平均速度。动量实际上是粘度或某种摩擦。假设您接近最佳点,您的梯度变为零并且您的平均值较低,这意味着您的速度变化缓慢。它们都有 alpha 项,但将使用的是运行平均值,只是一种易于计算的平均值。看看herehere进行类比。

动量是线性的并提供更新速度

RMSprop 贡献了过去“平方梯度”的指数衰减平均值

在 RMS Prop 通过使用平均值,我们实际上试图减少垂直移动,因为它们在平均时总和为 0(大约)。

RMS 提供更新的平均值

Adam 使用 RMS prop 和 Momentum Speed 和 Average of update 结合在一起,平均而言,它将加快需要更多更新的方向

这三个都比没有指数加权平均的随机梯度体面快,最坏情况下使用动量,不要进行正常的权重更新