神经网络为什么要进行batch norm?

       最近在看李沐的视频,其中有一些内容想做一下笔记,这次做的笔记是:神经网络为什么要进行batch norm?

       通常我们在使用数据之前,会对输入数据做了标准化处理:处理后的任意一个特征在数据集中所有样本上的均值为 0、标准差为 1。标准化处理输入数据使各个特征的分布相近:这往往更容易训练出有效的模型。(why???我也不知道)

      通常来说,数据标准化预处理对于浅层模型就足够有效了。随着模型训练的进行,当每层中参数更新时,靠近输出层的输出较难出现剧烈变化。但对于深层神经网络来说,即使输入数据已做标准化,训练中模型参数的更新依然很容易造成靠近输出层输出的剧烈变化。这种计算数值的不稳定性通常令我们难以训练出有效的深度模型。

       为解决这一问题,提出了批量归一化,即batch norm,在模型训练时,批量归一化利用小批量上的均值和标准差,不断调整神经网络中间输出,从而使得整个神经网络在各层的中间输出的数值更稳定。

你可能感兴趣的:(神经网络为什么要进行batch norm?)