BatchNorm层能够防止神经网络过拟合嘛?

  统计/机器学习 深度学习 数据预处理 计算机视觉 人工神经网络    浏览次数:3404        分享
1

我理解的BatchNorm层是能够加速训练速度,那它还能够防止神经网络过拟合嘛?怎么解释呢

 

魏哲   2019-10-25 16:07



   1个回答 
2

BN的初衷不是为了防止梯度消失或者防止过拟合。

BN是通过对系统参数搜索空间进行约束来增加系统鲁棒性,压缩搜索空间,改善系统的结构合理性,这会带来一系列的性能改善,比如加速收敛,保证梯度,缓解过拟合等。

具体对于过拟合来说,在BN中, Batch是随机选取进行Normalization, 并计算均值等, 在测试阶段, 应用均值这些训练参数来进行整体Normalization, 本质上是减小训练阶段的随机性。 因此, BatchNormalization也提供了Regularization的作用, 实际应用中证明, NB在防止过拟合方面确实也有相当好的表现。

论文原文是这么说的:

When training with Batch Normalization, a training example is seen in conjunction with other examples in the mini-batch, and the training network no longer producing deterministic values for a given training example. In our experiments, we found this effect to be advantageous to the generalization of the network. Whereas Dropout (Srivastava et al., 2014) is typically used to reduce over-fitting, in a batch-normalized network we found that it can be either removed or reduced in strength.

SofaSofa数据科学社区DS面试题库 DS面经

wxw_pku   2019-11-16 08:08



  相关讨论

关于LR过拟合的数据集问题

关于神经网络调整缓解过拟合的问题?

为什么过拟合不好?

Resnet-18, Resnet-50, Resnet-101这些模型里的数字是什么意思?

CNN中reLU层和max pooling层的前后顺序

线下训练集和测试集防过拟合

VGG16和VGG19的区别?

cnn没有pooling会怎么样?

图像识别和深度学习中的“组合爆炸”是什么意思?

如何安装pytorch

  随便看看

yolo v4和yolo v3的主要区别是什么?

统计里的IQR是什么意思?

用户人群分层分析的RFM模型是什么?

sklearn模型当中的verbose是什么意思?

前馈神经网络如何选择隐藏层的数量