深度学习---动量法
损失函数有关自变量的梯度代表了损失函数在自变量当前位置下降最快的方向。因此,梯度下降也叫作最陡下降。在每次迭代中,梯度下降根据自变量当前位置,沿着当前位置的梯度更新自变量,然而,如果自变量的迭代方向仅仅取决于自变量当前位置,可能会带来一些问题。 例如:损失函数为 f ( x ) = 0.1 x 1 2 + 2 x 2 2 f(x)=0.1x_1^2 + 2x_2^2 f ( x ) = 0 . 1 x 1 2 + 2 x 2 2 该函数在 x 1 , x 2 x_1,x_2 x 1 , x 2 的斜率相差较大,如果给定学习率,梯度下降迭代自变量时,会使自变量在 x 2 x_2 x 2 比在 x 1 x_1 x 1 的移动幅度更大,可能会越过最优解;如果降低学习率,会造成在 x 1 x_1 x 1 方向上朝最优解移动缓慢,收敛速度变慢。 动量法 动量法的提出就是为了解决上述问题。 设损失函数在时间步t的小批量随机梯度为 g t g_t g t ,时间步 t t t 的自变量为 x t x_t x t ,学习率为 η t \eta_t η t 。在时间步0,动量法创建速度变量 v 0 v_0 v 0 ,并将其初始化为0。在时间 t > 0 t>0 t > 0 ,动量法对每次迭代的步骤做如下修改: v t ← γ v t − 1 + η t g