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.
1 Introduction
Deep neural networks trained with some version of Stochastic Gradient Descent have been shown
to substantially outperform previous approaches on various supervised learning tasks in computer
vision [Krizhevsky et al., 2012] and speech processing [Hinton et al., 2012]. But state-of-the-art
deep neural networks often require many days of training. It is possible to speed-up the learning
by computing gradients for different subsets of the training cases on different machines or splitting
the neural network itself over many machines [Dean et al., 2012], but this can require a lot of communication and complex software. It also tends to lead to rapidly diminishing returns as the degree
of parallelization increases. An orthogonal approach is to modify the computations performed in
the forward pass of the neural net to make learning easier. Recently, batch normalization [Ioffe and
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