【深度学习常见问题——归一化】

深度学习常见问题——归一化

归一化

BN原理

BN的操作相当于在大梯度和非线性之间找到一个平衡点,使其能够在较快的收敛速度下保持网络的表达能力

训练阶段:
BN的初衷在于解决内部数据分布的偏移问题,也就是a+1层数据要不断适应a层数据的分布变化问题,这样会导致网络参数进入饱和区,导致梯度较小或者弥散。
所以BN通过将每层输出的数据归一化到均值0,方差1的分布上,消除各个层输出数据的偏移,但是这样做又会使数据停留在线性区域,限制网络的表达能力,所以在归一化后又加了一个可学习参数的线性变换,恢复其表达能力。而归一化的均值和方法是通过mini-batch的数据进行计算的。

具体的实现方法如下:
在这里插入图片描述
测试阶段:
训练阶段是对单个目标进行推理,所以均值和方差是采用训练阶段记录的结果进行BN的。将训练阶段的每个mini-batch的均值和方差记录下来,最后求期望,作为推理时用的均值和方差。
在这里插入图片描述
在这里插入图片描述

BN优点

  1. 加速模型的训练速度
  2. 对于饱和性激活函数,能够防止训练过程中梯度消失
  3. 具有正则化效果:mini-batch的均值、方差相当于引入了一定量的噪声

BN缺点

  1. 如果Batch size比较小,效果不好,引入噪声太大
  2. 推理时均值方差依赖的是训练集的结果,如果测试集分布和训练集不同,将影响效果

BN, GN, LN, IN之间的异同?

相同点:
这四种方法的归一化计算流程都是一样的,都为:

计算均值——>计算方差——>归一化成均值0方差1的分布——>用可学习参数 γ \gamma γ,

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值