1. SGD
在这里SGD和mini-batch是同一个意思,抽取m个小批量(独立同分布)样本,通过计算他们的平均梯度均值。
缺点:
(1) leraning rate 选择太小,收敛速度会很慢,如果太大,则loss function会在极小值附近不停的震荡,甚至片偏离。
(2) 容易被困在鞍点。
2. Momentum(动量)
要是当前时刻的梯度与历史时刻梯度方向相似,这种趋势在当前时刻则会加强;要是不同,则当前时刻的梯度方式减弱。
3. AdaGrad
设置全局学习率之后,每次通过,全局学习率逐参数的除以历史梯度平方和的平方根,使得每个参数的学习率不同。
优点:学习率可以自适应的减小。
缺点:学习率过早、过量的减少。
4. RMSProp
鉴于神经网络都是非凸条件下的,RMSProp在非凸条件下结果更好,改变梯度累积为指数衰减的移动平均以丢弃遥远的过去历史。
相比于AdaGrad的历史梯度:
RMSProp增加了一个衰减系数来控制历史信息的获取多少:
5. Adam
Adam算法可以看作修正后的Momentum+ RMSProp算法, 学习率通常建议为0.001.