This paper introduces layer normalization, a simple normalization method to improve the training
speed for various neural network models. Unlike batch normalization, the proposed method directly
estimates the normalization statistics from the summed inputs to the neurons within a hidden layer
so the normalization does not introduce any new dependencies between training cases. We show that
layer normalization works well for RNNs and improves both the training time and the generalization
performance of several existing RNN models.
2 Background
A feed-forward neural network is a non-linear mapping from a input pattern xto an output vector
y. Consider the lthhidden layer in a deep feed-forward, neural network, and let albe the vector
representation of the summed inputs to the neurons in that layer. The summed inputs are computed
through a linear projection with the weight matrix Wland the bottom-up inputs hlgiven as follows:
al
i=wl
i>hlhl+1
i=f(al
i+bl
i) (1)
wheref()is an element-wise non-linear function and wl
iis the incoming weights to the ithhidden
units andbl
iis the scalar bias parameter. The parameters in the neural network are learnt using
gradient-based optimization algorithms with the gradients being computed by back-propagation.
Training state-of-the-art, deep neural networks is computationally expensive.
One way to reduce the training time is to normalize the activities of the
neurons. A recently introduced technique called batch normalization uses the
distribution of the summed input to a neuron over a mini-batch of training
cases to compute a mean and variance which are then used to normalize the
summed input to that neuron on each training case. This significantly reduces
the training time in feed-forward neural networks. However, the effect of batch
normalization is dependent on the mini-batch size and it is not obvious how to
apply it to recurrent neural networks. In this paper, we transpose batch
normalization into layer normalization by computing the mean and variance used
for normalization from all of the summed inputs to the neurons in a layer on a
single training case. Like batch normalization, we also give each neuron its
own adaptive bias and gain which are applied after the normalization but before
the non-linearity. Unlike batch normalization, layer normalization performs
exactly the same computation at training and test times. It is also
straightforward to apply to recurrent neural networks by computing the
normalization statistics separately at each time step. Layer normalization is
very effective at stabilizing the hidden state dynamics in recurrent networks.
Empirically, we show that layer normalization can substantially reduce the
training time compared with previously published techniques.
Jimmy Lei Ba Jamie Ryan Kiros Geoffrey E. Hinton