归一化和标准化

本文总结了归一化和标准化的作用,包括加快梯度下降速度和提高精度。介绍了常见的归一化方法,如最值归一化和均值方差归一化,并举例说明了BatchNorm2d、Layer Normalization、Instance Normalization和Weight Normalization等。内容还探讨了何时使用归一化和标准化,以及哪些机器学习算法不需要归一化,如决策树。
摘要由CSDN通过智能技术生成

1.总结:

作用:

  • 归一化后加快了梯度下降求最优解的速度;
  • 归一化有可能提高精度。
  • 防止梯度消失或爆炸

常见:

  1. 最值归一化。比如把最大值归一化成1,最小值归一化成-1;或把最大值归一化成1,最小值归一化成0。适用于本来就分布在有限范围内的数据。
  2. 均值方差归一化,一般是把均值归一化成0,方差归一化成1。适用于分布没有明显边界的情况,受outlier影响也较小。

举例:

  • BatchNorm2d最常用于卷积网络中(防止梯度消失或爆炸),设置的参数就是卷积的输出通道数:
  • Batch Normalization对每个batch中同一维特征做normalization。

self.conv=nn.Sequential(
            nn.Conv2d(in_channel, out_channel, kernel_size, stride,padding, bias=False),
            nn.BatchNorm2d(out_channel),       
            nn.ReLU(inplace=True)
            ),

几种不同的归一化: https://www.jianshu.com/p/48cb47c670fc

Batch Normalization:对每个batch中同一维特征做normalization。

Layer Normalization:针对单个训练样本的所有维度做normalization,不用保存mini_batch的均值和方差。BN中同一个batch的样本中的不同特征经过处理后分布在不同的区间,而LN则是将同一个样本中的特征处理到同一区间中。比如对于图片提取的三维特征图,经过BN后每层特征图的分布是不相同的,但是经过LN后每层特征图的分布是相同。

Instance Normalization: instance norm和batch norm的区别只有一点不同,那就是BN是作用于一个batch,而IN则是作用于单个样本。也就是说,BN是同一个batch中所有样本的同一层特征图抽出来一起求mean和variance,而IN只是对一个样本中的每一层特征图求mean和variance。这么说的话似乎instance norm只对3D数据有用,也就是只对图像特征有用。(如果是一维特征,那么用了instance norm结果还是自身,因为参与计算的值只有1个

Weight Normalization:不是利用数据特性对数据进行变换,而是利用网络参数W的特性对数据进行变换。

    BN、LN和IN都是用输入数据的方差对输入数据进行scale,而WN则是用模型参数W的欧氏范式对输入数据进行scale。

Group Normalization

    相当于对每张特征图进行区域划分,对每一部分求mean和variance。

4种normalization方法对比图 

解释:

  • 加快:

下图椭圆表示目标函数(如损失函数)的等高线(横截面),两个坐标轴代表两个特征。目标函数:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>