Normalization总结

本文是对张俊林的博文:深度学习中的Normalization模型 归纳总结。

原博文地址:https://mp.weixin.qq.com/s/BPPGr7_5nVQXXYC5omHRTA

Normalization:规范化

规范化分为两种,一种是权重规范化,比如L1和L2规范化。另一种是节点规范化,如常见的BatchNorm。

BatchNorm

本文主要讲的是后者BatchNorm及其的一些变种,BN首次提出的论文:https://arxiv.org/pdf/1502.03167.pdf

BN就是将神经元的值规整为均值为0,方差为1的正太分布。

原论文中将该操作放在激活函数的前面,但是之后的研究实验表明BatchNorm放在激活函数之后效果会更好。

如果要把将分布规整到标准正太分布,那么需要通过神经元集合S得到原分布的均值和方差,这个神经元集合S的选取不同就得到了不同的BN的变形。

BatchNorm的局限

1.batch size如果小的话模型的泛化能力会更强,但是BN的效果也会变差。

2.细粒度任务的效果不好(像素级别的图像生成),bn做了样本之间的统计,会弱化某些样本的独有特征。

3.BN不适用于rnn等动态网络。

4.预测时输入样本是单例的,使用的参数是训练时的均值和方差。

vanilla BatchNorm

集合S的组成:

        在MLP中S由一个batch的数据在一个神经元上的值组成。

        在CNN中S由一个batch的数据在每个通道上生成值(二维)组成。

        在RNN中效果不好(RNN是不定长的,某个step的数据量会很少)。

BatchNorm变形

         LayerNorm:集合由同一层的所有值组成,这种方法感觉是为rnn设计的,目前来看该方法只适用rnn,也只有该方法对rnn相对有效。所以该变形对应局限3。

        InstanceNorm:为CNN设计,集合S由单个数据在每个通道上的值组成(即batch size为1的BN),该方法主要在细粒度的任务上。所以该变形对应局限2。

        GroupNorm:折中的方法,batch size较小时可以通过对卷积层进行分组,同一个组组成集合S从而增加集合S大小。

原文中利用理发师的例子更加直观理解这几种BN。

BatchNorm的好处

        可以加快模型收敛速度,不再依赖精细的参数初始化过程,可以调大学习率等各种方便,同时引入的随机噪声能够起到对模型参数进行正则化的作用,有利于增强模型泛化能力。

BatchNorm有效的原因

        原始的BN论文给出的解释是BN可以解决神经网络训练过程中的ICS(Internal Covariate Shift)问题,所谓ICS问题,指的是由于深度网络由很多隐层构成,在训练过程中由于底层网络参数不断变化,导致上层隐层神经元激活值的分布逐渐发生很大的变化和偏移,而这非常不利于有效稳定地训练神经网络。

        ① ICS问题在较深的网络中确实是普遍存在的,但是这并非导致深层网络难以训练的根本原因。

        ② 即使是应用了BN,网络隐层中的输出仍然存在严重的ICS问题;在BN层输出后人工加入噪音模拟ICS现象,并不妨碍BN的优秀表现。

BN真正的用处在于:Normalization操作,使得网络参数重整(Reparametrize),它对于非线性非凸问题复杂的损失曲面有很好的平滑作用,参数重整后的损失曲面比未重整前的参数损失曲面平滑许多。

Normalization操作的Re-Scaling不变性

        神经网络中的三种Re-Scaling情形:权重向量(Weight Vector)Re-Scaling,数据Re-Scaling和权重矩阵(Weight Matrix)Re-Scaling。

        Re-Scaling不变性: X  Re-Scaling表示X乘上一个缩放因子φ,对于缩放前后两种情况下进行Normalization操作,若Normalization之后所有隐层神经元对应的激活值没发生变化,则说明该Normalization操作具有X Re-Scaling不变性。

几种Normalization对应的Re-Scaling不变性:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值