EMA

分类: 训练优化

EMA

定义

对模型参数进行指数移动平均,生成一个”平滑版”的模型权重,通常用作推理时的模型或自监督学习中的 teacher 网络

数学形式

θEMA(t)=αθEMA(t1)+(1α)θ(t)\theta_{\text{EMA}}^{(t)} = \alpha \cdot \theta_{\text{EMA}}^{(t-1)} + (1-\alpha) \cdot \theta^{(t)}

其中 α[0,1)\alpha \in [0,1) 为动量系数(通常 0.99-0.999),θ(t)\theta^{(t)} 为当前训练参数。

核心要点

平滑训练过程中的参数波动,提升泛化能力

在自监督学习中广泛用作 teacher 网络(BYOL、DINO、I-JEPA、Bootleg)

不增加额外的梯度计算,仅需维护一份参数副本

动量系数的选择影响 teacher 更新速度:越接近 1 越保守

代表工作

Polyak & Juditsky (1992): 参数平均理论基础

Grill et al. (2020): BYOL 中使用 EMA teacher

Caron et al. (2021): DINO 中使用 EMA teacher

相关概念

I-JEPA: 使用 EMA teacher 的自监督方法

自蒸馏: EMA teacher 是自蒸馏的常用实现方式