9.4 RMSProp优化器
RMSProp(Root Mean Square Propagation optimizer)均方根传播优化器,也是在标准梯度下降优化器上进行了改进。
9.4.1 统一学习率
我们在进行深度神经网络的训练时,所有的参数都用同一个学习率。这会导致一个问题,有的参数梯度大,有的参数梯度小。如果你设置的学习率过大,会导致梯度大的参数在最优值附近来回震荡,不能收敛。如果你设置学习率过小,导致梯度小的参数学习停滞不前。
9.4.2 自适应学习率
RMSProp就是让每个参数有自适应的学习率。让梯度值大的参数的学习率相对小一些,让梯度值小的参数的学习率相对大一些。这样训练过程就会稳定且快速。 RMSProp的思想是让一个参数更新的梯度值都除以一个数,如果历史上这个梯度值一直都很大,那就除一个大的数,相当于减小了学习率。如果这个梯度值一直很小,那就除一个小的数。相当于增大了学习率。
那接下来的问题就是如何针对每个参数,确定这个除数。RMSProp的做法是记录每个参数梯度平方的指数加权平均值S,更新参数时的梯度除以。
9.4.3 RMSProp计算过程
以参数w为例,首先计算梯度值:
计算指数加权平均值:
更新参数, 是学习率:
其中一般取0.9。是为了防止除0,加的一个很小的数,一般是1e-8。