AB
AiBoss站
百科

什么是随机权重平均(Stochastic Weight Averaging)?一种几乎零开销提升泛化的训练技巧

随机权重平均(SWA)是一种在训练过程中对随机梯度下降轨迹上的多个权重取平均、以提升模型泛化的方法。它由 Izmailov 等人在 2018 年提出,配合周期性或恒定学习率使用,几乎不增加计算开销。后续研究重新审视了其机制,指出权重平均主要带来方差缩减,并提出了周期性 SWA(PSWA)。

随机权重平均(Stochastic Weight Averaging,SWA)是一种用于训练深度神经网络的权重平均方法:在随机梯度下降(Stochastic Gradient Descent,SGD)的轨迹上采集多个权重点并对其取平均,用平均后的权重作为最终模型。它要解决的问题是——常规 SGD 训练收敛到的解在测试集上泛化不够好,而 SWA 试图以极低的额外计算代价获得更好的泛化性能。

为什么重要

在 SWA 出现之前,深度神经网络通常使用带动量或自适应步长的 SGD 变体,并配合逐步衰减的学习率,一直训练到损失收敛。这种流程简单、成熟,但存在两个痛点:其一,最终收敛点对初始化和训练轨迹较为敏感,测试精度往往低于训练精度;其二,若想通过集成多个模型来提升泛化,需要保存并运行多个完整模型,推理成本成倍增加。

Izmailov 等人在 2018 年的论文中指出,对 SGD 轨迹上的多个点做简单平均,就能比常规训练获得更好的泛化,而且几乎不增加计算开销。该论文还称,SWA 找到的解比 SGD 更平坦,并以单个模型近似了当时提出的快速几何集成(Fast Geometric Ensembling,FGE)方法。这意味着 SWA 在不增加推理模型数量的前提下,提供了一种接近集成的替代方案,对训练与对齐流程中的资源受限场景尤其有吸引力。

工作机制

根据原始论文的描述,SWA 的核心做法可以拆成以下几个要点:

  • 使用周期性或恒定学习率:与常规训练中学习率单调衰减不同,SWA 采用周期性学习率(cyclical learning rate)或较高的恒定学习率,使 SGD 在损失曲面上持续探索,而不是过早收缩到一个尖锐的极小值。
  • 沿轨迹采样权重:在训练过程中按固定间隔记录当前权重,形成一组权重样本。这些样本来自同一条 SGD 轨迹的不同阶段,而不是独立训练的多个模型。
  • 对权重取平均:将采集到的权重逐元素求平均,得到最终的 SWA 模型。平均操作本身不涉及额外的梯度计算,因此论文称其计算开销几乎可以忽略。
  • 可选的批归一化统计量重估:由于平均后的权重与训练过程中各点的批归一化(Batch Normalization)统计量不完全匹配,实践中通常需要在训练数据上重新前向传播一遍以更新统计量。这一细节属于通用工程实践,原始论文对此有相应讨论。

论文将 SWA 的收益归因于两点:一是平均操作降低了权重估计的方差;二是 SWA 找到的解位于更平坦的区域,从而对训练集与测试集之间的分布偏移更不敏感。不过,这些解释在后续研究中被重新检验。

典型例子

原始论文在多个标准图像分类基准上验证了 SWA。实验覆盖 CIFAR-10、CIFAR-100 和 ImageNet 数据集,使用的网络结构包括残差网络(ResNet)、PyramidNet、DenseNet 和 Shake-Shake 网络。论文报告称,在这些设置下,SWA 相比常规 SGD 训练取得了明显的测试精度提升。该论文发表于 2018 年的 Conference on Uncertainty in Artificial Intelligence(UAI)。

2022 年的论文《Stochastic Weight Averaging Revisited》对 SWA 进行了系统性再审视。作者 Hao Guo、Jiyong Jin 和 Bin Liu 在十余种现代深度神经网络结构和十余个开源图像、图与文本基准数据集上开展了大量实验,试图分离权重平均操作与周期性/高恒定学习率调度各自的贡献。该论文的结论是:SWA 中的权重平均操作仍然有助于方差缩减,但并不总是导致更平坦的极小值;实验结果表明深度神经网络损失景观中存在全局尺度的几何结构。基于这一观察,作者提出了周期性 SWA(Periodic SWA,PSWA),利用一系列权重平均操作来发现这些全局几何结构,并报告 PSWA 显著优于其骨干 SGD。

边界与常见误解

首先需要澄清的是,SWA 并不是“训练多个模型再集成”。它平均的是同一条训练轨迹上的权重点,最终只产出一个模型,因此推理成本与普通模型相同。这与需要保存多个独立模型的集成方法有本质区别。

其次,关于“SWA 必然带来更平坦的解”这一说法,需要区分来源。原始论文将其作为实验观察提出;而 2022 年的再审视论文明确指出,权重平均操作并不总是导致宽极值,其稳定贡献主要体现为方差缩减。因此,把“更平坦的极小值”当作 SWA 的普遍保证并不准确,更稳妥的表述是:这是原始论文在其实验设置下的观察,后续研究对其普适性提出了修正。

第三,SWA 的效果依赖于学习率调度。原始论文强调周期性或恒定学习率是其组成部分;若沿用常规的单调衰减学习率,轨迹上的权重点会高度集中,平均带来的收益可能有限。再审视论文正是通过分离这两个因素来讨论 SWA 的贡献边界。

最后,SWA 并非适用于所有训练场景。它主要针对基于 SGD 的优化流程设计;对于自适应优化器或大规模预训练-微调范式,其行为需要单独验证。此外,平均后的批归一化统计量需要重估,否则可能损害性能,这是实践中容易被忽略的代价。

参考资料