关于batchnormlization理解

关于batchnormlization理解_第1张图片
关于batchnormlization理解_第2张图片

论文一般是这两张典型图片

关于batchnormlization理解_第3张图片

引用wz博客辅助理解

上图展示了一个batch size为2(两张图片)的Batch Normalization的计算过程,假设feature1、feature2分别是由image1、image2经过一系列卷积池化后得到的特征矩阵,feature的channel为2,那么代表该batch的所有feature的channel1的数据,同理代表该batch的所有feature的channel2的数据。然后分别计算和的均值与方差,得到我们的和两个向量。然后在根据标准差计算公式分别计算每个channel的值(公式中的是一个很小的常量,防止分母为零的情况)。在我们训练网络的过程中,我们是通过一个batch一个batch的数据进行训练的,但是我们在预测过程中通常都是输入一张图片进行预测,此时batch size为1,如果在通过上述方法计算均值和方差就没有意义了。所以我们在训练过程中要去不断的计算每个batch的均值和方差,并使用移动平均(moving average)的方法记录统计的均值和方差,在训练完后我们可以近似认为所统计的均值和方差就等于整个训练集的均值和方差。然后在我们验证以及预测过程中,就使用统计得到的均值和方差进行标准化处理。

关于batchnormlization理解_第4张图片

在批量向量化处理中,上图batch_size为m,其中每个feature map为127*127*127(RGB=3)维(原始图片),经过卷积后fearure map维度(feature的channel)会发生变化

关于batchnormlization理解_第5张图片

然后分别计算和的均值与方差,得到我们的和两个向量

关于batchnormlization理解_第6张图片

然后在两张图片的127维度进行均值求方差

在训练完后我们可以近似认为所统计的均值和方差就等于整个训练集的均值和方差。然后在我们验证以及预测过程中,就使用统计得到的均值和方差进行标准化处理。

引用知乎文章https://www.zhihu.com/column/zhaoyeyu ,对深层神经网络训练调参困难,需要尝试

不同学习率,初始化方法加速模型收敛,之所以难训练的一个原因就是网络层与层之间存在高度关联性和耦合性。

关于batchnormlization理解_第7张图片
关于batchnormlization理解_第8张图片
关于batchnormlization理解_第9张图片
关于batchnormlization理解_第10张图片

bn层的作用可以加快收敛速度,防止过拟合,防止梯度消失或者梯度爆炸

你可能感兴趣的:(计算机视觉,图像处理)