pytorch神经网络中数据标准化

文章目录

          • 一、 标准化优点
          • 二、 标准化目的
          • 三、 标准化方法
            • 1、batch norm
            • 2、layer norm
            • 3、instance norm
            • 4、group norm
            • 5、switchable norm
            • 6、标准化的数学公式
            • 7、标准化流程
          • 四、 权重标准化方法

一、 标准化优点

pytorch神经网络中数据标准化_第1张图片

二、 标准化目的

使得网络的输入层、隐藏层、输入层的数据直方图都在一个指定的范围内,有利于模型的收敛,有时候为了方便输出结果更好的逼近真实结果,还会对 标签数据进行相应的标准化处理

三、 标准化方法
1、batch norm
  • 通道进行标准化,即通道归一化
  • 解释:
    • 1、bn的计算就是把每个通道的NHW单独拿出来归一化处理
    • 2、针对每一个channel我们都有一组γ、β,所以可学习的参数为2C
    • 3、当batchsize越小,BN的表现效果也越不好,因为计算中所得到的均值和方差不能代表全局
      pytorch神经网络中数据标准化_第2张图片
2、layer norm
  • 批次进行归一
  • 解释
    • 1、LN的计算就是把每个CHW单独按出来归一化处理,不受batchsize的影响
    • 2、常用在RNN网络,但如果输入的特征区别很大,那么就不建议使用它做归一化处理
      pytorch神经网络中数据标准化_第3张图片
      pytorch神经网络中数据标准化_第4张图片
3、instance norm
  • 单张图片进行归一化
  • 解释:
    • 1、IN的计算就是把每个HW单独拿出来归一化处理,不受通道和batchsize的影响
    • 2、常用在风格化迁移,但如果特征图可以用到通道之间的相关性,那么就不建议使用它做归一化处理
      -pytorch神经网络中数据标准化_第5张图片
4、group norm
  • 通道分组,对每个组进行归一化
  • 解释:
    • 1、GN的计算就是先把通道分成g组,然后把每个gHW单独拿出来归一化处理,最后把g组归一化之后的数据合并成CHW
    • 2、GN介于LN IN之间,当然可以说是LN IN就是GN的特例,比如g的大小为1或者为C
      pytorch神经网络中数据标准化_第6张图片
5、switchable norm
  • 目前使用频率很低
  • 解释:
    • 1、将BN LN IN 结合,赋予权重,让网络自己去学习归一化层应该使用什么方法
    • 2、集万千宠爱于一身,但训练复杂
      pytorch神经网络中数据标准化_第7张图片
6、标准化的数学公式
  • 两步骤:
    • 1、标准化
      • 使分布更加均匀,便于训练
    • 2、反标准化
      • 获得非线性表达能力
        pytorch神经网络中数据标准化_第8张图片

反标准化:使得具有非线性能力

7、标准化流程

pytorch神经网络中数据标准化_第9张图片
过程:非线性数据→transform→线性数据→w*x+b→非线性数据→BN:去同存异/统一量纲→线性(学习不同点/收敛较快)→反BN:还原数据→非线性(让较大的特征跟大/表达能力较好)→激活(提供更多的非线性/拉开差距)
在这里插入图片描述

四、 权重标准化方法

y=wx

还未仔细研究,等后续补充

pytorch神经网络中数据标准化_第10张图片

你可能感兴趣的:(数据处理,神经网络,人工智能,深度学习)