EMA指数滑动平均(Exponential Moving Average)

指数滑动平均(EMA)是一种给予近期数据更高权重的平均方法,常用于模型参数的平滑更新。通过设置合适的衰减因子β,EMA可以在测试时提供更稳定的模型表现,类似于学习率衰减。在深度学习中,特别是在mini-batch训练中,EMA能减少参数更新的噪声,提高模型的鲁棒性。理解并正确应用EMA,能够优化模型的训练效果。

指数滑动平均(Exponential Moving Average)

指数滑动平均也叫权重移动平均(Weighted Moving Average),是一种给予近期数据更高权重的平均方法。

假设有 n n n个权重数据: [ θ 1 , θ 2 , ⋯   , θ n ] [\theta_1,\theta_2,\cdots,\theta_n] [θ1,θ2,,θn],EMA的计算公式:
v t = β v t − 1 + ( 1 − β ) θ t (1) v_t=\beta v_{t-1}+(1-\beta)\theta_t\tag{1} vt=βvt1+(1β)θt(1)
其中 v t v_t vt称为影子权重, v 0 = 0 v_0=0 v0=0

β \beta β越大时,滑动平均得到的值越和 θ \theta θ的历史值相关。如果 β = 0.9 \beta=0.9 β=0.9,则大致等于过去 10 个 θ θ θ 值的平均;如果 β = 0.99 \beta=0.99 β=0.99,则大致等于过去 100 个 θ \theta θ值的平均。EMA可以近似看作过去 1 / ( 1 − β ) 1/(1-\beta) 1/(1β)个时刻 v v v值的平均。过去 n n n时刻的平均为:
v t = ( n − 1 ) v t − 1 + θ t n = n − 1 n v t − 1 + 1 n θ t (2) v_t=\frac{(n-1)v_{t-1}+\theta_t}{n}=\frac{n-1}{n}v_{t-1}+\frac{1}{n}\theta_t\tag{2} vt=n(n1)vt1+θt=nn1vt1+n1θt(2)
类比可得 β = n − 1 n \beta=\cfrac{n-1}{n} β=nn1

EMA计算,会将过去 1 / ( 1 − β ) 1/(1-\beta) 1/(1β)个时刻前的数据衰减到 1 e \cfrac{1}{e} e1 的比例:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值