返回
Featured image of post BN到底为什么会work

BN到底为什么会work

How Does Batch Normalization Help Optimization?

BN的性能是否源于控制ICS问题?

  • 论文认为,BatchNorm 通过稳定每一层输入分布的均值和方差来提升训练性能。
  • How Does Batch Normalization Help Optimization?质疑这一观点,并设计实验验证
  • 实验设计
    • 在 BatchNorm 层后添加随机噪声,噪声的均值和方差在每个时间步都变化。
    • 这种噪声会引入严重的 协变量偏移(covariate shift),导致每一层的输入分布极其不稳定。
  • 性能表现
    • 带有 BatchNorm 的模型和带有“噪声”BatchNorm 的模型性能几乎相同,且都显著优于标准网络。
  • 分布稳定性
    • 在 BatchNorm 层后添加噪声会引入严重的分布不稳定性,即每一层的输入分布在每个时间步都发生显著变化。但即使如此,“噪声”BatchNorm 网络仍然能够训练并表现良好。
    • 然而在标准网络上添加相同噪声会导致网络完全无法训练。
  • 结论
    • BatchNorm 的性能提升 不依赖于输入分布的稳定性,因为即使在分布极不稳定的情况下,BatchNorm 仍然表现良好。

进一步扩展ICS的定义

内部协变量偏移(Internal Covariate Shift, ICS) 与训练性能并不直接相关,至少如果我们将 ICS 与输入分布的均值和方差的稳定性联系起来的话。然而,人们可能会想:是否存在一种更广泛的内部协变量偏移概念,与训练性能有直接联系?如果存在,BatchNorm 是否确实减少了这种偏移?

全新的ICS定义

新的 ICS 定义不再局限于输入分布的统计特性,而是 通过梯度的变化来量化跨层依赖对训练的影响。具体定义如下:

  • $L$ 为损失函数。
  • $W_1^{(t)}, \ldots, W_k^{(t)}$ 为时间步 $t$ 时每一层的参数。
  • $(x^{(t)}, y^{(t)})$ 为时间步 $t$ 时用于训练网络的输入-标签对批次。

定义 第 $i$ 层的 ICS 为:

$$\text{ICS}_{t,i} = ||G_{t,i} - G’_{t,i}||_{2}$$

其中: $$G_{t,i} = \nabla_{W_i^{(t)}} L(W_1^{(t)}, \ldots, W_k^{(t)}; x^{(t)}, y^{(t)})$$ $$G’_{t,i} = \nabla_{W_i^{(t)}} L(W_1^{(t+1)}, \ldots, W_{i-1}^{(t+1)}, W_i^{(t)}, W_{i+1}^{(t)}, \ldots, W_k^{(t)}; x^{(t)}, y^{(t)})$$

$G_{t,i}$ 的含义

$G_{t,i}$ 是 在第 $i$ 层参数 $W_i^{(t)}$ 处的梯度,计算方式是 所有层的参数同时保持当前值(即 $W_1^{(t)}, \ldots, W_k^{(t)}$)。它表示在当前状态下,第 $i$ 层的参数如何更新以最小化损失。

$G’_{t,i}$ 的含义

$G’{t,i}$ 是 在第 $i$ 层参数 $W_i^{(t)}$ 处的梯度,但计算方式是 所有前一层参数已经更新为新的值(即 $W_1^{(t+1)}, \ldots, W{i-1}^{(t+1)}$),而后面的层参数仍保持当前值(即 $W_i^{(t)}, W_{i+1}^{(t)}, \ldots, W_k^{(t)}$)。它表示在前一层参数更新后,第 $i$ 层的参数如何更新以最小化损失。

ICS 的物理意义

  • $||G_{t,i} - G’_{t,i}||_2$ 量化了跨层依赖的影响:它反映了由于前一层参数更新,第 $i$ 层的优化任务发生了多大变化。
    • 如果 $G_{t,i}$ 和 $G’_{t,i}$ 差异很大,说明前一层参数更新对第 $i$ 层的优化任务产生了显著影响,即 跨层依赖较强
    • 如果 $G_{t,i}$ 和 $G’_{t,i}$ 差异很小,说明前一层参数更新对第 $i$ 层的优化任务影响较小,即 跨层依赖较弱

与传统 ICS 的区别

  • 传统 ICS
    • 关注的是 输入分布的均值和方差的变化
    • 认为分布的不稳定性会影响训练性能。
  • 新的 ICS
    • 关注的是 优化任务的变化,特别是梯度的变化。
    • 通过梯度的差异量化跨层依赖的影响,直接反映了优化过程的稳定性。

为什么新的 ICS 更有意义?

  • 更直接反映优化过程
    • 训练的核心是优化,梯度的变化直接反映了优化的稳定性。
    • 新的 ICS 从优化角度捕捉了跨层依赖的影响,比传统 ICS 更贴近训练的本质。
  • 更广泛的应用性
    • 传统的 ICS 依赖于输入分布的统计特性,可能无法解释一些现象(如 BatchNorm 的成功)。
    • 新的 ICS 通过梯度变化定义了 ICS,适用于更广泛的场景。
  • 更深入的机制分析
    • 新的 ICS 揭示了跨层依赖对优化任务的影响,为理解深度网络的优化机制提供了新的视角。

新定义下,BN也并未减少ICS

  • 在新的 ICS 定义中,ICS 被量化为梯度在参数更新前后的差异,经过实验发现
  • BN 并未减少 ICS
    • 通过实验发现,带有 BN 的网络通常表现出更高的 ICS,即 𝐺𝑡,𝑖和 𝐺𝑡,𝑖′​ 的差异更大。
    • 这表明,BN 并未减少跨层依赖对优化任务的影响,甚至可能增加这种影响。
  • BN 仍显著提升性能
    • 尽管 ICS 增加,但 BN 网络在训练性能(如损失下降速度、最终精度)上仍显著优于标准网络。
    • 这说明 BN 的成功 并非通过减少 ICS 实现,而是通过其他机制。

BN的功效可能来自于平滑了损失平面

论文中的结论是BN的作用是平滑了损失平面(loss landscape),损失平面长这样

实验显示作者认为BN和残差网络对损失平面平滑的效果类似


模型优化之Batch Normalization

How Does Batch Normalization Help Optimization?

Visualizing the Loss Landscape of Neural Nets

© 2023 - 2025 壹壹贰捌· 0Days
共书写了265.7k字·共 93篇文章 京ICP备2023035941号-1