In plain words: Deep networks often normalize each layer using the minibatch's average and spread, so an example's output shifts with its neighbors. A small correction reuses running averages so training matches test-time behavior, doing much better on small or unshuffled batches while keeping speed and stability.
Abstract · Batch Renormalization: Towards Reducing Minibatch Dependence in Batch-Normalized Models
Batch Normalization is quite effective at accelerating and improving the training of deep models. However, its effectiveness diminishes when the training minibatches are small, or do not consist of independent samples. We hypothesize that this is due to the dependence of model layer inputs on all the examples in the minibatch, and different activations being produced between training and inference. We propose Batch Renormalization, a simple and effective extension to ensure that the training and inference models generate the same outputs that depend on individual examples rather than the entire minibatch. Models trained with Batch Renormalization perform substantially better than batchnorm when training with small or non-i.i.d. minibatches. At the same time, Batch Renormalization retains the benefits of batchnorm such as insensitivity to initialization and training efficiency.
Sergey Ioffe
arXiv:1702.03275 · cs.LG · submitted Feb 10, 2017 · updated Mar 30, 2017
abstract · pdf · html