动量 - SAM:无需计算开销的锐度感知最小化

💡 原文中文,约1800字,阅读约需5分钟。
📝

内容提要

该文综述SAM类优化算法研究:AdaSAM在随机非凸环境下收敛速度为O(1/√(bT))并具线性加速;GA-SAM按梯度强度自适应寻找平坦极小值;高效SAM变体用随机权重扰动和锐度敏感数据选择节省至多60%算力;Sparse SAM稀疏掩码方案理论证明同速收敛并平滑损失;SAM在鞍点收敛不稳定、扩散较差,可用动量与批大小缓解;还提出SS-SAM调度方案和LookSAM降低开销。

🔎

延伸解读

SAM 的效率优化路线

文章汇总了多种降低 SAM 计算开销的思路:Efficient SAM 通过随机权重扰动和锐度敏感数据选择节省高达 60% 算力;Sparse SAM 用稀疏掩码实现稀疏扰动,理论证明保持相同收敛速度;SS-SAM 引入调度函数降低复杂度;LookSAM 则显著减少额外成本并支持大批次训练 ViT。这些方案从数据、参数、调度和近似计算等不同角度切入,共同指向在保持泛化优势的同时控制训练成本。

理论收敛性的补全

文章指出,AdaSAM 在随机非凸环境下达到 O(1/√(bT)) 的收敛速度并具线性加速,其分析将随机梯度步骤、自适应学习率和扰动梯度分解处理,并证明自适应学习率有界。此外,针对 Sparse SAM 和一般 SAM 的收敛结果也被提及,包括确定性/随机配置下与衰减扰动或梯度归一化版本的差异。这些工作为 SAM 类方法提供了更完整的理论支撑,而不仅是经验性验证。

鞍点不稳定性与缓解手段

文章特别提到,SAM 在鞍点处存在收敛不稳定性,且鞍点可能成为其动态下的吸引子;同时 SAM 的扩散比普通梯度下降更差。研究验证了动量和批大小等训练技巧可以缓解这种不稳定性,并实现高泛化性能。这提示实践者在应用 SAM 时需关注优化动态的稳定性,而非仅追求平坦极小值,合理调整批大小或引入动量可能是必要的辅助手段。

❓

Q&A

AdaSAM 的收敛速度是多少?它有什么优势?

AdaSAM 在随机非凸环境下的收敛速度为 O(1/√(bT)),具有线性加速性质。它通过分解分析随机梯度步骤、自适应学习率和扰动梯度,证明了自适应学习率具有有限范围,为 SAM 与自适应学习率及动量加速提供了非平凡的收敛率。实验表明 AdaSAM 性能优于 SGD、AMSGrad 和 SAM 优化器。

GA-SAM 是如何工作的?它主要解决什么问题?

GA-SAM 是一种基于梯度强度的自适应 Sharpness-Aware Minimization 算法,旨在发现更具鲁棒性的平坦局部最小值。它从理论角度分析了局部最小值的平坦程度与模型泛化性能的关系,并在自然语言任务上表现令人满意。

高效 SAM 变体如何节省计算资源?能节省多少?

高效 SAM 变体(Efficient Sharpness Aware Minimizer)针对过度参数化深度神经网络,采用两种新训练策略:随机权重扰动和敏感于模型锐度的数据选择。实验表明,与基本优化器相比,该方法可节省高达 60% 的计算资源,同时保持或提高测试准确性。

Sparse SAM 是如何实现稀疏化的?它的收敛性如何?

Sparse SAM 通过二进制掩码获取稀疏掩码,基于 Fisher 信息和动态稀疏训练提供了两种解决方案。理论上证明了 Sparse SAM 可以以与 SAM 相同的速度收敛,既能加速训练,又能有效平滑损失地形。在 CIFAR 和 ImageNet-1K 上的实验证明了其比 SAM 具有更好的效率和表现。

SAM 在训练中有什么不稳定性?如何缓解?

研究发现 SAM 在鞍点处存在收敛不稳定性,鞍点可以在 SAM 动态下成为吸引子,且 SAM 的扩散比普通梯度下降要差。通过动量和批量大小等训练技巧可以缓解收敛不稳定性,并实现高泛化性能。

SS-SAM 和 LookSAM 分别是什么?它们如何降低 SAM 的计算成本?

SS-SAM(Stochastic Scheduled SAM)是一种新型高效训练方案,通过调度函数降低 SAM 的计算复杂度,实验表明使用适当调度函数可在更低计算成本下实现相当或更好的性能。LookSAM 是一种新算法,可显著减少 SAM 训练的额外成本,并在大批次训练场景下成功扩展批次大小以训练 Vision Transformers (ViTs) 模型。

🏷️

标签

➡️

继续阅读