9.4 RMSProp优化器

RMSProp(Root Mean Square Propagation optimizer)均方根传播优化器,也是在标准梯度下降优化器上进行了改进。

9.4.1 统一学习率

我们在进行深度神经网络的训练时,所有的参数都用同一个学习率。这会导致一个问题,有的参数梯度大,有的参数梯度小。如果你设置的学习率过大,会导致梯度大的参数在最优值附近来回震荡,不能收敛。如果你设置学习率过小,导致梯度小的参数学习停滞不前。

9.4.2 自适应学习率

RMSProp就是让每个参数有自适应的学习率。让梯度值大的参数的学习率相对小一些,让梯度值小的参数的学习率相对大一些。这样训练过程就会稳定且快速。 RMSProp的思想是让一个参数更新的梯度值都除以一个数,如果历史上这个梯度值一直都很大,那就除一个大的数,相当于减小了学习率。如果这个梯度值一直很小,那就除一个小的数。相当于增大了学习率。

那接下来的问题就是如何针对每个参数,确定这个除数。RMSProp的做法是记录每个参数梯度平方的指数加权平均值S,更新参数时的梯度除以S\sqrt S

9.4.3 RMSProp计算过程

以参数w为例,首先计算梯度值:

gw=losswg_w=\frac{\partial loss}{\partial w}

计算gw2{g_w}^2指数加权平均值:

Sw=βSw+(1β)gw2S_w=\beta S_w+(1-\beta){g_w}^2

更新参数, lrlr是学习率:

w=wlrSw+εgww=w-\frac{lr}{\sqrt{S_w}+\varepsilon}g_w

其中β\beta一般取0.9。ε\varepsilon是为了防止除0,加的一个很小的数,一般是1e-8。

results matching ""

    No results matching ""