learning rate 学习率
学习率:控制更新的步伐
梯度下降:
momentum 动量
Momentum(动量,冲量):结合当前梯度与上一次更新信息,用于当前更新
torch.optim.SGD
optim.SGD(
params, #管理的参数组
lr=<object object>, #初始学习率
momentum=0, #动量系数,贝塔
dampening=0,
weight_decay=0, #L2正则化系数
nesterov=False#是否采用NAG
)
NAG参考文献:《On the importance of initialization and momentum in deep learning》
Pytorch的十种优化器
1. optim.SGD:
随机梯度下降法 《On the importance of initialization and momentum in deep learning 》
2. optim.Adagrad:
自适应学习率梯度下降法 《Adaptive Subgradient Methods for Online Learning and Stochastic Optimization》
3. optim.RMSprop:
Adagrad的改进 http://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf
4. optim.Adadelta:
Adagrad的改进 《 AN ADAPTIVE LEARNING RATE METHOD》
5. optim.Adam:
RMSprop结合Momentum 《Adam: A Method for Stochastic Optimization》
6. optim.Adamax:
Adam增加学习率上限 《Adam: A Method for Stochastic Optimization》
7. optim.SparseAdam
8. optim.ASGD:
随机平均梯度下降 《Accelerating Stochastic Gradient Descent using Predictive Variancer Reduction》
9. optim.Rprop:
弹性反向传播 《Martin Riedmiller und Heinrich Braun》
10. optim.LBFGS:
BFGS的改进