Gradient Descent

Adaptive learning rate

1、开始时,与最优解差距较大,可以使用加大的lr
2、在几次迭代之后,已经与最优解很接近了,这是可以减小lr
如1/t的衰减,lr(t)=lr/squre-root(t+1)
最好是给不同的参数不同的lr

Adagrad

optimize-method
optimize-method
Adagrad 是考虑了lr随时间增加之后减小的同时,在某一步更新梯度时,还考虑了之前所有的梯度,即将之前所有梯度的平方和再开方做为分母,这样可以保证不同的参数有不同的学习了。
但是有一个矛盾,如果使用不考虑之前所以梯度的梯度下降法,很明显,梯度的计算结果越大,梯度下降的也就越快,参数更新的也就越快。而adagrad中所有梯度的平方和在分母上,这样的梯度下降法,参数更新的速度反而变慢了。
optimize-method
optimize-method

optimize-method
上图中,最优解与x0直接的距离为optimize-method
显然最优解不仅与一阶导(分子有关),与二阶导(分母)也有关,且与一阶导成正比,与二阶导成反比。
微分越大,离原点越远
上述结论在只考虑一个参数时成立,但如果考虑多个参数时却不成立,如下图
optimize-method
显然蓝色为w2的一阶微分,绿色为w1的一阶微分,如果比较a和c,那么上述理论则不成立,显然这里c点的梯度大于a点梯度,但c点距离最优解更近,a点距离最优解较远。
optimize-method
optimize-method
optimize-method
分子代表一阶导,分母如何代表二阶导呢?
对于参数比较多的模型,可以采用这种方法,类似于对二阶导进行采样,通过样本取平方和求平方根计算得到结果。

SGD

Feature Scale

optimize-method

math theory

optimize-method

optimize-method
optimize-method
optimize-method
optimize-method

相关文章: