【深度学习基础知识】Group Nomalization在batch size小时代替BN做归一化

参考博客:
参考一


为什么要归一化?

归一化有助于快速收敛;

详细解释:神经网络学习过程本质就是为了学习数据分布,一旦训练数据与测试数据的分布不同,那么网络的泛化能力也大大降低;另外一方面,一旦每批训练数据的分布各不相同(batch 梯度下降),那么网络就要在每次迭代都去学习适应不同的分布,这样将会大大降低网络的训练速度,这也正是为什么我们需要对数据都要做一个归一化预处理的原因。
深度网络的训练是复杂的过程,只要网络的前面几层发生微小的改变,那么后面几层就会被累积放大下去。一旦网络某一层的输入数据的分布发生改变,那么这一层网络就需要去适应学习这个新的数据分布,所以如果训练过程中,训练数据的分布一直在发生变化,那么将会影响网络的训练速度。

其它的解释:

LRN(2012)

  • LRN(Local Response Normalization)首次提出于AlexNet,BN提出后被抛弃;
  • 用于激活、池化后;
  • 来源于神经生物学的侧抑制,被激活的神经元会抑制相邻神经元,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力;

为什么BN不好?

  1. BN全名是Batch Normalization,以batch的维度做归一化,此归一化方式对batch是independent的,过小的batch size会导致其性能下降,作者实验发现一般来说每GPU上batch设为32最合适;但是对于一些其他深度学习任务batch size往往只有1-2,比如目标检测,图像分割,视频分类上,输入的图像数据很大,较大的batchsize显存吃不消
  2. Batch Normalization是在batch这个维度上Normalizatio
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值