在使用梯度下降算法训练参数时,有时候会下降的非常慢,并且可能会陷入到局部最小值中,在此基础上,引入动量梯度下降算法来加快学习过程,特别是对于高曲率、小但一致的梯度,或者噪声比较大的梯度效果更佳。其主要思想在于积累了之前梯度指数级衰减的移动平均(即前面梯度的指数加权平均)。
在MBGD中加入动量:
On iteration t:
Compute on the current mini-batch:
经历过向前传播过程后,每个权重都有缓存值,用于反向传播梯度计算。Adagrade算法原理是:如果权重进行了非常大得更新,那么,该权重的缓存值将会增加,学习率将会变小,抑制其更新;反之,学习率将会增大,从而迫使参数进行较大的更新。
On iteration t:
Compute on the current mini-batch: