通俗解释EMA

一、概念

    EMA,全称是指数移动平均,是一种给予近期数据更高权重的平均方法,详细的介绍可以参考:深度学习: 指数加权平均。

二、在哪见过

    深度学习中常见的Adam、RMSProp和Momentum等优化算法内部都使用了EMA,由于使用了EMA这些算法常被称为自适应优化算法,可以随着训练过程的推移,自适应的调整参数的优化方向和步长,可以参考:深度学习中的Momentum算法原理。

三、提高训练稳定性

    假设有一个模型参数 \theta ,EMA在优化器层面是一种局部时间窗口的加权平均,它只能通过对过去一个小的时间窗口内的梯度做加权并更新模型参数 \theta,如下图所示的三个矩形框所示,每次反向传播之后,参数 \theta 的增量是一个加权平均后的梯度,模型参数每次都会更新(设g1,g2,g3是三次迭代通过EMA计算得到的梯度,每个箭头表示进行一次梯度更新)。

通俗解释EMA_第1张图片

    如果进一步对g1,g2和g3进行一次EMA,并将EMA后的结果对参数 \theta 进行更新,那么参数\theta将会综合多个时间步的梯度信息,相当于进行了细粒度的平均,多个时间步的梯度综合了更加可靠的信息,模型训练的相应也会更加稳定。

四、参考

  1. 【炼丹技巧】指数移动平均(EMA)的原理及PyTorch实现
  2.   EMA(指数移动平均)及其深度学习应用
  3.   深度学习中的Momentum算法原理
  4.   深度学习: 指数加权平均

 

你可能感兴趣的:(最优化方法,概率与统计,人工智能,深度学习)