如何用 SGD 微调视觉模型
计算机视觉与模式识别
2023-10-11 v2 机器学习
摘要
SGD 和 AdamW 是计算机视觉中微调大型神经网络最常用的两种优化器。当两种方法表现相同时,SGD 更可取,因为它比 AdamW(16 字节/参数)使用更少的内存(带动量为 12 字节/参数,不带动量为 8 字节/参数)。然而,在一组下游任务上,尤其是那些具有分布偏移的任务,我们发现用 AdamW 微调在现代 Vision Transformer 和 ConvNeXt 模型上比 SGD 表现好得多。我们发现,当第一个“嵌入”层的微调梯度远大于模型其余部分时,SGD 和 AdamW 之间出现较大的性能差距。我们的分析提出了一种在数据集和模型上一致有效的简单修复方法:冻结嵌入层(少于 1% 的参数)使得带或不带动量的 SGD 比 AdamW 略好,同时占用更少内存(例如,在 ViT-L 上,SGD 使用少 33% 的 GPU 内存)。我们的见解在五个流行的分布偏移基准上取得了最先进的精度:WILDS-FMoW、WILDS-Camelyon、BREEDS-Living-17、Waterbirds 和 DomainNet。
引用
@article{arxiv.2211.09359,
title = {How to Fine-Tune Vision Models with SGD},
author = {Ananya Kumar and Ruoqi Shen and Sebastien Bubeck and Suriya Gunasekar},
journal= {arXiv preprint arXiv:2211.09359},
year = {2023}
}