区分Batch Normalization、Layer Normalization、Instance Normalization、Group Normalization

Batch Normalization、Layer Normalization、Instance Normalization、Group Normalization

本文针对神经网络中常见的Normalization Layer进行解释,以区分其中的不同。其中主要包括Batch Normalization、Layer Normalization、Instance Normalization、Group Normalization四种。

以CNN为例,假设某一卷积层包括C个kernel(即通道数为c),则卷积后得到C个feature maps,其中令feature maps尺寸为H*W。训练时给定batch size为N

1 Batch Normalization

Batch Normalization针对batch中每个样本得到的同一通道的feature maps进行normalization。可以看出,BN依赖于batch size,当batch size较小时会影响性能。

如下图所示,每次对一列的feature maps进行normalization,重复直到所有features maps都进行了normalization为止。

区分Batch Normalization、Layer Normalization、Instance Normalization、Group Normalization_第1张图片

2 Layer Normalization

Batch Normalization针对单个样本得到所有的feature maps进行normalizationLN与batch size无关。

如下图所示,每次对一行的feature maps进行normalization,重复直到所有features maps都进行了normalization为止。

区分Batch Normalization、Layer Normalization、Instance Normalization、Group Normalization_第2张图片

3 Instance Normalization

Instance Normalization针对单个样本得到单个的feature map进行normalizationIN与batch size和通道数无关。

如下图所示,每次对单个feature map进行normalization,重复直到所有features maps都进行了normalization为止。

区分Batch Normalization、Layer Normalization、Instance Normalization、Group Normalization_第3张图片

4 Group Normalization

Group Normalization针对单个样本得到所有的feature maps进行分组,对组内的features maps 进行normalizationGN与batch size无关。

如下图所示,每次对一个组内的feature maps进行normalization,重复直到所有features maps都进行了normalization为止。

区分Batch Normalization、Layer Normalization、Instance Normalization、Group Normalization_第4张图片

如有问题,欢迎留言讨论。

你可能感兴趣的:(深度学习基础,batch,深度学习,神经网络)