Neural network caffe解决方案文件。如何理解动量μ;影响系数为$1/(1-μ;)$?

Neural network caffe解决方案文件。如何理解动量μ;影响系数为$1/(1-μ;)$?,neural-network,deep-learning,caffe,gradient-descent,Neural Network,Deep Learning,Caffe,Gradient Descent,在 上面说 注意动量设置μ 有效地将更新的大小乘以1/(1-μ)的系数 经过多次反复的训练,所以如果你增加μ ,相应地减少α可能是一个好主意(反之亦然) 我的问题是: 为什么是1/(1-μ),如何证明 为什么根据增加的μ来减少α是个好主意 简单地说,它是一个几何级数的和 使用动量更新表示“速度”和“位置”更新如下: v=μ*v+α*梯度 θ=θ-v 现在,假设初始v=0,梯度保持(几乎)不变(为方便起见,假设为1),速度演变为: 0, α (1+μ)*α (1+μ(1+μ))*α=(1+μ

上面说

注意动量设置μ 有效地将更新的大小乘以1/(1-μ)的系数 经过多次反复的训练,所以如果你增加μ ,相应地减少α可能是一个好主意(反之亦然)

我的问题是:

  • 为什么是1/(1-μ),如何证明

  • 为什么根据增加的μ来减少α是个好主意


  • 简单地说,它是一个几何级数的和

    使用动量更新表示“速度”和“位置”更新如下:

    v=μ*v+α*梯度

    θ=θ-v

    现在,假设初始v=0,梯度保持(几乎)不变(为方便起见,假设为1),速度演变为:

    • 0,
    • α
    • (1+μ)*α
    • (1+μ(1+μ))*α=(1+μ+μ^2)*α
    • (1+μ+μ^2+μ^3)*α
    • (1+μ+μ^2+μ^3+μ^4)*α
    • (1+μ+μ^2+μ^3+μ^4+μ^5)*α
    • 1/(1-μ)*α
    (使用无限几何级数和的公式)


    编辑:回答问题的第二部分,(添加到下面@Prune的答案中)1/(1-μ)*α的行为或多或少类似于“有效学习率”。因此,如果在改变μ之前α的某个特定值运行良好,则应通过减小α来进行补偿,以保持“有效学习率”恒定。这与在没有动量的梯度下降中选择正确的学习速率一样重要。

    说到第二点,您通常希望将速度调整到与您的问题兼容的值。速度描述了估计的解决方案点的移动。如果速度太小,则收敛太慢和/或过度拟合;如果它太大,您可以围绕解决方案点进行反复研究,甚至无法收敛


    大多数算法都会对第二个问题进行控制,每当我们发现一个新的最佳损失时,通常只需将α减少一个小因子(例如.01)。需要控制的部分是初始设置。如果你增加μ,使1/(1-μ)增加1.25倍,试着将α减少20%以补偿。

    谢谢你删减,我现在明白了!在什么样的情况下,我的梯度可以保持几乎不变?@Long,1/(1-μ)只是一个近似值。通常,当你开始向解收敛时,你的梯度会开始减小。在这种情况下,放在当前梯度前面的乘法因子会更高。获得较高的速度是因为以前梯度较高,但现在梯度值较低,动量项的相对贡献比以前大。