文章

18 了解指数加权平均

18 了解指数加权平均

一、什么是指数加权平均?

  指数加权平均是一种高效计算时间序列数据滑动平均值的方法,广泛应用于深度学习中的优化算法(如 Momentum、RMSProp、Adam 等)。

  其核心思想是:对近期数据赋予更高权重,对远期数据赋予指数衰减的权重


二、核心公式

  指数加权平均的递推公式为:

\[v_t = \beta v_{t-1} + (1 - \beta) \theta_t\]

  其中:

  • $v_t$:第 $t$ 步的指数加权平均值;
  • $\theta_t$:第 $t$ 步的原始观测值(例如第 $t$ 天的温度);
  • $\beta \in [0, 1)$:平滑参数(smoothing factor),控制“记忆长度”。

初始化:通常设 $v_0 = 0$。


三、直观理解:展开公式

  以 $\beta = 0.9$ 为例,展开 $v_{100}$ 可得:

\[\begin{aligned} v_{100} &= 0.1 \theta_{100} + 0.1 \cdot 0.9 \, \theta_{99} + 0.1 \cdot 0.9^2 \, \theta_{98} \\ &\quad + 0.1 \cdot 0.9^3 \, \theta_{97} + \cdots \end{aligned}\]

  一般形式为:

\[v_t = (1 - \beta) \sum_{k=0}^{t-1} \beta^k \theta_{t-k}\]

  这表明:

  • 权重按 $\beta^k$ 指数衰减;
  • 所有系数之和近似为 1(严格来说需偏差修正,见下文);
  • 因此 $v_t$ 是一个加权平均,且越近的数据权重越大。

四、$\beta$ 与“有效记忆窗口”的关系

  虽然 EWA 理论上使用了所有历史数据,但因指数衰减,实际有效记忆长度有限

  一个经验法则:

当 $\beta = 1 - \varepsilon$ 时,EWA 大致等效于对最近 $\frac{1}{\varepsilon} = \frac{1}{1 - \beta}$ 个时间步的平均。

示例:

$\beta$有效天数(近似)说明
0.9$\frac{1}{0.1} = 10$ 天红线,响应较快
0.98$\frac{1}{0.02} = 50$ 天绿线,更平滑
0.5$\frac{1}{0.5} = 2$ 天黄线,噪声大

数学依据:$\beta^{1/(1-\beta)} \approx \frac{1}{e} \approx 0.368$,即权重衰减到峰值的约 1/3。


五、实现方式(高效!)

  实际代码中无需存储所有历史 $\theta_t$,只需维护一个变量 $v$:

1
2
3
v = 0
for t in range(1, T+1):
    v = beta * v + (1 - beta) * theta[t]

优势:

  • 内存效率高:仅需存储一个标量 $v$;
  • 计算高效:每步仅一次乘加操作;
  • 适合大规模参数:如神经网络中百万级参数的梯度平滑。

⚠️ 注意:这不是最精确的平均(如滑动窗口平均更准),但在深度学习中速度与内存优势远大于精度损失


六、偏差修正(Bias Correction)——预告

  由于初始 $v_0 = 0$,早期 $v_t$ 会系统性偏低(尤其当 $\beta$ 接近 1 时)。

  解决方案:偏差修正(Bias Correction)

  修正公式(下一讲内容):

\[\hat{v}_t = \frac{v_t}{1 - \beta^t}\]
  • 当 $t$ 较小时,$\beta^t$ 不可忽略,$\hat{v}_t$ 更准确;
  • 当 $t$ 很大时,$\beta^t \to 0$,$\hat{v}_t \approx v_t$。

Adam 优化器就使用了这种修正。


七、总结要点

要点说明
公式$v_t = \beta v_{t-1} + (1 - \beta) \theta_t$
权重分布指数衰减:$(1-\beta)\beta^k$
有效窗口约 $\frac{1}{1 - \beta}$ 步
优点内存 O(1),计算快,适合高维数据
缺点初期有偏差(可用 bias correction 修正)
应用Momentum、RMSProp、Adam 等优化算法的基础

  掌握指数加权平均,是理解现代深度学习优化器的关键第一步。它体现了工程实践中对效率与效果的权衡智慧

[!NOTE] ✏️ 和梯度下降的关系 指数加权平均(Exponentially Weighted Averages, EWA)本身不是优化算法,但它是现代梯度下降改进算法的核心组件。它与标准梯度下降(Vanilla Gradient Descent)的关系,可以理解为:EWA 为梯度下降“赋能”,使其更智能、更快、更稳定

下面从几个关键角度详细说明它们的关系:


1. 标准梯度下降的局限性

标准梯度下降更新参数的公式为:

\[\theta_{t+1} = \theta_t - \alpha \nabla_\theta J(\theta_t)\]

其中 $\nabla_\theta J(\theta_t)$ 是当前批次(或样本)计算出的瞬时梯度

问题

  • 梯度可能噪声大(尤其在小批量或随机梯度下降中);
  • 在损失函数的“峡谷”或“崎岖”区域,容易震荡卡在局部平台
  • 学习率 $\alpha$ 需要手动精细调整。

2. EWA 如何改进梯度下降?——引入“动量”思想

核心思想:不要只看当前梯度,而要看近期梯度的“趋势”
这正是 EWA 的用武之地!

✅ 应用 1:Momentum(动量法)

Momentum 使用 EWA 来平滑梯度,形成“速度”(velocity):

\[\begin{aligned} v_t &= \beta v_{t-1} + (1 - \beta) \nabla_\theta J(\theta_t) \quad \text{(EWA 计算梯度的指数加权平均)} \\ \theta_{t+1} &= \theta_t - \alpha v_t \end{aligned}\]
  • 这里的 $v_t$ 就是梯度的 EWA(通常省略 $1-\beta$,直接写成 $v_t = \beta v_{t-1} + g_t$,本质相同);
  • 效果

    • 抑制震荡(反向梯度被平均掉);
    • 加速沿一致方向的移动(如穿过峡谷);
    • 类似物理中的“惯性”。

📌 关系:Momentum = 梯度下降 + 梯度的 EWA(作为更新方向)


✅ 应用 2:RMSProp(自适应学习率)

RMSProp 对梯度的平方使用 EWA,动态调整每个参数的学习率:

\[\begin{aligned} s_t &= \beta s_{t-1} + (1 - \beta) (\nabla_\theta J(\theta_t))^2 \quad \text{(EWA of squared gradient)} \\ \theta_{t+1} &= \theta_t - \frac{\alpha}{\sqrt{s_t + \epsilon}} \nabla_\theta J(\theta_t) \end{aligned}\]
  • $s_t$ 是梯度平方的 EWA,反映近期梯度的幅度
  • 效果

    • 梯度大的参数 → $s_t$ 大 → 实际步长小(防止振荡);
    • 梯度小的参数 → $s_t$ 小 → 实际步长大(加速收敛)。

📌 关系:RMSProp = 梯度下降 + 梯度平方的 EWA(用于自适应学习率)


✅ 应用 3:Adam(最流行的优化器)

Adam 同时结合了 Momentum 和 RMSProp,即对梯度和梯度平方都做 EWA

\[\begin{aligned} v_t &= \beta_1 v_{t-1} + (1 - \beta_1) g_t \quad &\text{(1st moment: gradient EWA)} \\ s_t &= \beta_2 s_{t-1} + (1 - \beta_2) g_t^2 \quad &\text{(2nd moment: squared gradient EWA)} \\ \hat{v}_t &= \frac{v_t}{1 - \beta_1^t}, \quad \hat{s}_t = \frac{s_t}{1 - \beta_2^t} \quad &\text{(bias correction)} \\ \theta_{t+1} &= \theta_t - \frac{\alpha}{\sqrt{\hat{s}_t} + \epsilon} \hat{v}_t \end{aligned}\]

📌 关系:Adam = 梯度下降 + 两个 EWA(梯度 + 梯度平方)+ 偏差修正


3. 为什么 EWA 特别适合优化?

特性对优化的帮助
低内存只需存储 $v_t$ 或 $s_t$,适合百万级参数
计算快每步仅几次乘加,不拖慢训练
平滑噪声抑制随机梯度的方差,稳定更新
捕捉趋势利用历史信息,避免“短视”更新

4. 总结:EWA 与梯度下降的关系

方法是否使用 EWA作用
标准梯度下降直接用瞬时梯度更新
Momentum✅(对梯度)引入惯性,加速收敛,减少震荡
RMSProp✅(对梯度平方)自适应学习率,处理非平稳目标
Adam✅✅(梯度 + 梯度平方)结合两者优点,当前默认选择

💡 简单说
梯度下降告诉你“往哪走”,EWA 告诉你“怎么走得更聪明”
没有 EWA,梯度下降就像蒙眼走路;有了 EWA,它就有了“记忆”和“预判”。

因此,理解 EWA 是掌握现代深度学习优化器(Momentum / RMSProp / Adam)的基石。吴恩达先讲 EWA,正是为了后续讲解这些高级优化算法做铺垫。

本文由作者按照 CC BY 4.0 进行授权