简介
Batch Normalization
Layer Normalization
BatchNorm与Layer Norm都是用于标准化数据的,Batch Normalization是用于图像预处理的,而Layer Normalization最初是用于自然语音的,但随着Transformer在图像的使用,Layer Normalization也用于图像中。
我们在图像预处理过程中通常会对图像进行标准化处理,这样能够加速网络的收敛。
Batch Normalization
原理
数据在网络中传输时,数据的分布就可能不会满足某一种分布,如下图所示,对于Conv1来说输入的就是满足某一分布的特征矩阵,但对于Conv2而言输入的feature map就不一定满足某一分布规律了(这里所说的满足某一分布规律是指整个训练集所对应的feature map要满足某种分布)。
因此需要对输入到Conv2的数据进行标准化。Batch Normalization的目的就是使我们的feature map满足均值为0,方差为1的分布规律。
Batch Normalization是对训练集中的每个维度进行都进行标准化处理。
假设输入图像为RGB的三通道图像X,则将X分为 x ( 1 ) , x ( 2 ) , x ( 3 ) x^{(1)},x^{(2)},x^{(3)} x(1),x(2),