跳到主内容
快讯直播
AI智模界
AI 词典

指数移动平均(EMA):推理为何常用"影子权重

一句话定义

EMA(Exponential Moving Average,指数移动平均)是训练时额外维护的一份平滑版模型权重。它不参与反向传播,只是把每一步的权重按指数衰减的方式"揉"进一份影子参数里,推理时往往用这份影子权重而不是最后一步权重。

原理:给参数记一笔"趋势账"

每一步训练后,在线权重 θ 更新一次,EMA 权重 θ_ema 也跟着挪一点:

θ_ema = decay × θ_ema + (1 - decay) × θ

decay 通常取很接近 1 的数,比如 0.99、0.999 这个量级。意思是:EMA 保留了过去很多步的记忆,但对越近的步看得越重,越老的步影响越小。

打个比方,像记录体重。今天火锅涨两斤,明天轻断食掉一斤,只看当天数字会一惊一乍;看七日均线才知道真实趋势。EMA 就是给模型参数记"趋势值"。也像师傅评价徒弟:不因一次失误全盘否定,也不因一次超常发挥就捧上天,而是"近期表现权重更高"的长期印象。

和相邻概念的区别

概念作用对象是否参与训练典型用途
Momentum(动量)梯度参与,影响更新方向加速收敛、抑制震荡
EMA模型权重不参与,旁路维护推理时取更稳的权重
SWA(Stochastic Weight Averaging,随机权重平均)模型权重不参与,按间隔平均平滑解、提升泛化
最后一步权重模型权重是训练终点直接当 checkpoint 使用

关键区别:动量作用在梯度上,EMA 作用在权重上。一个是"怎么走",一个是"走到哪儿的平均位置"。

对从业者的实际意义

训练末期如果学习率还不小,权重会在最优点附近来回跳,最后一步未必是最稳的那一步。EMA 把这段轨迹平均掉,方差更小,推理时通常更稳、泛化更好,在扩散模型GANAI 词典:自监督学习">自监督学习里都很常见。代价很小:多存一份权重,每步多一次元素级运算。

实践上注意几点:导出模型前确认导出的是 EMA 权重,别把在线权重和影子权重搞混;decay 太大在短训练里会滞后,可能需要 warmup 或调小;Batch Normalization 的统计量不会自动跟着 EMA 走,通常要用 EMA 权重重新跑一遍前向统计,或自己维护 EMA buffer。具体实现以所用框架的官方页面为准。

对普通人的启发

做汇报、看指标,别拿单日异常值当结论。EMA 的思路就是:给近期数据更高的权重,但不被某一天绑架。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。