归一化基础知识点

前言:是根据paddle飞浆学习整理

一、归一化

1. 什么是归一化

        归一化是一种数据处理方式,能将数据经过处理后限制在某个固定范围内。

        归一化存在两种形式,一种是在通常情况下,将数处理为 [0, 1] 之间的小数,或者也可将数据处理到[-1,1],以及其他的固定范围。其目的是为了在随后的数据处理过程中更便捷。例如,在图像处理中,就会将图像从 [0, 255] 归一化到 [0, 1]之间,这样既不会改变图像本身的信息储存,又可加速后续的网络处理。另一种是通过归一化将有量纲表达式变成无量纲表达式。那么什么是量纲,又为什么需要将有量纲转化为无量纲呢?具体 举一个例子。当我们在做对房价的预测时,收集到的数据中,如房屋的面积、房间的数量、到地铁站的距离、住宅附近的空气质量等,都是量纲,而他们对应的量纲单位分别为平方米、个数、米、AQI等。这些量纲单位的不同,导致数据之间不具有可比性。同时,对于不同的量纲,数据的数量级大小也是不同的,比如房屋到地铁站的距离可以是上千米,而房屋的房间数量一般只有几个。经过归一化处理后,不仅可以消除量纲的影响,也可将各数据归一化至同一量级,从而解决数据间的可比性问题

2. 为什么要归一 

(1)如上文中所讲,归一化可以将有量纲转化为无量纲,同时将数据归一化至同一量级,解决数据间的可比性问题。

(2)数据归一化后,寻求最优解的过程会变得平缓,可以更快速的收敛到最优解。第三点会解释到。

3. 为什么归一化能提高求解最优解的速度

        在图1中,左图的红色椭圆代表归一化前的损失函数等高线,蓝色线段代表梯度的更新,箭头的方向代表梯度更新的方向。寻求最优解的过程就是梯度更新的过程,其更新方向与登高线垂直。由于两个变量的量级相差过大,损失函数的等高线呈现为一个瘦窄的椭圆。因此如图1(左)所示,瘦窄的椭圆形会使得梯度下降过程呈之字形呈现,导致梯度下降速度缓慢。

        经过归一化后的数据属于同一量级,求解最优解过程变得更加迅速且平缓,因此可以在通过梯度下降进行求解时获得更快的收敛。

4. 归一化有哪些类型

1.Min-max normalization (Rescaling)

2.Mean normalization

3.Z-score normalization (Standardization)

        Z-score归一化也可称为标准化,经过处理的数据呈均值为0,标准差为1的分布。在数据存在异常值、最大最小值不固定的情况下,可以使用标准化。标准化会改变数据的状态分布,但不会改变分布的种类。特别地,神经网络中经常会使用到z-score归一化

4.非线性归一化

5.归一化和标准化的联系与区别

        谈到归一化和标准化可能会存在一些概念的混淆,我们都知道归一化是指normalization,标准化是指standardization,但根据wiki上对feature scaling方法的定义,standardization其实就是z-score normalization,也就是说标准化其实是归一化的一种,而一般情况下,我们会把z-score归一化称为标准化,把min-max归一化简称为归一化。

联系:归一化和标准化都能取消由于量纲不同引起的误差;都是一种线性变换,都是对向量X按照比例压缩再进行平移
区别:归一化会将数据限定在一个具体的范围内,如 [0, 1]或其他,但标准化不会,标准化只会将数据处理为均值为0,标准差为1。在深度学习中,归一化通常用于解决输入数据的量纲差异问题,而标准化则更常用于特征缩放和模型训练。

        工程上通常优先使用标准化,然后再考虑归一化。这是因为标准化对于异常值具有较好的鲁棒性,而归一化则可能受到异常值的影响。

二、层归一化

在训练过程中,我们可以对输入数据进行归一化处理(例如对输入图像除以255),但这也仅能保证输入层的数据分布是一样的,并不能保证每层网络输入数据分布是一样的,所以在网络的中间我们也是需要加入归一化的处理。提出以下概念:

层归一化:通过计算在一个训练样本上某一层所有的神经元的均值和方差来对神经元进行归一化。

意义在于:

  1. 加快网络的训练收敛速度 在深度神经网络中,如果每层的数据分布都不一样,将会导致网络非常难以收敛和训练(难以在多种数据分布中找到平衡点),而每层数据的分布都相同的情况,训练时的收敛速度将会大幅度提升。

  2. 控制梯度爆炸和防止梯度消失

  • 21
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值