Skip to content

Latest commit

 

History

History
45 lines (33 loc) · 5.46 KB

README.md

File metadata and controls

45 lines (33 loc) · 5.46 KB

Group Normalization

Abstract

Batch Normalization (BN) is a milestone technique in the development of deep learning, enabling various networks to train. However, normalizing along the batch dimension introduces problems --- BN's error increases rapidly when the batch size becomes smaller, caused by inaccurate batch statistics estimation. This limits BN's usage for training larger models and transferring features to computer vision tasks including detection, segmentation, and video, which require small batches constrained by memory consumption. In this paper, we present Group Normalization (GN) as a simple alternative to BN. GN divides the channels into groups and computes within each group the mean and variance for normalization. GN's computation is independent of batch sizes, and its accuracy is stable in a wide range of batch sizes. On ResNet-50 trained in ImageNet, GN has 10.6% lower error than its BN counterpart when using a batch size of 2; when using typical batch sizes, GN is comparably good with BN and outperforms other normalization variants. Moreover, GN can be naturally transferred from pre-training to fine-tuning. GN can outperform its BN-based counterparts for object detection and segmentation in COCO, and for video classification in Kinetics, showing that GN can effectively replace the powerful BN in a variety of tasks. GN can be easily implemented by a few lines of code in modern libraries.

Citation

@inproceedings{wu2018group,
  title={Group Normalization},
  author={Wu, Yuxin and He, Kaiming},
  booktitle={Proceedings of the European Conference on Computer Vision (ECCV)},
  year={2018}
}

Results and Models

Backbone model Lr schd Mem (GB) Inf time (fps) box AP mask AP Config Download
R-50-FPN (d) Mask R-CNN 2x 7.1 11.0 40.2 36.4 config model | log
R-50-FPN (d) Mask R-CNN 3x 7.1 - 40.5 36.7 config model | log
R-101-FPN (d) Mask R-CNN 2x 9.9 9.0 41.9 37.6 config model | log
R-101-FPN (d) Mask R-CNN 3x 9.9 42.1 38.0 config model | log
R-50-FPN (c) Mask R-CNN 2x 7.1 10.9 40.0 36.1 config model | log
R-50-FPN (c) Mask R-CNN 3x 7.1 - 40.1 36.2 config model | log

Notes:

  • (d) means pretrained model converted from Detectron, and (c) means the contributed model pretrained by @thangvubk.
  • The 3x schedule is epoch [28, 34, 36].
  • Memory, Train/Inf time is outdated.