在 https://blog.csdn.net/gaoxueyi551/article/details/105238182 一文中,说明了基于Momentum的算法,本文介绍的RMSprop算法的引入背景和Momentum算法相同,底层理论依然是指数加权平均。
但是,两者优化思路存在些微差别。为了和Momentum算法中的符号相区别,引入向量 ,并设 ,令
其中, 表示对向量的各个分量分别计算平方, 不妨令 ,则得到如下式所示向量,
则 展开也是一个向量,每个分量是权重 对应分量值的平方的指数加权移动平均,
其中,分量值较大的表示权重 对应分量值的平均变化幅度较大,分量值较小的表示权重 对应分量值的平均变化幅度较小。
基于上述定义,给定学习率 ,基于RMSprop的梯度更新规则为,
对于偏置的更新方法类似,不再详述。
Momentum 和 RMSprop算法的共同点如下:
1、减小了梯度在变化幅度较大的分量上的更新速度,提高了变化幅度较小的分量上的更新速度;
2、都对梯度更新的方向进行了优化;
3、长期的优化效果一致,即加快收敛;
4、都使用了指数移动加权平均来对历史梯度信息做处理。
两者的区别如下:
1、前者利用了历史梯度的指数移动加权平均,没有显式的考虑梯度的范数大小,后者是对历史梯度各个分量的二范数进行指数移动加权平均,显式的在梯度各个分量的数值大小上做手脚,在梯度值较大的分量上减小更新步伐,在梯度值较小的分量上增大更新步伐,没有显式的考虑梯度方向。
2、从RMSprop公式上看,它可以实现学习率自适应调整,变化较大的梯度分量上的学习率会自动减小,变化较小的梯度分量上的学习率会自动增大。