SGD与Adam何时选择哪个?
在实际训练中,你如何决定使用SGD(带动量)还是Adam?各自的适用场景和注意事项是什么?
回答
苦行僧
选Adam的场景:(1)快速原型验证、NLP/Transformer训练(如BERT)。(2)数据稀疏(推荐系统、文本分类)。(3)超参数调优资源有限——Adam对学习率不敏感。选SGD+Momentum的场景:(1)CV任务(图像分类、目标检测)——SGD+Momentum通常泛化更好。(2)数据集足够大、训练时间充裕。(3)需要「精细调参」达到SOTA。注意事项:(1)Adam在某些任务上泛化