pytorch目前一共有12款优化器,基本上(L-BFGS除外,这个是求解非线性规划问题的,强化学习可以尝试使用)是以梯度下降法为基础的优化器,关于各种优化器的特点介绍,参考:
https://blog.csdn.net/qq_41076797/article/details/110674020
https://www.jianshu.com/p/39dac1e24709
总结一下就是,SGD很稳很慢,adam很快适用性强但可能存在收敛不稳定的问题。因此,初学者或者经验不足建议使用adam优化器即可。此外,Nadam目前效果最好,但pytorch还没有封装。
学习率优化策略:
等步长,多步长,指数。这三个一般和SGD搭配使用。
余弦退火,一般和adam搭配,但注意使用的是热重启余弦退火,即随着学习余弦的周期变大(余弦不是定周期了,而是变周期)
optim.lr_scheduler.CosineAnnealingWarmRestarts()
PPS,先简要记着,等第一轮学习完毕专门详细整理。
============================深度学习初学者 欢迎斧正==========================
++++++++++++++++++++++++++++++++++欢迎探讨++++++++++++++++++++++++++++++++