Pytorch使用AdaBelief 优化器
日期:2024-08-26 05:44:01 / 人气:
优化器两个家族:SGD & Adam。
对于传统CV领域,SGD收敛慢但是泛化性好,Adam反之。但是对GAN这种复杂网络,Adam效果更好。
目前我应用于imagenet训练,SGD已经取得很好的效果,想找一些更好的优化器。
论文链接:https://arxiv.org/pdf/2010.07468.pdf
代码链接:https://github.com/juntang-zhuang/Adabelief-Optimizer
【核心思想】:观测梯度与预测梯度比较,如果差距很小,就走比较大的一步,反之。所以称为梯度方向上的belief。?
【安装和使用】:
?【参数设置参考】
Task | lr | beta1 | beta2 | epsilon | weight_decay | weight_decouple | rectify | fixed_decay | amsgrad |
---|---|---|---|---|---|---|---|---|---|
Cifar | 1e-3 | 0.9 | 0.999 | 1e-8 | 5e-4 | False | False | False | False |
ImageNet | 1e-3 | 0.9 | 0.999 | 1e-8 | 1e-2 | True | False | False | False |
代码链接:?GitHub - amirgholami/adahessian: ADAHESSIAN: An Adaptive Second Order Optimizer for Machine Learning?
论文链接:?https://arxiv.org/pdf/2006.00719.pdf
AdaHessian是一种基于PyTorch的二阶神经网络训练优化器。该库支持卷积神经网络(image_classification)和基于变压器的模型(transformer)的训练。
【spotlight】:克服传统二阶算法迭代计算量大的问题
【安装和使用】:
?代码链接:GitHub - Luolc/AdaBound: An optimizer that trains as fast as Adam and as good as SGD.
论文链接:https://openreview.net/pdf?id=Bkg3g2R9FX
利用学习速率的动态边界来实现从自适应方法到SGD的渐进和平稳过渡?
【安装和使用】:
?论文:http://proceedings.mlr.press/v139/schmidt21a/schmidt21a.pdf
选择了15种常用优化器和8个深度学习问题,对于每个问题和优化器,评估了四种不同调优预算和四种选定的学习率计划的所有可能组合,并用它分析了1,920种可能的配置方案。
?结论:
1、优化器的性能,在不同的任务中有很大差异;
2、事实上,大部分优化器的性能惊人地相似,目前尚没有“最通用”的优化方法;
3、对优化器进行(参数)微调,其实和选择优化器一样重要、甚至更重要。
Stochastic Weight Averaging in PyTorch | PyTorch
PyTorch官方推荐!SWA:不增加推理时间提高泛化能力的集成方法
?