Iterative Normalization: Beyond Standardization towards Efficient Whitening

Lei Huang, Yi Zhou, Fan Zhu, Li Liu, Ling Shao
4/6/2019
cs.CVcs.LG

Official code: huangleiBuaa/IterNorm (27 stars, BSD-2-Clause, last commit 2021-01-19).

Abstract

Batch Normalization (BN) is ubiquitously employed for accelerating neural network training and improving the generalization capability by performing standardization within mini-batches. Decorrelated Batch Normalization (DBN) further boosts the above effectiveness by whitening. However, DBN relies heavily on either a large batch size, or eigen-decomposition that suffers from poor efficiency on GPUs. We propose Iterative Normalization (IterNorm), which employs Newton's iterations for much more efficient whitening, while simultaneously avoiding the eigen-decomposition. Furthermore, we develop a comprehensive study to show IterNorm has better trade-off between optimization and generalization, with theoretical and experimental support. To this end, we exclusively introduce Stochastic Normalization Disturbance (SND), which measures the inherent stochastic uncertainty of samples when applied to normalization operations. With the support of SND, we provide natural explanations to several phenomena from the perspective of optimization, e.g., why group-wise whitening of DBN generally outperforms full-whitening and why the accuracy of BN degenerates with reduced batch sizes. We demonstrate the consistently improved performance of IterNorm with extensive experiments on CIFAR-10 and ImageNet over BN and DBN.

View on arXivView PDF

Code Implementations(1)

BSD-2-Clause

This project is the Torch implementation of our accepted CVPR 2019 paper, Iterative Normalization: Beyond Standardization towards Efficient Whitening

273Lua, CMakeApr 1, 20195 years agoBSD-2-Clause

Similar Papers

Cite this paper

@article{huang2019iterative,
  title  = {Iterative Normalization: Beyond Standardization towards Efficient Whitening},
  author = {Lei Huang and Yi Zhou and Fan Zhu and Li Liu and Ling Shao},
  year   = {2019},
  eprint = {1904.03441},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1904.03441}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1904.03441.svg)](https://codeofpaper.com/paper/1904.03441)

Discussion