梯度下降的各种优化算法下面参考文献表述都很全面了,不在赘述,主要谈谈个人理解
其实对SGD的优化,跟自动控制中的PID思路其实是一样的
- P(Propotion)比例项即当前偏差
- I(Intergration)积分项即偏差的累积
- D(differentiation)微分项即偏差的变化
SGD加入微分项,即对梯度中与此前优化的方向相同的方向进行加权,相反的方向进行降权,即Monentum,可以防止每次迭代下降梯度在某个方向上反复震荡
SGD加入积分项,即对梯度中累积优化多的方向进行降权,累积优化少的方向进行升权,即Adagrad,可以防止某个方向由于训练样本原因导致的在某个方向上下降过慢
SGD同时加入积分项和微分项,即Adam,可以综合两者的优点
参考文献: