算法笔记(一)归一化之BN LN IN

本文详细介绍了深度学习中常用的几种归一化技术,包括BatchNormalization (BN)、LayerNormalization (LN)、InstanceNormalization (IN)、GroupNormalization (GN)、SwitchableNormalization (SN)和WeightNormalization (WN)。BN通过缓解Internal Covariate Shift加速训练,而LN、IN、GN和WN各有适用场景,如LN适合RNN,IN适用于风格迁移,GN解决小batch问题,SN自动选择合适归一化,WN则在权值维度上进行归一化。各种归一化技术有其优缺点,选择需根据具体任务和网络结构来定。

前言

  • 数据规一化的作用:
    • 调整数据分布,增加网络泛化度.
    • 若每批数据分布不同,神经网络需要不断调整模型权重去适应不同的数据分布,因此可以增加训练速度.即缓解Internal Covariate Shift问题,将数据分布拉到激活函数的非饱和区,具有权重/数据伸缩不变性的特点.
    • 起到缓解梯度消失/爆炸,加速训练,正则化的效果.
  • 内部协方差转移internal convarite shift:
    • 简设模型函数 y=f(θ,x)y=f(\theta,x)y=f(θ,x),训练时,每层网络的输入数据分布会不断变化,导致参数θ\thetaθ变化和y变化.
  • 处理维度(B,C,H,W)数据时,
    • BN:在batch上,对(C,H,W)做归一化.
    • LN:在Channel上,对(B,H,W)做归一化.
    • GN:在Channel上对C分组,即对(G,H,W)做归一化,其中G*K=C,将K个GN结果合并为最终归一化结果.
    • IN:在图像像素上,对(H,W)做归一化.
    • SN:是将BN LN IN结合,赋予不同权重,让网络自己去学习归一化层应该使用什么方法.
    • WN:对模型权重进行归一化.
      在这里插入图片描述
      在这里插入图片描述

1.Batch Normalization(BN)

过程

  1. 预处理:
    x(k)=x(k)−E[x(k)]Var[x(k)]x^{(k)}=\frac{x^{(k)}-E[x^{(k)}]}{Var[x^{(k)}]}x(k)=Var[x(k)]x(k)E[x(k)]
  2. 变换重构:
    x(k)=γ(k)x(k)+β(k)x^{(k)}=\gamma^{(k)}x^{(k)}+\beta^{(k)}x(k)=γ(k)x(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nooobme

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值