Normalisation Layers

The values passed between layers can change in scale as a network trains. Normalisation methods control aspects of those scales, but they differ in which values they compare and what they preserve.

16 sections · 15 questions · 4 coding challenges

1 / 16

Could We Give Each Layer a More Manageable Scale?

BOTIE

As earlier layers change during training, the numbers arriving at later layers change too. Their scale can make optimisation sensitive to initial weights and learning rates. We would like some control over those magnitudes inside the network, as well as at its input.

Ioffe and Szegedy introduced batch normalization in 2015 as a way to accelerate training, originally motivating it through changing internal input distributions. Ba, Kiros and Hinton introduced layer normalization in 2016, addressing limitations associated with batch-dependent statistics, including their use in recurrent networks. The original motivation should not be mistaken for a complete account of why normalisation improves optimisation.

Both approaches measure a centre and spread, rescale activations, and allow learned adjustments afterward. What differs is which values form the group being measured. Batch normalisation uses batch-related statistics; layer normalisation works across features within an example. That choice affects training, evaluation, and whether one example's output depends on others in the batch.

Sources for this history