BN与Dropout之间的差别在于训练与测试阶段
发布时间
阅读量:
阅读量
Batch Normalization
其中Batch Normalization(BN)是一种在深度神经网络训练过程中使得每一层神经网络的输入均呈现相似状态的技术手段。
BN训练和测试时的参数是一样的嘛?
Batch Normalization(BN)模块,在其训练过程中会对输入的数据批次进行归一化处理。具体而言,则基于每个批次的数据计算其均值和方差。
在测试阶段中,在对单个样本进行预测时,并不涉及批次处理的概念。也就是说,在这种情况下所使用的均值与方差来源于完整的训练数据集,并可通过移动平均法计算得到。
在BN机制运行完毕后,在模型经过一次完整训练后阶段的参数设定就已经达到了稳定状态。这些参数主要包括数据分布的均值与方差指标以及归一化变换中的系数γ与β
BN训练时为什么不用全量训练集的均值和方差呢?
因为使用整个训练集计算的均值和方差可能会导致模型过于依赖训练数据中的特定模式或特征... 对于Batch Normalization(BN)而言... 而每个批次的数据在均值和方差上会有一定的变化... 这些变化实际上有助于提升模型在不同数据分布下的鲁棒性... 从而在一定程度上降低了模型对训练数据过度依赖的风险。
正是因此,在BN中通常要求将训练集彻底打乱,并采用较大的批量值;否则的话,在单个batch的数据中难以充分反映训练集的整体分
全部评论 (0)
还没有任何评论哟~
