这里主要介绍两篇ECCV2018的论文,都是关于神经网络层中的normalization归一化的。
目录
《Group Normalization》【ECCV2018】
《Two at Once: Enhancing Learning and Generalization Capacities via IBN-Net》【ECCV2018】
Instance-Batch Normalization Networks
《Group Normalization》【ECCV2018】
作者:Yuxin Wu and Kaiming He(吴育昕和何恺明)——FAIR(Facebook AI Research)
会议:European Conference on Computer Vision (ECCV), 2018 (Oral). Best Paper Honorable Mention
Kaiming He个人主页:http://kaiminghe.com/
论文链接https://arxiv.org/abs/1803.08494
代码链接https://github.com/facebookresearch/Detectron/blob/master/projects/GN
PPThttp://kaiminghe.com/eccv18gn/group_norm_yuxinwu.pdf
现有的batch normalization(BN)的问题:批大小减小时误差会显著提升,大批量才能保证精度,但是大批量对内存要求太高。
BN 要求有足够大的批量才能工作。小批量会导致批量统计数据的估算不准确,并且减少 BN 的批量大小会显著增加模型误差。如上面这个图所示,批大小从32降到2时,ResNet50在ImageNet上的分类错误率显著增大。在批大小为 2 时,GN 比 BN 对应的误差低 10.6%。对于常规的批量规格,GN 与 BN 表现相当(差距为 0.5%)。
方法
上面的图展示了四种归一化方法,蓝色的块表示用这些像素计算均值和方差,然后对它们进行归一化。
- BatchNorm是在batch方向做归一化,算(N, H, W)轴上的均值和方差
- LayerNorm是在channel方向做归一化,算(C, H, W)轴上的均值和方差
- InstanceNorm是在一个批次的一个channel内做归一化,算(H,W)轴上的均值和方差
- GroupNorm是将channel分成几个group,然后每个group内做归一化,算((C//G),H,W)轴上的均值和方差
对所有的归一