它说
注意动量设定μ 有效地将您的更新大小乘以1 /(1-μ) 经过多次迭代训练后,如果增加μ ,相应地减少α可能是一个好主意(反之亦然)。
我的问题是:
为什么1 /(1-μ),如何证明?
- 醇>
为什么根据增加的μ减少α是个好主意?
答案 0 :(得分:3)
简单地说,它是几何级数的总和。
动量更新意味着“速度”和“位置”更新如下:
v =μ* v +α*梯度
θ=θ - v
现在,假设最初v = 0并且梯度保持(几乎)不变(为方便起见,则为1),速度演变为:
(使用无限几何级数之和的公式)
编辑:要回答问题的第二部分,(在下面添加@ Prune的答案),1 /(1 - μ)*α的行为或多或少类似于“有效学习率” 。因此,如果某个特定的α值在您更改μ之前运行良好,则应通过降低α来进行补偿以保持“有效学习率”不变。这与在没有动量的情况下选择梯度下降的正确学习率同样重要。
答案 1 :(得分:2)
说到第二点,您通常希望将速度调整为与您的问题兼容的值。速度描述了估算的解决方案点的移动。如果速度太小,则收敛太慢,和/或过度拟合;如果它太大,你可以在解决方案点周围挣扎,甚至无法收敛。
大多数算法都会对第二个问题进行控制,每当我们发现新的最佳损失时,通常只需将α减小一小部分(如.01)。您需要控制的部分是您的初始设置。如果增加μ使得1 /(1-μ)上升1.25倍,请尝试将α减少20%以进行补偿。