Batch Normalization (BN)
-
联系: BN是最早提出的归一化技术,为后续归一化方法提供了基础。
-
使用场景: 主要用于深度前馈网络,尤其是在卷积神经网络中广泛应用。
-
优点:
-
显著加速了深度网络的训练过程。
-
允许使用更高的学习率。
-
通过减少内部协变量偏移,提高了模型的泛化能力。
-
引入的噪声可以起到正则化的作用。
-
-
缺点:
-
在小批量大小下性能下降,因为统计估计不够准确。
-
对批量大小的选择敏感。
-
在一些场景下可能需要额外的调整或变体(如Batch Renormalization)。
-
Layer Normalization (LN)
-
联系: LN是在BN之后提出的,它避免了使用批量维度,而是在单个样本的层级上进行归一化。
-
使用场景: 主要用于递归神经网络(RNNs)和序列模型,因为这些模型通常处理可变长度的序列。
-
优点:
-
不依赖于批量大小,适用于批量大小为1的情况。
-
适用于序列模型,因为它们通常需要处理不同长度的输入。
-
可以提供稳定的隐藏层动态。
-
-
缺点:
-
对于某些视觉识别任务,可能不如BN有效。
-
不利用批量统计信息,可能缺乏BN的正则化效果。
-
Group Normalization (GN)
-
联系: GN是在BN和LN的基础上提出的,它结合了两者的特点,通过对通道进行分组来归一化。
-
使用场景: 适用于需要小批量大小的计算机视觉任务,如目标检测、分割和视频分类。
-
优点:
-
不依赖于批量大小,解决了BN在小批量下性能下降的问题。
-
通过分组归一化,可以灵活地适应不同的网络结构和任务需求。
-
在多种任务中展现出与BN相当或更好的性能。
-
-
缺点:
-
需要预先定义分组数量,这可能需要一些实验来找到最佳设置。
-
在某些情况下可能不如BN的正则化效果强。
-
总的来说,选择哪种归一化技术取决于具体的应用场景和需求。BN在标准的图像分类任务中非常有效,但在需要小批量或可变长度输入的任务中可能会受到限制。LN适用于RNNs和序列模型,而GN提供了一种在小批量大小下也能保持稳定性能的方法,特别适用于资源受限或需要处理高分辨率输入的计算机视觉任务。
BN
Batch Normalization (BN) 是一种在深度神经网络中广泛使用的归一化技术,由 Sergey Ioffe 和 Christian Szegedy 在 2015 年提出。BN 的主要目的是加速深度网络的训练过程,并减少对谨