卷积神经网络(五):SGD、adagrad与RMSprop,梯度下降法总结

SGD

SGD即随机梯度下降法,在每次更新中,计算一个Minibatch的数据,然后以Minibatch中数据的总损失对神经网络各权值求梯度来进行权值更新,作为训练中的一个step。
更新方程为:

Wt+1,i=Wt,iηgt,i W t + 1 , i = W t , i − η g t , i

其中 Wt,i W t , i 表示第t个step,第i个权值更新前的值, gt,i g t , i 表示其在第t个step的更新梯度,η表示学习率

adagrad

Adagrad在每一个更新步骤中对于每一个模型参数Wi使用不同的学习速率ηi,

Wt+1,i=Wt,iηtl=0g2l,i+egt,i W t + 1 , i = W t , i − η ∑ l = 0 t g l , i 2 + e g t , i

可以看到,式中学习率会除以该权值历史所有梯度的平方根,由于梯度会累加得越来越大,也就可以达到衰减学习率的效果。
其中,e是一个平滑参数,为了使得分母不为0(通常e=1e−8),另外,如果分母不开根号,算法性能会很糟糕。

优点很明显,可以使得学习率越来越小,而且每个权值根据其梯度大小不同可以获得自适应的学习率调整。

缺点在于需要计算参数梯度序列平方和,并且学习速率趋势会较快衰减达到一个非常小的值

RMSprop

为了缓解Adagrad学习率衰减过快,首先当然就是想到降低分子里的平方和项,RMSprop是通过将平方和变为加权平方和,即

rti=Prt1,i+(1P)g2t,i r t , i = P r t − 1 , i + ( 1 − P ) g t , i 2

也就是说平方和项随着时间不断衰减,过远的梯度将不影响学习率

此时更新公式变为

Wt+1,i=Wt,inrt,i+egt,i W t + 1 , i = W t , i − n r t , i + e g t , i

具体描述:

卷积神经网络(五):SGD、adagrad与RMSprop,梯度下降法总结_第1张图片

你可能感兴趣的:(卷积神经网络(五):SGD、adagrad与RMSprop,梯度下降法总结)