概述
这种廉价的技巧通常会使模型处于更平坦、更广泛的损失区域中,这往往能够更好地对未见过的数据进行泛化。
深入探讨
SWA 由 Izmailov、Wilson 及其同事于 2018 年提出,它利用了这样的观察结果:具有恒定或周期性学习率的 SGD 不会收敛到一个点 - 它会围绕一个宽阔、平坦的山谷的边缘反弹。 SWA 没有选择这些嘈杂的停止点之一,而是在最后的 epoch 中运行中等高的(通常是恒定的或循环的)学习率,并对它访问的权重(通常是每个 epoch)进行平均。平均权重更靠近平坦区域的中心。由于批量归一化统计数据是针对特定权重计算的,因此 SWA 需要对数据进行一次额外的前向传递,以重新计算平均模型的 BN 运行均值和方差。成本基本上是免费的,并且在图像分类器和其他分类器之间的准确性增益是一致的。
现实世界的实施
提高 CIFAR 和 ImageNet 上 ResNet 和 DenseNet 图像分类器的测试准确性,无需额外的推理成本。
SWAG(SWA-高斯)通过单次训练生成安全敏感预测的校准不确定性估计。
权重 EMA 稳定扩散图像生成器(如稳定扩散)中的采样网络。
通过对多个微调检查点进行平均来构建“模型汤”,以提高鲁棒性,而无需重新训练。
随机权重平均的未来
SWA 催生了诸如 SWA-Gaussian (SWAG) 之类的变体,以降低贝叶斯不确定性,而平均思想现在支撑着广泛应用于扩散模型、自监督学习和大型模型预训练中的指数移动平均技巧。预计体重平均仍将是训练食谱中默认的“免费午餐”,研究将其扩展到合并独立训练的模型(模型汤)并改进校准和原始准确性。
付诸实践
为什么这很重要
- 成本与预算. 多年来,架构决策决定着性能和运营成本。
- 更清晰的判决. 技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。
- 质量控制. 更好的工程选择可以减少生产中的可靠性事故。
留意
- 优化一项基准测试可以隐藏更广泛的系统弱点。
- 基础设施和维护成本常常被低估。
- 随着系统变得更加复杂,安全性和可观察性差距可能会扩大。
后续步骤
- 在实施之前定义延迟、质量和成本目标。
- 在实际负载和数据条件下进行基准测试。
- 仪器监控错误、漂移和用户影响。
- 在扩展之前准备回滚和事件响应路径。
不断探索
常见问题
什么是随机权重平均法?
随机权重平均 (SWA) 对训练后期的几个点的模型权重进行简单平均,而不是仅保留最终快照。这种廉价的技巧通常会使模型处于更平坦、更广泛的损失区域中,这往往能够更好地对未见过的数据进行泛化。
随机权重平均的实际平均值是多少?
SWA 对训练最后阶段在多个检查点收集的模型参数(权重)进行平均,而不是预测或梯度。
为什么SWA倾向于提高泛化能力?
平均将解决方案移向损失表面平坦区域的中心,并且平坦最小值可以更好地概括,因为训练和测试损失保持一致。
对于使用批量归一化的网络,SWA 需要什么额外步骤?
由于 BN 统计数据取决于特定权重,因此平均模型需要额外传递一次数据来重新计算运行均值和方差。
SWA 平均阶段通常使用什么学习率行为?
SWA 保持适度较高的恒定或循环学习率,因此 SGD 继续探索宽阔的平坦区域,然后对其点进行平均。
与传统的 N 个模型集成相比,SWA 的推理成本如何?
SWA 将许多检查点折叠成一个平均权重集,因此推理成本与单个模型而不是 N 相同。