Norm|对比 Batch Norm 和 Layer Norm

2024/10/06 Norm 共 964 字,约 3 分钟
AI Freedom

对比 Batch Norm 和 Layer Norm,两者都是常用的归一化方法。其中 Batch Norm 对每个 mini-batch 的输入进行归一化,而 Layer Norm 对每个样本的输入进行归一化。Batch Norm 适用于 CNN、DNN 等,需要较大的 mini-batch 的场景,而 Layer Norm 适用于 RNN、LSTM、Transformer 等,尤其是小批量或单样本训练的场景。

Batch Norm 和 Layer Norm

两者都是常用的归一化方法

Batch Norm

  • 对每个 mini-batch 的输入进行归一化
    • 计算均值和方差,对 mini-batch 的每个特征计算均值和方差
    • 归一化,使用均值和方差对输入进程标准化,计算均值和方差
      • $\hat{x}_i = \frac{x_i - \mu_B}{\sqrt{\sigma_B^2 + \epsilon}}$
    • 缩放和平移,通过学习参数 \(\gamma\) 和 \(\beta\) 进行缩放和平移
      • $y_i = \gamma \hat{x}_i + \beta$

Layer Norm

  • 每个样本 的输入进行归一化
    • 计算均值和方差,对 每个样本 的所有特征计算均值和方差
    • 归一化,使用均值和方差对输入进程标准化,计算均值和方差
      • $\hat{x}_i = \frac{x_i - \mu_B}{\sqrt{\sigma_B^2 + \epsilon}}$
    • 缩放和平移,通过学习参数 \(\gamma\) 和 \(\beta\) 进行缩放和平移
      • $y_i = \gamma \hat{x}_i + \beta$

BN 和 LN 对比

特性Batch NormLayer Norm
归一化维度mini-batch 的每个特征每个样本 的所有特征
依赖于 mini-batch
适用场景适用于CNN、DNN等,需要较大的 mini-batch 的场景适用于 RNN、LSTM、Transformer 等,尤其是小批量或单样本训练的场景
计算开销对大批量训练效果较好,计算效率高对每个样本进行计算,计算开销较大
主要优点加速训练过程,提高泛化能力,减少对初始权重的敏感性不依赖批量大小,适用于序列模型和在线学习
主要局限性对小批量训练效果不佳,在序列模型和在线学习中表现不理解在某些情况下训练速度可能较慢,需要计算每个样本的所有特征

附:本文视频讲解链接

文档信息

Search

    Table of Contents