首页 > 编程知识 正文

不同量纲数据归一化,归一化处理的目的和意义

时间:2023-05-05 15:11:31 阅读:173428 作者:2202

理由:

我知道网络train后,参数会更新。 除了输入层数据外,后面网络各层的输入数据分布还因为训练时前面层的训练参数更新后后面层的输入数据分布会发生变化。 输入层的数据已经被人为地按样本归一化。 以网络第2层为例,网络的第2层输入是根据第1层的参数和输入计算出来的,但由于第1层的参数在训练过程中一直在变化,所以输入数据在每个后续层的分布总是会发生变化。 我们把网络中间层在训练中,数据分布的变化称为“Internal Covariate Shift”。 BN的建议是解决训练中中间层数据分布发生变化的情况。

批规范化

批量归一化(BN )是谷歌于2015年提出的,它是深度神经网络的一种训练技巧,不仅可以加快模型的收敛速度,更重要的是在一定程度上缓解了深层网络中的“梯度色散”问题,提高了深层神经网络的稳定性所以现在BN几乎已经成为所有卷积神经网络的标准技巧。

从字义上看,batchnormalization(bn )是对每批数据的规范化。 确实,对于正在训练的某个batch的数据{x1,x2,xn},要注意该数据可以输入,也可以在网络的中途输出。 在BN出现之前,我们的归一化操作一般在数据输入层,对输入的数据进行平均化和分散化归一化,但BN的出现打破了这一规定。 我们可以在网络的任何一层进行归一化处理。 由于我们现在使用的优化方法大多是最小- batch SGD,所以我们的归一化操作是Batch Normalization。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。