优化器¶
神经网络最终是一个 最优化问题 , 在经过 前向计算和反向传播 后, Optimizer
使用反向传播梯度,优化神经网络中的参数。
1. Adam¶
Adam 的优化器是一种自适应调整学习率的方法, 适用于大多 非凸优化 、大数据集和高维空间的场景。在实际应用中,Adam
是最为常用的一种优化方法。
API Reference 请参考 Adam
2. SGD¶
SGD
是实现 随机梯度下降 的一个 Optimizer
子类,是 梯度下降 大类中的一种方法。 当需要训练大量样本的时候,往往选择 SGD
来使损失函数更快的收敛。
API Reference 请参考 SGD
3. Momentum¶
Momentum
优化器在 SGD
基础上引入动量,减少了随机梯度下降过程中存在的噪声问题。 用户在使用时可以将 use_nesterov
参数设置为 False 或 True ,分别对应传统 Momentum(论文 4.1 节) 算法和 Nesterov accelerated gradient(论文 4.2 节) 算法。
API Reference 请参考 Momentum
6. RMSProp¶
RMSProp 优化器是一种自适应调整学习率的方法, 主要解决使用 Adagrad
后,模型训练中后期学习率急剧下降的问题。
API Reference 请参考 RMSProp
11. ASGD¶
ASGD 优化器,是 SGD
以空间换时间的策略版本,是一种轨迹平均的随机优化方法。 ASGD
在 SGD
的基础上,增加了历史参数的平均值度量,让下降方向噪音的方差呈递减趋势下降,从而使得算法最终会以线性速度收敛于最优值。
API Reference 请参考 ASGD