SGD
太简单了,不说了
AdaGrad
https://zh.d2l.ai/chapter_optimization/adagrad.html
存在的问题:
需要强调的是,小批量随机梯度按元素平方的累加变量 st 出现在学习率的分母项中。因此,如果目标函数有关自变量中某个元素的偏导数一直都较大,那么该元素的学习率将下降较快;反之,如果目标函数有关自变量中某个元素的偏导数一直都较小,那么该元素的学习率将下降较慢。然而,由于 st 一直在累加按元素平方的梯度,自变量中每个元素的学习率在迭代过程中一直在降低(或不变)。所以,当学习率在迭代早期降得较快且当前解依然不佳时,AdaGrad算法在迭代后期由于学习率过小,可能较难找到一个有用的解。
评价
我的疑问是这样的,在更新权重的时候,梯度的计算出来的值是根据你这一次对最终值得影响来得到得,因此W1和W2两个不同得权重虽然学习率一样,但是在求导时是会根据函数曲线得到不同得梯度,因此是否有必要再加上一个非常不鲁棒得调整学习率得额外操作???
感觉很傻得方法。
评价分析
我脑补了下3维空间得情况,比如x和y是变量,对z求偏导,x陡坡,y缓坡,那么x肯定得到得导数大,y得到得导数小,但是这没问题啊,因为x陡坡得话大概率会离极值远啊。所以同样得学习率,x走得多,y走得少没毛病啊,为什么你又要加入干扰???
RMSProp
https://zh.d2l.ai/chapter_optimization/rmsprop.html
评价
评价同上。此算法的改进是对更新s加上了一个衰减。修改后s肯定小于改之前。