首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

论文分享 《Switchable Normalization》

论文分享

作者:lyl

编辑整理:萝卜兔

规范化模块(Normalization)现在已经成为了深度学习不可缺少的模块,目前针对不同任务提出的主要的Normalization技术包括Batch Normalization, Layer Normalization, Instance Normalization, Group Normalization。但是这些规范化技术适用于不同的任务,并且在同一个结构中都采用同一种规范化形式,那么是否存在一个操作能够统一这些规范化技术呢,作者从这点出发,提出了Switchable Normalization(SN)来解决上述问题。

回顾

首先来回顾下目前为止出现的规范化技术。图中N为batch-size, C 为特征图通道数,H,W为特征图大小。这些Normalization 唯一的区别在于计算统计量(均值和方差)的方式不同。其中BatchNorm 是沿着所有样本的同一个通道计算,它首先应用在图像分类任务中,有助于提高收敛速度和泛化性;Layer Norm是对单个样本的特征进行计算,它首先应用在RNN中,使得RNN的优化更容易;Instance Norm是对每个样本的每个通道计算,首先应用在风格转换任务上,基于它可以解决任意风格的转换的问题;Group Norm与Layer Norm有些相似,只是在对通道进行了分组,它解决了Batch Norm对于batch size的依赖问题。

Switchable Normalization

训练阶段

首先来看训练阶段,SN的计算公式与上述的几种Normalization方式的计算公式相似,包括统计量的计算和缩放系数、偏置的学习,只是统计量的计算有所不同,SN的统计量计算了BN,LN,IN三种的统计量,然后引入6个权值参数(分别对应于均值和方差)计算加权的均值和加权的方差作为SN的均值和方差,加权系数使用了softmax进行归一化:

下图形象的说明了这个过程。在现有框架上也很容易实现,文章给出了TensorFlow上实现代码。

测试阶段

测试阶段,IN和LN都是正常计算,它们不依赖与其他样本。在BN时,以前的方式是在训练过程中的统计均值和方差的滑动平均值在测试时使用。文中抛弃了这种方式,提出了batch average方式,具体过程是,冻结所有的参数,从训练集中随机抽取一定数量的样本,计算他们的均值和方差,然后使用他们的平均值作为BN的统计值。

优势

正如本文要解决的问题一样,SN相比其他Normalization有着独特的优势。相比于BN对batch size的依赖较大,特别在较小的batch size时,BN效果会显著下降,SN则对batch size足够鲁棒,通过动态调节各种Normalization的权值,减小BN的影响,使用IN和LN进行互补;另外针对不同任务,SN可以自适应不同的任务,通过学习选择与任务合适的权值,在不同层也可以使用不同的权值,拓展了单个结构使用同一种Normalization的方式。

实验

ImageNet分类实验

性能比较:使用不同GPU和batch size训练ResNet 50。

在使用8GPU训练,每个GPU上的batch size从32减小到2,可以看出GN的top1在75.9%左右,SN在四种配置下都超过了GN,另外可以看出BN随着batch size的减小性能下降严重。

在使用单个GPU训练不同batch size(16,32)训练时,BN超过了GN,但仍低于SN。

权值分布:在不同batch size下SN各个权值之间的比较,可以看出SN能够自适应不同的场景。

作者还在物体目标检测和分割任务,风格转化上进行实验验证了SN的有效性,具体的实验结果参见论文,这里就不再详细描述了。另外作者还写了一篇文章对SN进行更深入的解读。

文章链接

https://zhuanlan.zhihu.com/p/39296570,

同时开源了代码

https://github.com/switchablenorms

参考文献:

Luo P, Ren J, Peng Z. Differentiable Learning-to-Normalize via Switchable Normalization. arXiv:1806.10779, 2018.

S. Ioffe and C. Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. In ICML, 2015.

J. L. Ba, J. R. Kiros, and G. E. Hinton. Layer normalization. arXiv:1607.06450, 2016.

Style Transfer: J. Johnson, A. Alahi, and L. Fei-Fei. Perceptual losses for real-time style transfer and super-resolution. arXiv:1603.08155, 2016.

X. Huang and S. Belongie. Arbitrary style transfer in real-time with adaptive instance normalization. arXiv: 1703.06868, 2017.

Y. Wu and K. He. Group normalization. arXiv:1803.08494, 2018.

Santurkar S, Tsipras D, Ilyas A, et al. How Does Batch Normalization Help Optimization?(No, It Is Not About Internal Covariate Shift). arXiv:1805.11604, 2018.

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180717A09FBE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券