各优化算法的优缺点整理

固定学习率的优化算法

SGD

SGD在深度学习中指的是小批量梯度下降,是按照数据分布将总体数据划分为多个小批量数据,然后利用小批量数据对参数进行更新。
优点:每一步更新的计算时间不依赖于训练样本数目的多寡,即使训练样本数目非常大时,他们也能收敛。对于足够大的数据集,SGD可能会在处理整个训练集之前就收敛到最终测试机误差的某个容错范围内。
缺点:选择合适的learning rate比较困难,若设置过大,学习曲线将会剧烈震荡,代价函数值通常会明显增加;太小则学习过程会很缓慢,如果初始学习率太低,那么学习可能会卡在一个相当高的代价值。

Momentum动量

动量方法旨在加速学习,特别是处理高曲率、小但一致的梯度,或是带噪声的梯度。动量算法积累了之前梯度指数级衰减的移动平均,并且继续沿该方向移动。它模拟的是物体运动时的惯性,即在更新时在一定程度上会考虑之前更新的方向,同时利用当前batch的梯度微调最终的结果,这样可以在一定程度上增加稳定性,从而更快的学习。
优点:对方向一致的参数能够加速学习,对梯度改变方向的参数能够减少其更新,因此就是momentum能够在相关方向上加速学习,抑制振荡,从而加速收敛。
缺点:比较难学习一个较好的学习率。

Nesterov动量

是momentum动量的一个变种。Nesterov的改进就是让之前的动量直接影响当前的动量,因此Nesterov动量往往可以解释为往标准动量方法中添加了一个校正因子,加快收敛。

自适应学习率的优化算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值