Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs

Summary:
Deep Convolutional Neural Networks (DCNNs) have recently shown state of the
art performance in high level vision tasks, such as image classification and
object detection. This work brings together methods from DCNNs and
probabilistic graphical models for addressing the task of pixel-level
classification (also called "semantic image segmentation"). We show that
responses at the final layer of DCNNs are not sufficiently localized for
accurate object segmentation. This is due to the very invariance properties
that make DCNNs good for high level tasks. We overcome this poor localization
property of deep networks by combining the responses at the final DCNN layer
with a fully connected Conditional Random Field (CRF). Qualitatively, our
"DeepLab" system is able to localize segment boundaries at a level of accuracy
which is beyond previous methods. Quantitatively, our method sets the new
state-of-art at the PASCAL VOC-2012 semantic image segmentation task, reaching
71.6% IOU accuracy in the test set. We show how these results can be obtained
efficiently: Careful network re-purposing and a novel application of the 'hole'
algorithm from the wavelet community allow dense computation of neural net
responses at 8 frames per second on a modern GPU.

Liang-Chieh Chen
George Papandreou
Iasonas Kokkinos
Kevin Murphy
Alan L. Yuille

14 pages. Updated related work

Published as a conference paper at ICLR 2015
SEMANTIC IMAGE SEGMENTATION WITH DEEP CON-
VOLUTIONAL NETS AND FULLY CONNECTED CRF S
Liang-Chieh Chen
Univ. of California, Los Angeles
lcchen@cs.ucla.edu
George Papandreou
Google Inc.
gpapan@google.com
Iasonas Kokkinos
CentraleSup ´elec and INRIA
iasonas.kokkinos@ecp.fr
Kevin Murphy
Google Inc.
kpmurphy@google.com
Alan L. Yuille
Univ. of California, Los Angeles
yuille@stat.ucla.edu
ABSTRACT
Deep Convolutional Neural Networks (DCNNs) have recently shown state of the
art performance in high level vision tasks, such as image classiﬁcation and ob-
ject detection. This work brings together methods from DCNNs and probabilistic
graphical models for addressing the task of pixel-level classiﬁcation (also called
”semantic image segmentation”). We show that responses at the ﬁnal layer of
DCNNs are not sufﬁciently localized for accurate object segmentation. This is
due to the very invariance properties that make DCNNs good for high level tasks.
We overcome this poor localization property of deep networks by combining the
responses at the ﬁnal DCNN layer with a fully connected Conditional Random
Field (CRF). Qualitatively, our “DeepLab” system is able to localize segment
boundaries at a level of accuracy which is beyond previous methods. Quantita-
tively, our method sets the new state-of-art at the PASCAL VOC-2012 semantic
image segmentation task, reaching 71.6% IOU accuracy in the test set. We show
how these results can be obtained efﬁciently: Careful network re-purposing and a
novel application of the ’hole’ algorithm from the wavelet community allow dense
computation of neural net responses at 8 frames per second on a modern GPU.
1 I NTRODUCTION
Deep Convolutional Neural Networks (DCNNs) had been the method of choice for document recog-
nition since LeCun et al. (1998), but have only recently become the mainstream of high-level vision
research. Over the past two years DCNNs have pushed the performance of computer vision sys-
tems to soaring heights on a broad array of high-level problems, including image classiﬁcation
(Krizhevsky et al., 2013; Sermanet et al., 2013; Simonyan & Zisserman, 2014; Szegedy et al., 2014;
Work initiated when G.P. was with the Toyota Technological Institute at Chicago. The ﬁrst two authors
contributed equally to this work.
1arXiv:1412.7062v4  [cs.CV]  7 Jun 2016
Published as a conference paper at ICLR 2015
Papandreou et al., 2014), object detection (Girshick et al., 2014), ﬁne-grained categorization (Zhang
et al., 2014), among others. A common theme in these works is that DCNNs trained in an end-to-end
manner deliver strikingly better results than systems relying on carefully engineered representations,
such as SIFT or HOG features. This success can be partially attributed to the built-in invariance of
DCNNs to local image transformations, which underpins their ability to learn hierarchical abstrac-
tions of data (Zeiler & Fergus, 2014). While this invariance is clearly desirable for high-level vision
tasks, it can hamper low-level tasks, such as pose estimation (Chen & Yuille, 2014; Tompson et al.,
2014) and semantic segmentation - where we want precise localization, rather than abstraction of
spatial details.
There are two technical hurdles in the application of DCNNs to image labeling tasks: signal down-
sampling, and spatial ‘insensitivity’ (invariance). The ﬁrst problem relates to the reduction of signal
resolution incurred by the repeated combination of max-pooling and downsampling (‘striding’) per-
formed at every layer of standard DCNNs (Krizhevsky et al., 2013; Simonyan & Zisserman, 2014;
Szegedy et al., 2014). Instead, as in Papandreou et al. (2014), we employ the ‘atrous’ (with holes)
algorithm originally developed for efﬁciently computing the undecimated discrete wavelet transform
(Mallat, 1999). This allows efﬁcient dense computation of DCNN responses in a scheme substan-
tially simpler than earlier solutions to this problem (Giusti et al., 2013; Sermanet et al., 2013).
The second problem relates to the fact that obtaining object-centric decisions from a classiﬁer re-
quires invariance to spatial transformations, inherently limiting the spatial accuracy of the DCNN
model. We boost our model’s ability to capture ﬁne details by employing a fully-connected Condi-
tional Random Field (CRF). Conditional Random Fields have been broadly used in semantic seg-
mentation to combine class scores computed by multi-way classiﬁers with the low-level information
captured by the local interactions of pixels and edges (Rother et al., 2004; Shotton et al., 2009) or
superpixels (Lucchi et al., 2011). Even though works of increased sophistication have been proposed
to model the hierarchical dependency (He et al., 2004; Ladicky et al., 2009; Lempitsky et al., 2011)
and/or high-order dependencies of segments (Delong et al., 2012; Gonfaus et al., 2010; Kohli et al.,
2009; Chen et al., 2013; Wang et al., 2015), we use the fully connected pairwise CRF proposed by
Kr¨ahenb ¨uhl & Koltun (2011) for its efﬁcient computation, and ability to capture ﬁne edge details
while also catering for long range dependencies. That model was shown in Kr ¨ahenb ¨uhl & Koltun
(2011) to largely improve the performance of a boosting-based pixel-level classiﬁer, and in our work
we demonstrate that it leads to state-of-the-art results when coupled with a DCNN-based pixel-level
classiﬁer.
The three main advantages of our “DeepLab” system are (i) speed: by virtue of the ‘atrous’ algo-
rithm, our dense DCNN operates at 8 fps, while Mean Field Inference for the fully-connected CRF
requires 0.5 second, (ii) accuracy: we obtain state-of-the-art results on the PASCAL semantic seg-
mentation challenge, outperforming the second-best approach of Mostajabi et al. (2014) by a margin
of 7.2 %and (iii) simplicity: our system is composed of a cascade of two fairly well-established mod-
ules, DCNNs and CRFs.
2 R ELATED WORK
Our system works directly on the pixel representation, similarly to Long et al. (2014). This is in con-
trast to the two-stage approaches that are now most common in semantic segmentation with DCNNs:
such techniques typically use a cascade of bottom-up image segmentation and DCNN-based region
classiﬁcation, which makes the system commit to potential errors of the front-end segmentation sys-
tem. For instance, the bounding box proposals and masked regions delivered by (Arbel ´aez et al.,
2014; Uijlings et al., 2013) are used in Girshick et al. (2014) and (Hariharan et al., 2014b) as inputs
to a DCNN to introduce shape information into the classiﬁcation process. Similarly, the authors of
Mostajabi et al. (2014) rely on a superpixel representation. A celebrated non-DCNN precursor to
these works is the second order pooling method of (Carreira et al., 2012) which also assigns labels
to the regions proposals delivered by (Carreira & Sminchisescu, 2012). Understanding the perils
of committing to a single segmentation, the authors of Cogswell et al. (2014) build on (Yadollah-
pour et al., 2013) to explore a diverse set of CRF-based segmentation proposals, computed also by
(Carreira & Sminchisescu, 2012). These segmentation proposals are then re-ranked according to a
DCNN trained in particular for this reranking task. Even though this approach explicitly tries to
handle the temperamental nature of a front-end segmentation algorithm, there is still no explicit ex-
2
Published as a conference paper at ICLR 2015
ploitation of the DCNN scores in the CRF-based segmentation algorithm: the DCNN is only applied
post-hoc, while it would make sense to directly try to use its results during segmentation.
Moving towards works that lie closer to our approach, several other researchers have considered
the use of convolutionally computed DCNN features for dense image labeling. Among the ﬁrst
have been Farabet et al. (2013) who apply DCNNs at multiple image resolutions and then employ a
segmentation tree to smooth the prediction results; more recently, Hariharan et al. (2014a) propose to
concatenate the computed inter-mediate feature maps within the DCNNs for pixel classiﬁcation, and
Dai et al. (2014) propose to pool the inter-mediate feature maps by region proposals. Even though
these works still employ segmentation algorithms that are decoupled from the DCNN classiﬁer’s
results, we believe it is advantageous that segmentation is only used at a later stage, avoiding the
commitment to premature decisions.
More recently, the segmentation-free techniques of (Long et al., 2014; Eigen & Fergus, 2014) di-
rectly apply DCNNs to the whole image in a sliding window fashion, replacing the last fully con-
nected layers of a DCNN by convolutional layers. In order to deal with the spatial localization
issues outlined in the beginning of the introduction, Long et al. (2014) upsample and concatenate
the scores from inter-mediate feature maps, while Eigen & Fergus (2014) reﬁne the prediction result
from coarse to ﬁne by propagating the coarse results to another DCNN.
The main difference between our model and other state-of-the-art models is the combination of
pixel-level CRFs and DCNN-based ‘unary terms’. Focusing on the closest works in this direction,
Cogswell et al. (2014) use CRFs as a proposal mechanism for a DCNN-based reranking system,
while Farabet et al. (2013) treat superpixels as nodes for a local pairwise CRF and use graph-cuts for
discrete inference; as such their results can be limited by errors in superpixel computations, while ig-
noring long-range superpixel dependencies. Our approach instead treats every pixel as a CRF node,
exploits long-range dependencies, and uses CRF inference to directly optimize a DCNN-driven cost
function. We note that mean ﬁeld had been extensively studied for traditional image segmenta-
tion/edge detection tasks, e.g., (Geiger & Girosi, 1991; Geiger & Yuille, 1991; Kokkinos et al.,
2008), but recently Kr ¨ahenb ¨uhl & Koltun (2011) showed that the inference can be very efﬁcient for
fully connected CRF and particularly effective in the context of semantic segmentation.
After the ﬁrst version of our manuscript was made publicly available, it came to our attention that
two other groups have independently and concurrently pursued a very similar direction, combining
DCNNs and densely connected CRFs (Bell et al., 2014; Zheng et al., 2015). There are several
differences in technical aspects of the respective models. Bell et al. (2014) focus on the problem
of material classiﬁcation, while Zheng et al. (2015) unroll the CRF mean-ﬁeld inference steps to
convert the whole system into an end-to-end trainable feed-forward network.
We have updated our proposed “DeepLab” system with much improved methods and results in our
latest work (Chen et al., 2016). We refer the interested reader to the paper for details.
3 C ONVOLUTIONAL NEURAL NETWORKS FOR DENSE IMAGE LABELING
Herein we describe how we have re-purposed and ﬁnetuned the publicly available Imagenet-
pretrained state-of-art 16-layer classiﬁcation network of (Simonyan & Zisserman, 2014) (VGG-16)
into an efﬁcient and effective dense feature extractor for our dense semantic image segmentation
system.
3.1 E FFICIENT DENSE SLIDING WINDOW FEATURE EXTRACTION WITH THE HOLE
ALGORITHM
Dense spatial score evaluation is instrumental in the success of our dense CNN feature extractor. As
a ﬁrst step to implement this, we convert the fully-connected layers of VGG-16 into convolutional
ones and run the network in a convolutional fashion on the image at its original resolution. However
this is not enough as it yields very sparsely computed detection scores (with a stride of 32 pixels). To
compute scores more densely at our target stride of 8 pixels, we develop a variation of the method
previously employed by Giusti et al. (2013); Sermanet et al. (2013). We skip subsampling after
the last two max-pooling layers in the network of Simonyan & Zisserman (2014) and modify the
convolutional ﬁlters in the layers that follow them by introducing zeros to increase their length ( 2in
3
Published as a conference paper at ICLR 2015
Input stride
Output stride
Figure 1: Illustration of the hole algorithm in 1-D, when kernel size = 3 ,input stride = 2 , and
output stride = 1 .
the last three convolutional layers and 4in the ﬁrst fully connected layer). We can implement this
more efﬁciently by keeping the ﬁlters intact and instead sparsely sample the feature maps on which
they are applied on using an input stride of 2 or 4 pixels, respectively. This approach, illustrated
in Fig. 1 is known as the ‘hole algorithm’ (‘atrous algorithm’) and has been developed before for
efﬁcient computation of the undecimated wavelet transform (Mallat, 1999). We have implemented
this within the Caffe framework (Jia et al., 2014) by adding to the im2col function (it converts multi-
channel feature maps to vectorized patches) the option to sparsely sample the underlying feature
map. This approach is generally applicable and allows us to efﬁciently compute dense CNN feature
maps at any target subsampling rate without introducing any approximations.
We ﬁnetune the model weights of the Imagenet-pretrained VGG-16 network to adapt it to the image
classiﬁcation task in a straightforward fashion, following the procedure of Long et al. (2014). We
replace the 1000-way Imagenet classiﬁer in the last layer of VGG-16 with a 21-way one. Our
loss function is the sum of cross-entropy terms for each spatial position in the CNN output map
(subsampled by 8 compared to the original image). All positions and labels are equally weighted in
the overall loss function. Our targets are the ground truth labels (subsampled by 8). We optimize the
objective function with respect to the weights at all network layers by the standard SGD procedure
of Krizhevsky et al. (2013).
During testing, we need class score maps at the original image resolution. As illustrated in Figure 2
and further elaborated in Section 4.1, the class score maps (corresponding to log-probabilities) are
quite smooth, which allows us to use simple bilinear interpolation to increase their resolution by a
factor of 8 at a negligible computational cost. Note that the method of Long et al. (2014) does not
use the hole algorithm and produces very coarse scores (subsampled by a factor of 32) at the CNN
output. This forced them to use learned upsampling layers, signiﬁcantly increasing the complexity
and training time of their system: Fine-tuning our network on PASCAL VOC 2012 takes about 10
hours, while they report a training time of several days (both timings on a modern GPU).
3.2 C ONTROLLING THE RECEPTIVE FIELD SIZE AND ACCELERATING DENSE
COMPUTATION WITH CONVOLUTIONAL NETS
Another key ingredient in re-purposing our network for dense score computation is explicitly con-
trolling the network’s receptive ﬁeld size. Most recent DCNN-based image recognition methods
rely on networks pre-trained on the Imagenet large-scale classiﬁcation task. These networks typi-
cally have large receptive ﬁeld size: in the case of the VGG-16 net we consider, its receptive ﬁeld
is224224(with zero-padding) and 404404pixels if the net is applied convolutionally. After
converting the network to a fully convolutional one, the ﬁrst fully connected layer has 4,096 ﬁl-
ters of large 77spatial size and becomes the computational bottleneck in our dense score map
computation.
We have addressed this practical problem by spatially subsampling (by simple decimation) the ﬁrst
FC layer to 44(or33) spatial size. This has reduced the receptive ﬁeld of the network down to
128128(with zero-padding) or 308308(in convolutional mode) and has reduced computation time
for the ﬁrst FC layer by 23times. Using our Caffe-based implementation and a Titan GPU, the
resulting VGG-derived network is very efﬁcient: Given a 306306input image, it produces 3939
4
Published as a conference paper at ICLR 2015
dense raw feature scores at the top of the network at a rate of about 8 frames/sec during testing. The
speed during training is 3 frames/sec. We have also successfully experimented with reducing the
number of channels at the fully connected layers from 4,096 down to 1,024, considerably further
decreasing computation time and memory footprint without sacriﬁcing performance, as detailed in
Section 5. Using smaller networks such as Krizhevsky et al. (2013) could allow video-rate test-time
dense feature computation even on light-weight GPUs.
4 D ETAILED BOUNDARY RECOVERY : FULLY -CONNECTED CONDITIONAL
RANDOM FIELDS AND MULTI -SCALE PREDICTION
4.1 D EEPCONVOLUTIONAL NETWORKS AND THE LOCALIZATION CHALLENGE
As illustrated in Figure 2, DCNN score maps can reliably predict the presence and rough position
of objects in an image but are less well suited for pin-pointing their exact outline. There is a natural
trade-off between classiﬁcation accuracy and localization accuracy with convolutional networks:
Deeper models with multiple max-pooling layers have proven most successful in classiﬁcation tasks,
however their increased invariance and large receptive ﬁelds make the problem of inferring position
from the scores at their top output levels more challenging.
Recent work has pursued two directions to address this localization challenge. The ﬁrst approach is
to harness information from multiple layers in the convolutional network in order to better estimate
the object boundaries (Long et al., 2014; Eigen & Fergus, 2014). The second approach is to employ
a super-pixel representation, essentially delegating the localization task to a low-level segmentation
method. This route is followed by the very successful recent method of Mostajabi et al. (2014).
In Section 4.2, we pursue a novel alternative direction based on coupling the recognition capacity
of DCNNs and the ﬁne-grained localization accuracy of fully connected CRFs and show that it is
remarkably successful in addressing the localization challenge, producing accurate semantic seg-
mentation results and recovering object boundaries at a level of detail that is well beyond the reach
of existing methods.
4.2 F ULLY -CONNECTED CONDITIONAL RANDOM FIELDS FOR ACCURATE LOCALIZATION
Image/G.T. DCNN output CRF Iteration 1 CRF Iteration 2 CRF Iteration 10
Figure 2: Score map (input before softmax function) and belief map (output of softmax function) for
Aeroplane. We show the score (1st row) and belief (2nd row) maps after each mean ﬁeld iteration.
The output of last DCNN layer is used as input to the mean ﬁeld inference. Best viewed in color.
Traditionally, conditional random ﬁelds (CRFs) have been employed to smooth noisy segmentation
maps (Rother et al., 2004; Kohli et al., 2009). Typically these models contain energy terms that
couple neighboring nodes, favoring same-label assignments to spatially proximal pixels. Qualita-
tively, the primary function of these short-range CRFs has been to clean up the spurious predictions
of weak classiﬁers built on top of local hand-engineered features.
Compared to these weaker classiﬁers, modern DCNN architectures such as the one we use in this
work produce score maps and semantic label predictions which are qualitatively different. As illus-
trated in Figure 2, the score maps are typically quite smooth and produce homogeneous classiﬁcation
results. In this regime, using short-range CRFs can be detrimental, as our goal should be to recover
detailed local structure rather than further smooth it. Using contrast-sensitive potentials (Rother
5
Published as a conference paper at ICLR 2015
Deep
Convolutional
Neural
Network
InputAeroplane
Coarse Score map
Bi-linear Interpolation Fully Connected CRF Final Output
Figure 3: Model Illustration. The coarse score map from Deep Convolutional Neural Network (with
fully convolutional layers) is upsampled by bi-linear interpolation. A fully connected CRF is applied
to reﬁne the segmentation result. Best viewed in color.
et al., 2004) in conjunction to local-range CRFs can potentially improve localization but still miss
thin-structures and typically requires solving an expensive discrete optimization problem.
To overcome these limitations of short-range CRFs, we integrate into our system the fully connected
CRF model of Kr ¨ahenb ¨uhl & Koltun (2011). The model employs the energy function
E(x) =X
ii(xi) +X
ijij(xi;xj) (1)
where xis the label assignment for pixels. We use as unary potential i(xi) =logP(xi), where
P(xi)is the label assignment probability at pixel ias computed by DCNN. The pairwise potential
isij(xi;xj) =(xi;xj)PK
m=1wmkm(fi;fj), where(xi;xj) = 1 ifxi6=xj, and zero
otherwise ( i.e., Potts Model). There is one pairwise term for each pair of pixels iandjin the image
no matter how far from each other they lie, i.e. the model’s factor graph is fully connected. Each km
is the Gaussian kernel depends on features (denoted as f) extracted for pixel iandjand is weighted
by parameter wm. We adopt bilateral position and color terms, speciﬁcally, the kernels are
w1exp
jjpipjjj2
22jjIiIjjj2
22

+w2exp
jjpipjjj2
22

(2)
where the ﬁrst kernel depends on both pixel positions (denoted as p) and pixel color intensities
(denoted asI), and the second kernel only depends on pixel positions. The hyper parameters ,
and
control the “scale” of the Gaussian kernels.
Crucially, this model is amenable to efﬁcient approximate probabilistic inference (Kr ¨ahenb ¨uhl &
Koltun, 2011). The message passing updates under a fully decomposable mean ﬁeld approxima-
tionb(x) =Q
ibi(xi)can be expressed as convolutions with a Gaussian kernel in feature space.
High-dimensional ﬁltering algorithms (Adams et al., 2010) signiﬁcantly speed-up this computation
resulting in an algorithm that is very fast in practice, less that 0.5 sec on average for Pascal VOC
images using the publicly available implementation of (Kr ¨ahenb ¨uhl & Koltun, 2011).
4.3 M ULTI -SCALE PREDICTION
Following the promising recent results of (Hariharan et al., 2014a; Long et al., 2014) we have also
explored a multi-scale prediction method to increase the boundary localization accuracy. Specif-
ically, we attach to the input image and the output of each of the ﬁrst four max pooling layers a
two-layer MLP (ﬁrst layer: 128 3x3 convolutional ﬁlters, second layer: 128 1x1 convolutional ﬁl-
ters) whose feature map is concatenated to the main network’s last layer feature map. The aggregate
feature map fed into the softmax layer is thus enhanced by 5 * 128 = 640 channels. We only adjust
the newly added weights, keeping the other network parameters to the values learned by the method
of Section 3. As discussed in the experimental section, introducing these extra direct connections
from ﬁne-resolution layers improves localization performance, yet the effect is not as dramatic as
the one obtained with the fully-connected CRF.
6
Published as a conference paper at ICLR 2015
Method mean IOU (%)
DeepLab 59.80
DeepLab-CRF 63.74
DeepLab-MSc 61.30
DeepLab-MSc-CRF 65.21
DeepLab-7x7 64.38
DeepLab-CRF-7x7 67.64
DeepLab-LargeFOV 62.25
DeepLab-CRF-LargeFOV 67.64
DeepLab-MSc-LargeFOV 64.21
DeepLab-MSc-CRF-LargeFOV 68.70Method mean IOU (%)
MSRA-CFM 61.8
FCN-8s 62.2
TTI-Zoomout-16 64.4
DeepLab-CRF 66.4
DeepLab-MSc-CRF 67.1
DeepLab-CRF-7x7 70.3
DeepLab-CRF-LargeFOV 70.3
DeepLab-MSc-CRF-LargeFOV 71.6
(a) (b)
Table 1: (a) Performance of our proposed models on the PASCAL VOC 2012 ‘val’ set (with training
in the augmented ‘train’ set). The best performance is achieved by exploiting both multi-scale
features and large ﬁeld-of-view. (b) Performance of our proposed models (with training in the
augmented ‘trainval’ set) compared to other state-of-art methods on the PASCAL VOC 2012 ‘test’
set.
5 E XPERIMENTAL EVALUATION
Dataset We test our DeepLab model on the PASCAL VOC 2012 segmentation benchmark (Ev-
eringham et al., 2014), consisting of 20 foreground object classes and one background class. The
original dataset contains 1;464,1;449, and 1;456images for training, validation, and testing, re-
spectively. The dataset is augmented by the extra annotations provided by Hariharan et al. (2011),
resulting in 10;582training images. The performance is measured in terms of pixel intersection-
over-union (IOU) averaged across the 21 classes.
Training We adopt the simplest form of piecewise training, decoupling the DCNN and CRF train-
ing stages, assuming the unary terms provided by the DCNN are ﬁxed during CRF training.
For DCNN training we employ the VGG-16 network which has been pre-trained on ImageNet. We
ﬁne-tuned the VGG-16 network on the VOC 21-way pixel-classiﬁcation task by stochastic gradient
descent on the cross-entropy loss function, as described in Section 3.1. We use a mini-batch of 20
images and initial learning rate of 0:001(0:01for the ﬁnal classiﬁer layer), multiplying the learning
rate by 0.1 at every 2000 iterations. We use momentum of 0:9and a weight decay of 0:0005 .
After the DCNN has been ﬁne-tuned, we cross-validate the parameters of the fully connected CRF
model in Eq. (2) along the lines of Kr ¨ahenb ¨uhl & Koltun (2011). We use the default values of
w2= 3 and
= 3 and we search for the best values of w1,, andby cross-validation on a
small subset of the validation set (we use 100 images). We employ coarse-to-ﬁne search scheme.
Speciﬁcally, the initial search range of the parameters are w12[5;10],2[50 : 10 : 100] and
2[3 : 1 : 10] (MATLAB notation), and then we reﬁne the search step sizes around the ﬁrst
round’s best values. We ﬁx the number of mean ﬁeld iterations to 10 for all reported experiments.
Evaluation on Validation set We conduct the majority of our evaluations on the PASCAL ‘val’
set, training our model on the augmented PASCAL ‘train’ set. As shown in Tab. 1 (a), incorporating
the fully connected CRF to our model (denoted by DeepLab-CRF) yields a substantial performance
boost, about 4% improvement over DeepLab. We note that the work of Kr ¨ahenb ¨uhl & Koltun
(2011) improved the 27:6%result of TextonBoost (Shotton et al., 2009) to 29:1%, which makes the
improvement we report here (from 59:8%to63:7%) all the more impressive.
Turning to qualitative results, we provide visual comparisons between DeepLab and DeepLab-CRF
in Fig. 7. Employing a fully connected CRF signiﬁcantly improves the results, allowing the model
to accurately capture intricate object boundaries.
Multi-Scale features We also exploit the features from the intermediate layers, similar to Hariha-
ran et al. (2014a); Long et al. (2014). As shown in Tab. 1 (a), adding the multi-scale features to our
7
Published as a conference paper at ICLR 2015
Method kernel size input stride receptive ﬁeld # parameters mean IOU (%) Training speed (img/sec)
DeepLab-CRF-7x7 77 4 224 134.3M 67.64 1.44
DeepLab-CRF 44 4 128 65.1M 63.74 2.90
DeepLab-CRF-4x4 44 8 224 65.1M 67.14 2.90
DeepLab-CRF-LargeFOV 33 12 224 20.5M 67.64 4.84
Table 2: Effect of Field-Of-View. We show the performance (after CRF) and training speed on the
PASCAL VOC 2012 ‘val’ set as the function of (1) the kernel size of ﬁrst fully connected layer, (2)
the input stride value employed in the atrous algorithm.
DeepLab model (denoted as DeepLab-MSc) improves about 1:5%performance, and further incor-
porating the fully connected CRF (denoted as DeepLab-MSc-CRF) yields about 4% improvement.
The qualitative comparisons between DeepLab and DeepLab-MSc are shown in Fig. 4. Leveraging
the multi-scale features can slightly reﬁne the object boundaries.
Field of View The ‘atrous algorithm’ we employed allows us to arbitrarily control the Field-of-
View (FOV) of the models by adjusting the input stride, as illustrated in Fig. 1. In Tab. 2, we
experiment with several kernel sizes and input strides at the ﬁrst fully connected layer. The method,
DeepLab-CRF-7x7, is the direct modiﬁcation from VGG-16 net, where the kernel size = 77and
input stride = 4. This model yields performance of 67:64% on the ‘val’ set, but it is relatively slow
(1:44images per second during training). We have improved model speed to 2:9images per second
by reducing the kernel size to 44. We have experimented with two such network variants with
different FOV sizes, DeepLab-CRF and DeepLab-CRF-4x4; the latter has large FOV ( i.e., large
input stride) and attains better performance. Finally, we employ kernel size 33and input stride =
12, and further change the ﬁlter sizes from 4096 to 1024 for the last two layers. Interestingly, the
resulting model, DeepLab-CRF-LargeFOV , matches the performance of the expensive DeepLab-
CRF-7x7. At the same time, it is 3:36times faster to run and has signiﬁcantly fewer parameters
(20.5M instead of 134.3M).
The performance of several model variants is summarized in Tab. 1, showing the beneﬁt of exploiting
multi-scale features and large FOV .
Figure 4: Incorporating multi-scale features improves the boundary segmentation. We show the
results obtained by DeepLab and DeepLab-MSc in the ﬁrst and second row, respectively. Best
viewed in color.
Mean Pixel IOU along Object Boundaries To quantify the accuracy of the proposed model near
object boundaries, we evaluate the segmentation accuracy with an experiment similar to Kohli et al.
(2009); Kr ¨ahenb ¨uhl & Koltun (2011). Speciﬁcally, we use the ‘void’ label annotated in val set,
which usually occurs around object boundaries. We compute the mean IOU for those pixels that
are located within a narrow band (called trimap) of ‘void’ labels. As shown in Fig. 5, exploiting
the multi-scale features from the intermediate layers and reﬁning the segmentation results by a fully
connected CRF signiﬁcantly improve the results around object boundaries.
Comparison with State-of-art In Fig. 6, we qualitatively compare our proposed model, DeepLab-
CRF, with two state-of-art models: FCN-8s (Long et al., 2014) and TTI-Zoomout-16 (Mostajabi
et al., 2014) on the ‘val’ set (the results are extracted from their papers). Our model is able to
capture the intricate object boundaries.
8
Published as a conference paper at ICLR 2015
0 510 15 20 25 30 35 405560657075808590Pixelwise Accuracy (%)
Trimap Width (pixels)
DL−MSc−CRF
DeepLab−CRF
DeepLab−MSc
DeepLab
0 510 15 20 25 30 35 4035404550556065mean IOU (%)
Trimap Width (pixels)
DL−MSc−CRF
DeepLab−CRF
DeepLab−MSc
DeepLab
(a) (b) (c)
Figure 5: (a) Some trimap examples (top-left: image. top-right: ground-truth. bottom-left: trimap
of 2 pixels. bottom-right: trimap of 10 pixels). Quality of segmentation result within a band around
the object boundaries for the proposed methods. (b) Pixelwise accuracy. (c) Pixel mean IOU.
(a) FCN-8s vs. DeepLab-CRF (b) TTI-Zoomout-16 vs. DeepLab-CRF
Figure 6: Comparisons with state-of-the-art models on the val set. First row: images. Second row:
ground truths. Third row: other recent models (Left: FCN-8s, Right: TTI-Zoomout-16). Fourth
row: our DeepLab-CRF. Best viewed in color.
Reproducibility We have implemented the proposed methods by extending the excellent Caffe
framework (Jia et al., 2014). We share our source code, conﬁguration ﬁles, and trained models that
allow reproducing the results in this paper at a companion web site https://bitbucket.org/
deeplab/deeplab-public .
Test set results Having set our model choices on the validation set, we evaluate our model variants
on the PASCAL VOC 2012 ofﬁcial ‘test’ set. As shown in Tab. 3, our DeepLab-CRF and DeepLab-
MSc-CRF models achieve performance of 66:4%and67:1%mean IOU1, respectively. Our models
outperform all the other state-of-the-art models (speciﬁcally, TTI-Zoomout-16 (Mostajabi et al.,
2014), FCN-8s (Long et al., 2014), and MSRA-CFM (Dai et al., 2014)). When we increase the FOV
of the models, DeepLab-CRF-LargeFOV yields performance of 70:3%, the same as DeepLab-CRF-
7x7, while its training speed is faster. Furthermore, our best model, DeepLab-MSc-CRF-LargeFOV ,
attains the best performance of 71:6%by employing both multi-scale features and large FOV .
1http://host.robots.ox.ac.uk:8080/leaderboard/displaylb.php?
challengeid=11&compid=6
9
Published as a conference paper at ICLR 2015
Figure 7: Visualization results on VOC 2012-val. For each row, we show the input image, the
segmentation result delivered by the DCNN (DeepLab), and the reﬁned segmentation result of the
Fully Connected CRF (DeepLab-CRF). We show our failure modes in the last three rows. Best
viewed in color.
10
Published as a conference paper at ICLR 2015
Method bkg aero bike bird boat bottle bus car cat chair cow table dog horse mbike person plant sheep sofa train tv mean
MSRA-CFM -75.7 26.7 69.5 48.8 65.6 81.0 69.2 73.3 30.0 68.7 51.5 69.1 68.1 71.7 67.5 50.4 66.5 44.4 58.9 53.5 61.8
FCN-8s -76.8 34.2 68.9 49.4 60.3 75.3 74.7 77.6 21.4 62.5 46.8 71.8 63.9 76.5 73.9 45.2 72.4 37.4 70.9 55.1 62.2
TTI-Zoomout-16 89.8 81.9 35.1 78.2 57.4 56.5 80.5 74.0 79.8 22.4 69.6 53.7 74.0 76.0 76.6 68.8 44.3 70.2 40.2 68.9 55.3 64.4
DeepLab-CRF 92.1 78.4 33.1 78.2 55.6 65.3 81.3 75.5 78.6 25.3 69.2 52.7 75.2 69.0 79.1 77.6 54.7 78.3 45.1 73.3 56.2 66.4
DeepLab-MSc-CRF 92.6 80.4 36.8 77.4 55.2 66.4 81.5 77.5 78.9 27.1 68.2 52.7 74.3 69.6 79.4 79.0 56.9 78.8 45.2 72.7 59.3 67.1
DeepLab-CRF-7x7 92.8 83.9 36.6 77.5 58.4 68.0 84.6 79.7 83.1 29.5 74.6 59.3 78.9 76.0 82.1 80.6 60.3 81.7 49.2 78.0 60.7 70.3
DeepLab-CRF-LargeFOV 92.6 83.5 36.6 82.5 62.3 66.5 85.4 78.5 83.7 30.4 72.9 60.4 78.5 75.5 82.1 79.7 58.2 82.0 48.8 73.7 63.3 70.3
DeepLab-MSc-CRF-LargeFOV 93.1 84.4 54.5 81.5 63.6 65.9 85.1 79.1 83.4 30.7 74.1 59.8 79.0 76.1 83.2 80.8 59.7 82.2 50.4 73.1 63.7 71.6
Table 3: Labeling IOU (%) on the PASCAL VOC 2012 test set, using the trainval set for training.
6 D ISCUSSION
Our work combines ideas from deep convolutional neural networks and fully-connected conditional
random ﬁelds, yielding a novel method able to produce semantically accurate predictions and de-
tailed segmentation maps, while being computationally efﬁcient. Our experimental results show that
the proposed method signiﬁcantly advances the state-of-art in the challenging PASCAL VOC 2012
semantic image segmentation task.
There are multiple aspects in our model that we intend to reﬁne, such as fully integrating its two
main components (CNN and CRF) and train the whole system in an end-to-end fashion, similar to
Kr¨ahenb ¨uhl & Koltun (2013); Chen et al. (2014); Zheng et al. (2015). We also plan to experiment
with more datasets and apply our method to other sources of data such as depth maps or videos. Re-
cently, we have pursued model training with weakly supervised annotations, in the form of bounding
boxes or image-level labels (Papandreou et al., 2015).
At a higher level, our work lies in the intersection of convolutional neural networks and probabilistic
graphical models. We plan to further investigate the interplay of these two powerful classes of
methods and explore their synergistic potential for solving challenging computer vision tasks.
ACKNOWLEDGMENTS
This work was partly supported by ARO 62250-CS, NIH Grant 5R01EY022247-03, EU Project
RECONFIG FP7-ICT-600825 and EU Project MOBOT FP7-ICT-2011-600796. We also gratefully
acknowledge the support of NVIDIA Corporation with the donation of GPUs used for this research.
We would like to thank the anonymous reviewers for their detailed comments and constructive feed-
back.
PAPER REVISIONS
Here we present the list of major paper revisions for the convenience of the readers.
v1 Submission to ICLR 2015. Introduces the model DeepLab-CRF, which attains the performance
of66:4%on PASCAL VOC 2012 test set.
v2 Rebuttal for ICLR 2015. Adds the model DeepLab-MSc-CRF, which incorporates multi-scale
features from the intermediate layers. DeepLab-MSc-CRF yields the performance of 67:1%on
PASCAL VOC 2012 test set.
v3 Camera-ready for ICLR 2015. Experiments with large Field-Of-View. On PASCAL VOC 2012
test set, DeepLab-CRF-LargeFOV achieves the performance of 70:3%. When exploiting both mutli-
scale features and large FOV , DeepLab-MSc-CRF-LargeFOV attains the performance of 71:6%.
v4 Reference to our updated “DeepLab” system (Chen et al., 2016) with much improved results.
REFERENCES
Adams, A., Baek, J., and Davis, M. A. Fast high-dimensional ﬁltering using the permutohedral
lattice. In Computer Graphics Forum , 2010.
Arbel ´aez, P., Pont-Tuset, J., Barron, J. T., Marques, F., and Malik, J. Multiscale combinatorial
grouping. In CVPR , 2014.
11
Published as a conference paper at ICLR 2015
Bell, S., Upchurch, P., Snavely, N., and Bala, K. Material recognition in the wild with the materials
in context database. arXiv:1412.0623 , 2014.
Carreira, J. and Sminchisescu, C. Cpmc: Automatic object segmentation using constrained para-
metric min-cuts. PAMI , 2012.
Carreira, J., Caseiro, R., Batista, J., and Sminchisescu, C. Semantic segmentation with second-order
pooling. In ECCV , 2012.
Chen, L.-C., Papandreou, G., and Yuille, A. Learning a dictionary of shape epitomes with applica-
tions to image labeling. In ICCV , 2013.
Chen, L.-C., Schwing, A., Yuille, A., and Urtasun, R. Learning deep structured models.
arXiv:1407.2538 , 2014.
Chen, L.-C., Papandreou, G., Kokkinos, I., Murphy, K., and Yuille, A. L. Deeplab: Semantic
image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs.
arXiv:1606.00915 , 2016.
Chen, X. and Yuille, A. L. Articulated pose estimation by a graphical model with image dependent
pairwise relations. In NIPS , 2014.
Cogswell, M., Lin, X., Purushwalkam, S., and Batra, D. Combining the best of graphical models
and convnets for semantic segmentation. arXiv:1412.4313 , 2014.
Dai, J., He, K., and Sun, J. Convolutional feature masking for joint object and stuff segmentation.
arXiv:1412.1283 , 2014.
Delong, A., Osokin, A., Isack, H. N., and Boykov, Y . Fast approximate energy minimization with
label costs. IJCV , 2012.
Eigen, D. and Fergus, R. Predicting depth, surface normals and semantic labels with a common
multi-scale convolutional architecture. arXiv:1411.4734 , 2014.
Everingham, M., Eslami, S. M. A., Gool, L. V ., Williams, C. K. I., Winn, J., and Zisserma, A. The
pascal visual object classes challenge a retrospective. IJCV , 2014.
Farabet, C., Couprie, C., Najman, L., and LeCun, Y . Learning hierarchical features for scene label-
ing.PAMI , 2013.
Geiger, D. and Girosi, F. Parallel and deterministic algorithms from mrfs: Surface reconstruction.
PAMI , 13(5):401–412, 1991.
Geiger, D. and Yuille, A. A common framework for image segmentation. IJCV , 6(3):227–243,
1991.
Girshick, R., Donahue, J., Darrell, T., and Malik, J. Rich feature hierarchies for accurate object
detection and semantic segmentation. In CVPR , 2014.
Giusti, A., Ciresan, D., Masci, J., Gambardella, L., and Schmidhuber, J. Fast image scanning with
deep max-pooling convolutional neural networks. In ICIP , 2013.
Gonfaus, J. M., Boix, X., Van de Weijer, J., Bagdanov, A. D., Serrat, J., and Gonzalez, J. Harmony
potentials for joint classiﬁcation and segmentation. In CVPR , 2010.
Hariharan, B., Arbel ´aez, P., Bourdev, L., Maji, S., and Malik, J. Semantic contours from inverse
detectors. In ICCV , 2011.
Hariharan, B., Arbel ´aez, P., Girshick, R., and Malik, J. Hypercolumns for object segmentation and
ﬁne-grained localization. arXiv:1411.5752 , 2014a.
Hariharan, B., Arbel ´aez, P., Girshick, R., and Malik, J. Simultaneous detection and segmentation.
InECCV , 2014b.
12
Published as a conference paper at ICLR 2015
He, X., Zemel, R. S., and Carreira-Perpindn, M. Multiscale conditional random ﬁelds for image
labeling. In CVPR , 2004.
Jia, Y ., Shelhamer, E., Donahue, J., Karayev, S., Long, J., Girshick, R., Guadarrama, S., and Darrell,
T. Caffe: Convolutional architecture for fast feature embedding. arXiv:1408.5093 , 2014.
Kohli, P., Ladicky, L., and Torr, P. H. Robust higher order potentials for enforcing label consistency.
IJCV , 2009.
Kokkinos, I., Deriche, R., Faugeras, O., and Maragos, P. Computational analysis and learning for a
biologically motivated model of boundary detection. Neurocomputing , 71(10):1798–1812, 2008.
Kr¨ahenb ¨uhl, P. and Koltun, V . Efﬁcient inference in fully connected crfs with gaussian edge poten-
tials. In NIPS , 2011.
Kr¨ahenb ¨uhl, P. and Koltun, V . Parameter learning and convergent inference for dense random ﬁelds.
InICML , 2013.
Krizhevsky, A., Sutskever, I., and Hinton, G. E. Imagenet classiﬁcation with deep convolutional
neural networks. In NIPS , 2013.
Ladicky, L., Russell, C., Kohli, P., and Torr, P. H. Associative hierarchical crfs for object class image
segmentation. In ICCV , 2009.
LeCun, Y ., Bottou, L., Bengio, Y ., and Haffner, P. Gradient-based learning applied to document
recognition. In Proc. IEEE , 1998.
Lempitsky, V ., Vedaldi, A., and Zisserman, A. Pylon model for semantic segmentation. In NIPS ,
2011.
Long, J., Shelhamer, E., and Darrell, T. Fully convolutional networks for semantic segmentation.
arXiv:1411.4038 , 2014.
Lucchi, A., Li, Y ., Boix, X., Smith, K., and Fua, P. Are spatial and global constraints really necessary
for segmentation? In ICCV , 2011.
Mallat, S. A Wavelet Tour of Signal Processing . Acad. Press, 2 edition, 1999.
Mostajabi, M., Yadollahpour, P., and Shakhnarovich, G. Feedforward semantic segmentation with
zoom-out features. arXiv:1412.0774 , 2014.
Papandreou, G., Kokkinos, I., and Savalle, P.-A. Untangling local and global deformations in deep
convolutional networks for image classiﬁcation and sliding window detection. arXiv:1412.0296 ,
2014.
Papandreou, G., Chen, L.-C., Murphy, K., and Yuille, A. L. Weakly- and semi-supervised learning
of a DCNN for semantic image segmentation. arXiv:1502.02734 , 2015.
Rother, C., Kolmogorov, V ., and Blake, A. Grabcut: Interactive foreground extraction using iterated
graph cuts. In SIGGRAPH , 2004.
Sermanet, P., Eigen, D., Zhang, X., Mathieu, M., Fergus, R., and LeCun, Y . Overfeat: Integrated
recognition, localization and detection using convolutional networks. arXiv:1312.6229 , 2013.
Shotton, J., Winn, J., Rother, C., and Criminisi, A. Textonboost for image understanding: Multi-
class object recognition and segmentation by jointly modeling texture, layout, and context. IJCV ,
2009.
Simonyan, K. and Zisserman, A. Very deep convolutional networks for large-scale image recogni-
tion. arXiv:1409.1556 , 2014.
Szegedy, C., Liu, W., Jia, Y ., Sermanet, P., Reed, S., Anguelov, D., Erhan, D., Vanhoucke, V ., and
Rabinovich, A. Going deeper with convolutions. arXiv:1409.4842 , 2014.
13
Published as a conference paper at ICLR 2015
Tompson, J., Jain, A., LeCun, Y ., and Bregler, C. Joint Training of a Convolutional Network and a
Graphical Model for Human Pose Estimation. In NIPS , 2014.
Uijlings, J., van de Sande, K., Gevers, T., and Smeulders, A. Selective search for object recognition.
IJCV , 2013.
Wang, P., Shen, X., Lin, Z., Cohen, S., Price, B., and Yuille, A. Towards uniﬁed depth and semantic
prediction from a single image. In CVPR , 2015.
Yadollahpour, P., Batra, D., and Shakhnarovich, G. Discriminative re-ranking of diverse segmenta-
tions. In CVPR , 2013.
Zeiler, M. D. and Fergus, R. Visualizing and understanding convolutional networks. In ECCV , 2014.
Zhang, N., Donahue, J., Girshick, R., and Darrell, T. Part-based r-cnns for ﬁne-grained category
detection. In ECCV , 2014.
Zheng, S., Jayasumana, S., Romera-Paredes, B., Vineet, V ., Su, Z., Du, D., Huang, C., and Torr, P.
Conditional random ﬁelds as recurrent neural networks. arXiv:1502.03240 , 2015.
14


Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift

Summary:
Training Deep Neural Networks is complicated by the fact that the
distribution of each layer's inputs changes during training, as the parameters
of the previous layers change. This slows down the training by requiring lower
learning rates and careful parameter initialization, and makes it notoriously
hard to train models with saturating nonlinearities. We refer to this
phenomenon as internal covariate shift, and address the problem by normalizing
layer inputs. Our method draws its strength from making normalization a part of
the model architecture and performing the normalization for each training
mini-batch. Batch Normalization allows us to use much higher learning rates and
be less careful about initialization. It also acts as a regularizer, in some
cases eliminating the need for Dropout. Applied to a state-of-the-art image
classification model, Batch Normalization achieves the same accuracy with 14
times fewer training steps, and beats the original model by a significant
margin. Using an ensemble of batch-normalized networks, we improve upon the
best published result on ImageNet classification: reaching 4.9% top-5
validation error (and 4.8% test error), exceeding the accuracy of human raters.

arXiv:1502.03167v3  [cs.LG]  2 Mar 2015BatchNormalization: AcceleratingDeepNetworkTrainingb y
ReducingInternalCovariateShift
Sergey Ioffe
GoogleInc., sioffe@google.comChristianSzegedy
GoogleInc., szegedy@google.com
Abstract
TrainingDeepNeuralNetworksiscomplicatedbythefact
that the distributionofeach layer’sinputschangesduring
training, as the parametersof the previouslayers change.
This slows down the training by requiringlower learning
ratesandcarefulparameterinitialization,andmakesitno -
toriously hard to train models with saturating nonlineari-
ties. We refer to this phenomenon as internal covariate
shift, and address the problem by normalizing layer in-
puts. Ourmethoddrawsitsstrengthfrommakingnormal-
izationapartofthemodelarchitectureandperformingthe
normalization for each training mini-batch . Batch Nor-
malizationallowsustousemuchhigherlearningratesand
be less careful about initialization. It also acts as a regu-
larizer, in some cases eliminating the need for Dropout.
Applied to a state-of-the-art image classiﬁcation model,
Batch Normalizationachievesthe same accuracy with 14
times fewer training steps, and beats the original model
by a signiﬁcant margin. Using an ensemble of batch-
normalizednetworks,weimproveuponthebestpublished
result on ImageNet classiﬁcation: reaching 4.9% top-5
validation error (and 4.8% test error), exceeding the ac-
curacyofhumanraters.
1 Introduction
Deep learning has dramatically advanced the state of the
art in vision, speech, and many other areas. Stochas-
tic gradient descent (SGD) has proved to be an effec-
tive way of training deep networks, and SGD variants
such as momentum (Sutskeveret al., 2013) and Adagrad
(Duchiet al.,2011)havebeenusedtoachievestate ofthe
art performance. SGD optimizes the parameters Θof the
network,soasto minimizetheloss
Θ = argmin
Θ1
NN/summationdisplay
i=1ℓ(xi,Θ)
wherex1...Nisthetrainingdataset. With SGD,thetrain-
ingproceedsinsteps,andateachstepweconsidera mini-
batchx1...mofsizem. The mini-batchis usedtoapprox-
imate the gradient of the loss functionwith respect to the
parameters,bycomputing
1
m∂ℓ(xi,Θ)
∂Θ.Usingmini-batchesofexamples,asopposedtooneexam-
pleatatime,ishelpfulinseveralways. First,thegradient
ofthelossoveramini-batchisanestimateofthegradient
overthetrainingset, whose qualityimprovesas thebatch
size increases. Second, computation over a batch can be
much more efﬁcient than mcomputations for individual
examples, due to the parallelism afforded by the modern
computingplatforms.
While stochastic gradient is simple and effective, it
requires careful tuning of the model hyper-parameters,
speciﬁcallythelearningrateusedinoptimization,aswell
as the initial values for the model parameters. The train-
ingiscomplicatedbythefactthattheinputstoeachlayer
areaffectedbytheparametersofallprecedinglayers–so
that small changes to the network parameters amplify as
thenetworkbecomesdeeper.
The change in the distributions of layers’ inputs
presents a problem because the layers need to continu-
ously adapt to the new distribution. When the input dis-
tributiontoalearningsystemchanges,itissaidtoexperi-
encecovariateshift (Shimodaira, 2000). This is typically
handled via domain adaptation (Jiang, 2008). However,
the notion of covariate shift can be extended beyond the
learningsystemasawhole,toapplytoitsparts,suchasa
sub-networkora layer. Considera networkcomputing
ℓ=F2(F1(u,Θ1),Θ2)
whereF1andF2are arbitrary transformations, and the
parameters Θ1,Θ2are to be learned so as to minimize
the lossℓ. Learning Θ2can be viewed as if the inputs
x =F1(u,Θ1)arefedintothesub-network
ℓ=F2(x,Θ2).
Forexample,agradientdescentstep
Θ2←Θ2−α
mm/summationdisplay
i=1∂F2(xi,Θ2)
∂Θ2
(forbatchsize mandlearningrate α)isexactlyequivalent
to that for a stand-alone network F2with input x. There-
fore, the input distribution properties that make training
more efﬁcient – such as having the same distribution be-
tween the training and test data – apply to training the
sub-network as well. As such it is advantageous for the
distributionof xtoremainﬁxedovertime. Then, Θ2does
1
not have to readjust to compensate for the change in the
distributionof x.
Fixed distribution of inputs to a sub-network would
havepositiveconsequencesforthelayers outsidethesub-
network,as well. Consider a layer with a sigmoid activa-
tion function z =g(Wu+b)whereuis the layer input,
the weight matrix Wand bias vector bare the layer pa-
rameters to be learned, and g(x) =1
1+exp(−x). As|x|
increases, g′(x)tends to zero. This means that for all di-
mensionsof x =Wu+bexceptthosewithsmallabsolute
values,thegradientﬂowingdownto uwillvanishandthe
model will train slowly. However, since xis affected by
W,band the parameters of all the layers below, changes
tothoseparametersduringtrainingwilllikelymovemany
dimensions of xinto the saturated regime of the nonlin-
earity and slow down the convergence. This effect is
ampliﬁed as the network depth increases. In practice,
the saturation problem and the resulting vanishing gradi-
entsareusuallyaddressedbyusingRectiﬁedLinearUnits
(Nair&Hinton, 2010) ReLU(x) = max( x,0), careful
initialization (Bengio&Glorot, 2010; Saxeet al., 2013),
and small learning rates. If, however, we could ensure
that the distribution of nonlinearity inputs remains more
stable as the network trains, then the optimizer would be
less likely to get stuck in the saturated regime, and the
trainingwouldaccelerate.
We refer to the change in the distributions of internal
nodes of a deep network, in the course of training, as In-
ternal Covariate Shift . Eliminating it offers a promise of
faster training. We propose a new mechanism, which we
callBatch Normalization , that takes a step towards re-
ducing internal covariate shift, and in doing so dramati-
cally accelerates the training of deep neural nets. It ac-
complishes this via a normalization step that ﬁxes the
meansandvariancesoflayerinputs. BatchNormalization
also has a beneﬁcial effect on the gradient ﬂow through
the network, by reducing the dependence of gradients
on the scale of the parameters or of their initial values.
This allows us to use much higher learning rates with-
out the risk of divergence. Furthermore, batch normal-
ization regularizes the model and reduces the need for
Dropout(Srivastavaet al., 2014). Finally, Batch Normal-
ization makes it possible to use saturating nonlinearities
by preventingthe network from getting stuck in the satu-
ratedmodes.
In Sec. 4.2, we apply Batch Normalization to the best-
performing ImageNet classiﬁcation network, and show
that we can match its performance using only 7% of the
training steps, and can further exceed its accuracy by a
substantial margin. Using an ensemble of such networks
trained with Batch Normalization, we achieve the top-5
error rate that improves upon the best known results on
ImageNetclassiﬁcation.2 Towards Reducing Internal
CovariateShift
We deﬁne Internal Covariate Shift as the change in the
distribution of network activations due to the change in
networkparametersduringtraining. Toimprovethetrain-
ing, we seek to reduce the internal covariate shift. By
ﬁxingthe distributionof the layer inputs xas the training
progresses,weexpecttoimprovethetrainingspeed. Ithas
been long known (LeCunetal., 1998b; Wiesler &Ney,
2011) that the network training convergesfaster if its in-
putsarewhitened–i.e.,linearlytransformedtohavezero
meansandunitvariances,anddecorrelated. Aseachlayer
observestheinputsproducedbythelayersbelow,itwould
be advantageousto achieve the same whiteningof the in-
putsof each layer. By whitening the inputsto each layer,
we would take a step towards achieving the ﬁxed distri-
butions of inputs that would remove the ill effects of the
internalcovariateshift.
We couldconsiderwhiteningactivationsat everytrain-
ing step or at some interval, either by modifying the
network directly or by changing the parameters of the
optimization algorithm to depend on the network ac-
tivation values (Wiesleret al., 2014; Raikoetal., 2012;
Poveyet al., 2014; Desjardins&Kavukcuoglu). How-
ever, if these modiﬁcations are interspersed with the op-
timization steps, then the gradient descent step may at-
tempt to update the parameters in a way that requires
the normalization to be updated, which reduces the ef-
fect of the gradient step. For example, consider a layer
with the input uthat addsthe learned bias b, and normal-
izes the result by subtracting the mean of the activation
computed over the training data: /hatwidex=x−E[x]where
x=u+b,X={x1...N}is the set of values of xover
the training set, and E [x] =1
N/summationtextN
i=1xi. If a gradient
descent step ignores the dependence of E [x]onb, then it
will update b←b+ ∆b, where∆b∝−∂ℓ/∂/hatwidex. Then
u+ (b+ ∆b)−E[u+ (b+ ∆b)] =u+b−E[u+b].
Thus, the combination of the update to band subsequent
change in normalization led to no change in the output
of the layer nor, consequently, the loss. As the training
continues, bwill grow indeﬁnitely while the loss remains
ﬁxed. Thisproblemcangetworseifthenormalizationnot
only centers but also scales the activations. We have ob-
served this empirically in initial experiments, where the
model blows up when the normalization parameters are
computedoutsidethe gradientdescentstep.
The issue with the above approach is that the gradient
descent optimization does not take into account the fact
that the normalization takes place. To address this issue,
we would like to ensure that, for any parameter values,
the network alwaysproducesactivationswith the desired
distribution. Doing so would allow the gradient of the
loss with respect to the model parameters to account for
the normalization, and for its dependence on the model
parameters Θ. Let again xbe a layer input, treated as a
2
vector, andXbe the set of these inputs over the training
dataset. Thenormalizationcanthenbewrittenasatrans-
formation
/hatwidex =Norm(x,X)
which depends not only on the given training example x
but on all examples X– each of which depends on Θif
xis generatedby anotherlayer. For backpropagation,we
wouldneedtocomputetheJacobians
∂Norm(x,X)
∂xand∂Norm(x,X)
∂X;
ignoring the latter term would lead to the explosion de-
scribedabove. Withinthisframework,whiteningthelayer
inputs is expensive, as it requires computing the covari-
ance matrix Cov [x] =Ex∈X[xxT]−E[x]E[x]Tand its
inverse square root, to produce the whitened activations
Cov[x]−1/2(x−E[x]), as well as the derivatives of these
transformsforbackpropagation.Thismotivatesustoseek
an alternative that performs input normalization in a way
that is differentiable and does not require the analysis of
theentiretrainingset aftereveryparameterupdate.
Some of the previous approaches (e.g.
(Lyu&Simoncelli, 2008)) use statistics computed
over a single training example, or, in the case of image
networks, over differentfeature maps at a given location.
However, this changes the representation ability of a
network by discarding the absolute scale of activations.
We want to a preservethe informationin the network,by
normalizing the activations in a training example relative
tothe statisticsoftheentiretrainingdata.
3 Normalization via Mini-Batch
Statistics
Since the full whitening of each layer’s inputs is costly
and not everywhere differentiable, we make two neces-
sary simpliﬁcations. The ﬁrst is that instead of whitening
the features in layer inputs and outputs jointly, we will
normalizeeachscalarfeatureindependently,bymakingit
have the mean of zero and the variance of 1. For a layer
withd-dimensionalinput x = (x(1)...x(d)),wewillnor-
malizeeachdimension
/hatwidex(k)=x(k)−E[x(k)]/radicalbig
Var[x(k)]
wheretheexpectationandvariancearecomputedoverthe
trainingdataset. Asshownin(LeCunetal.,1998b),such
normalizationspeedsupconvergence,evenwhenthefea-
turesarenotdecorrelated.
Notethatsimplynormalizingeachinputofalayermay
change what the layer can represent. For instance, nor-
malizing the inputsof a sigmoid wouldconstrain them to
the linear regime of the nonlinearity. To address this, we
makesurethat thetransformationinsertedin thenetwork
can represent the identity transform . To accomplish this,weintroduce,foreachactivation x(k),apairofparameters
γ(k),β(k),whichscale andshift thenormalizedvalue:
y(k)=γ(k)/hatwidex(k)+β(k).
These parameters are learned along with the original
model parameters, and restore the representation power
ofthenetwork. Indeed,bysetting γ(k)=/radicalbig
Var[x(k)]and
β(k)=E[x(k)], we couldrecoverthe originalactivations,
ifthatwerethe optimalthingto do.
Inthebatchsettingwhereeachtrainingstepisbasedon
theentire trainingset, we woulduse the wholeset to nor-
malize activations. However,this is impracticalwhen us-
ing stochastic optimization. Therefore, we make the sec-
ondsimpliﬁcation: since we use mini-batchesin stochas-
tic gradient training, each mini-batch produces estimates
ofthemeanandvariance ofeachactivation. Thisway,the
statistics used for normalization can fully participate in
the gradient backpropagation. Note that the use of mini-
batchesis enabledbycomputationof per-dimensionvari-
ances rather than joint covariances; in the joint case, reg-
ularizationwouldbe requiredsince the mini-batchsize is
likely to be smaller than the number of activations being
whitened,resultinginsingularcovariancematrices.
Consider a mini-batch Bof sizem. Since the normal-
ization is applied to each activation independently, let us
focusonaparticularactivation x(k)andomitkforclarity.
We havemvaluesofthisactivationinthemini-batch,
B={x1...m}.
Letthenormalizedvaluesbe /hatwidex1...m,andtheirlineartrans-
formationsbe y1...m. We referto thetransform
BNγ,β:x1...m→y1...m
as theBatch Normalizing Transform . We present the BN
TransforminAlgorithm1. Inthealgorithm, ǫisaconstant
addedtothemini-batchvariancefornumericalstability.
Input:Valuesof xovera mini-batch: B={x1...m};
Parametersto belearned: γ,β
Output:{yi=BNγ,β(xi)}
µB←1
mm/summationdisplay
i=1xi // mini-batchmean
σ2
B←1
mm/summationdisplay
i=1(xi−µB)2// mini-batchvariance
/hatwidexi←xi−µB/radicalbig
σ2
B+ǫ// normalize
yi←γ/hatwidexi+β≡BNγ,β(xi) // scale andshift
Algorithm 1: Batch Normalizing Transform, applied to
activation xoveramini-batch.
TheBNtransformcanbeaddedtoanetworktomanip-
ulate any activation. In the notation y=BNγ,β(x), we
3
indicate that the parameters γandβare to be learned,
but it should be noted that the BN transform does not
independently process the activation in each training ex-
ample. Rather, BN γ,β(x)depends both on the training
exampleand the other examples in the mini-batch . The
scaled and shifted values yare passed to other network
layers. The normalized activations /hatwidexare internal to our
transformation, but their presence is crucial. The distri-
butions of values of any /hatwidexhas the expected value of 0
and the variance of 1, as long as the elements of each
mini-batch are sampled from the same distribution, and
if we neglect ǫ. This can be seen by observing that/summationtextm
i=1/hatwidexi= 0and1
m/summationtextm
i=1/hatwidex2
i= 1, and taking expec-
tations. Eachnormalizedactivation /hatwidex(k)canbeviewedas
an input to a sub-network composed of the linear trans-
formy(k)=γ(k)/hatwidex(k)+β(k), followed by the other pro-
cessing doneby the originalnetwork. Thesesub-network
inputs all have ﬁxed means and variances, and although
the jointdistributionofthese normalized /hatwidex(k)canchange
over the course of training, we expect that the introduc-
tion of normalized inputs accelerates the training of the
sub-networkand,consequently,thenetworkasawhole.
During training we need to backpropagate the gradi-
ent of loss ℓthrough this transformation,as well as com-
pute the gradients with respect to the parameters of the
BN transform. We use chainrule,as follows(beforesim-
pliﬁcation):
∂ℓ
∂/hatwidexi=∂ℓ
∂yi·γ
∂ℓ
∂σ2
B=/summationtextm
i=1∂ℓ
∂/hatwidexi·(xi−µB)·−1
2(σ2
B+ǫ)−3/2
∂ℓ
∂µB=/parenleftbigg/summationtextm
i=1∂ℓ
∂/hatwidexi·−1√
σ2
B+ǫ/parenrightbigg
+∂ℓ
∂σ2
B·/summationtextm
i=1−2(xi−µB)
m
∂ℓ
∂xi=∂ℓ
∂/hatwidexi·1√
σ2
B+ǫ+∂ℓ
∂σ2
B·2(xi−µB)
m+∂ℓ
∂µB·1
m
∂ℓ
∂γ=/summationtextm
i=1∂ℓ
∂yi·/hatwidexi
∂ℓ
∂β=/summationtextm
i=1∂ℓ
∂yi
Thus,BNtransformisadifferentiabletransformationthat
introduces normalized activations into the network. This
ensures that as the model is training, layers can continue
learningoninputdistributionsthatexhibitlessinternal co-
variate shift, thus accelerating the training. Furthermor e,
the learned afﬁne transform applied to these normalized
activationsallowstheBNtransformtorepresenttheiden-
tity transformationandpreservesthenetworkcapacity.
3.1 Training and Inference with Batch-
NormalizedNetworks
ToBatch-Normalize anetwork,wespecifyasubsetofac-
tivations and insert the BN transform for each of them,
according to Alg. 1. Any layer that previously received
xas the input, now receives BN (x). A model employing
Batch Normalization can be trained using batch gradient
descent,orStochasticGradientDescentwithamini-batch
sizem >1, or with any of its variants such as Adagrad(Duchiet al.,2011). Thenormalizationofactivationsthat
dependsonthemini-batchallowsefﬁcienttraining,but is
neithernecessarynordesirableduringinference;wewant
the output to depend only on the input, deterministically.
For this, once the network has been trained, we use the
normalization
/hatwidex=x−E[x]/radicalbig
Var[x]+ǫ
using the population, rather than mini-batch, statistics.
Neglecting ǫ, these normalized activations have the same
mean0 and variance1 as duringtraining. We use the un-
biased variance estimate Var [x] =m
m−1·EB[σ2
B], where
theexpectationisovertrainingmini-batchesofsize mand
σ2
Baretheirsamplevariances. Usingmovingaveragesin-
stead, we can track the accuracy of a model as it trains.
Sincethemeansandvariancesareﬁxedduringinference,
the normalization is simply a linear transform applied to
eachactivation. Itmayfurtherbecomposedwiththescal-
ing byγand shift by β, to yield a single linear transform
that replacesBN (x). Algorithm 2 summarizesthe proce-
durefortrainingbatch-normalizednetworks.
Input:NetworkNwith trainableparameters Θ;
subsetofactivations {x(k)}K
k=1
Output: Batch-normalizednetworkforinference, Ninf
BN
1:Ntr
BN←N// TrainingBN network
2:fork= 1...Kdo
3:Add transformation y(k)=BNγ(k),β(k)(x(k))to
Ntr
BN(Alg.1)
4:Modify each layer in Ntr
BNwith input x(k)to take
y(k)instead
5:end for
6:TrainNtr
BNto optimize the parameters Θ∪
{γ(k),β(k)}K
k=1
7:Ninf
BN←Ntr
BN// InferenceBN networkwithfrozen
// parameters
8:fork= 1...Kdo
9:// Forclarity, x≡x(k),γ≡γ(k),µB≡µ(k)
B, etc.
10:Process multiple training mini-batches B, each of
sizem,andaverageoverthem:
E[x]←EB[µB]
Var[x]←m
m−1EB[σ2
B]
11:InNinf
BN, replace the transform y=BNγ,β(x)with
y=γ√
Var[x]+ǫ·x+/parenleftbig
β−γE[x]√
Var[x]+ǫ/parenrightbig
12:end for
Algorithm2: Traininga Batch-NormalizedNetwork
3.2 Batch-Normalized Convolutional Net-
works
Batch Normalization can be applied to any set of acti-
vations in the network. Here, we focus on transforms
4
that consist of an afﬁne transformation followed by an
element-wisenonlinearity:
z =g(Wu+b)
whereWandbare learned parametersof the model, and
g(·)isthenonlinearitysuchassigmoidorReLU.Thisfor-
mulation covers both fully-connected and convolutional
layers. We add the BN transform immediately before the
nonlinearity,bynormalizing x =Wu+b. Wecouldhave
also normalized the layer inputs u, but since uis likely
the output of another nonlinearity, the shape of its distri-
butionislikelytochangeduringtraining,andconstrainin g
its ﬁrst and second moments would not eliminate the co-
variate shift. In contrast, Wu + bis more likely to have
a symmetric,non-sparsedistribution,that is “moreGaus-
sian”(Hyv¨ arinen&Oja,2000);normalizingitislikelyto
produceactivationswithastable distribution.
Notethat,sincewenormalize Wu+b,thebiasbcanbe
ignoredsinceitseffectwillbecanceledbythesubsequent
meansubtraction(theroleofthebiasissubsumedby βin
Alg.1). Thus, z =g(Wu+b)is replacedwith
z =g(BN(Wu))
where the BN transformis applied independentlyto each
dimension of x =Wu, with a separate pair of learned
parameters γ(k),β(k)perdimension.
Forconvolutionallayers,we additionallywant the nor-
malization to obey the convolutional property – so that
different elements of the same feature map, at different
locations, are normalized in the same way. To achieve
this, we jointly normalize all the activations in a mini-
batch, overall locations. In Alg. 1, we let Bbe the set of
all values in a feature map across both the elements of a
mini-batch and spatial locations – so for a mini-batch of
sizemand feature maps of size p×q, we use the effec-
tive mini-batch of size m′=|B|=m·pq. We learn a
pair of parameters γ(k)andβ(k)per feature map, rather
than per activation. Alg. 2 is modiﬁed similarly, so that
duringinferencetheBNtransformappliesthesamelinear
transformationtoeachactivationina givenfeaturemap.
3.3 Batch Normalization enables higher
learning rates
In traditional deep networks, too-high learning rate may
result in the gradients that explode or vanish, as well as
getting stuck in poor local minima. Batch Normaliza-
tion helps address these issues. By normalizing activa-
tions throughout the network, it prevents small changes
to the parameters from amplifying into larger and subop-
timal changes in activations in gradients; for instance, it
prevents the training from getting stuck in the saturated
regimesofnonlinearities.
BatchNormalizationalsomakestrainingmoreresilient
totheparameterscale. Normally,largelearningratesmay
increasethescaleoflayerparameters,whichthenamplifythegradientduringbackpropagationandleadtothemodel
explosion. However, with Batch Normalization, back-
propagation through a layer is unaffected by the scale of
itsparameters. Indeed,fora scalar a,
BN(Wu) =BN((aW)u)
andwe canshowthat
∂BN((aW)u)
∂u=∂BN(Wu)
∂u
∂BN((aW)u)
∂(aW)=1
a·∂BN(Wu)
∂W
The scale does not affect the layer Jacobian nor, con-
sequently, the gradient propagation. Moreover, larger
weights lead to smallergradients, and Batch Normaliza-
tionwill stabilize theparametergrowth.
We further conjecture that Batch Normalization may
leadthelayerJacobianstohavesingularvaluescloseto1,
which is known to be beneﬁcial for training (Saxeet al.,
2013). Consider two consecutive layers with normalized
inputs, and the transformation between these normalized
vectors:/hatwidez =F(/hatwidex). Ifweassumethat /hatwidexand/hatwidezareGaussian
anduncorrelated,andthat F(/hatwidex)≈J/hatwidexisalineartransfor-
mationforthe givenmodelparameters,thenboth /hatwidexand/hatwidez
have unit covariances, and I=Cov[/hatwidez] =JCov[/hatwidex]JT=
JJT. Thus,JJT=I, and so all singular values of J
are equal to 1, which preserves the gradient magnitudes
during backpropagation. In reality, the transformation is
notlinear,andthenormalizedvaluesarenotguaranteedto
be Gaussian nor independent, but we nevertheless expect
Batch Normalization to help make gradient propagation
better behaved. The precise effect of Batch Normaliza-
tion on gradient propagation remains an area of further
study.
3.4 Batch Normalization regularizes the
model
When training with Batch Normalization, a training ex-
ample is seen in conjunction with other examples in the
mini-batch, and the training network no longer produc-
ing deterministic values for a given training example. In
our experiments,we foundthis effect to be advantageous
to the generalization of the network. Whereas Dropout
(Srivastavaet al., 2014) is typically used to reduce over-
ﬁtting,inabatch-normalizednetworkwefoundthatitcan
beeitherremovedorreducedinstrength.
4 Experiments
4.1 Activationsovertime
To verify the effects of internal covariate shift on train-
ing, and the ability of Batch Normalization to combat it,
weconsideredtheproblemofpredictingthedigitclasson
theMNISTdataset(LeCunetal.,1998a). Weusedavery
simple network, with a 28x28binary image as input, and
5
10K20K30K40K50K0.70.80.91

Without BN
With BN
−202
−202
(a) (b)WithoutBN (c)With BN
Figure 1: (a) The test accuracy of the MNIST network
trained with and without Batch Normalization, vs. the
number of training steps. Batch Normalization helps the
network train faster and achieve higher accuracy. (b,
c)The evolution of input distributions to a typical sig-
moid,overthecourseoftraining,shownas {15,50,85}th
percentiles. Batch Normalization makes the distribution
morestableandreducestheinternalcovariateshift.
3fully-connectedhiddenlayerswith100activationseach.
Eachhiddenlayercomputes y =g(Wu+b)withsigmoid
nonlinearity, and the weights Winitialized to small ran-
dom Gaussian values. The last hidden layer is followed
by a fully-connected layer with 10 activations (one per
class) and cross-entropyloss. We trained the network for
50000steps, with 60 examplespermini-batch. We added
BatchNormalizationtoeachhiddenlayerofthenetwork,
as in Sec. 3.1. We were interested in the comparison be-
tweenthebaselineandbatch-normalizednetworks,rather
thanachievingthestateoftheartperformanceonMNIST
(whichthe describedarchitecturedoesnot).
Figure 1(a) shows the fraction of correct predictions
by the two networks on held-out test data, as training
progresses. The batch-normalized network enjoys the
higher test accuracy. To investigate why, we studied in-
puts to the sigmoid, in the original network Nand batch-
normalizednetwork Ntr
BN(Alg.2)overthecourseoftrain-
ing. InFig.1(b,c)weshow,foronetypicalactivationfrom
the last hidden layer of each network, how its distribu-
tion evolves. The distributions in the original network
change signiﬁcantly over time, both in their mean and
the variance, which complicates the training of the sub-
sequent layers. In contrast, the distributions in the batch -
normalizednetworkaremuchmorestableastrainingpro-
gresses,whichaidsthe training.
4.2 ImageNetclassiﬁcation
We applied Batch Normalization to a new variant of the
Inception network (Szegedyetal., 2014), trained on the
ImageNet classiﬁcation task (Russakovskyet al., 2014).
The network has a large number of convolutional and
pooling layers, with a softmax layer to predict the image
class, out of 1000 possibilities. Convolutional layers use
ReLU asthenonlinearity. Themaindifferenceto thenet-
work described in (Szegedyet al., 2014) is that the 5×5
convolutionallayersare replacedby two consecutivelay-
ers of3×3convolutionswith up to 128ﬁlters. The net-
work contains 13.6·106parameters, and, other than the
top softmax layer, has no fully-connected layers. Moredetails are given in the Appendix. We refer to this model
asInception intherestofthetext. Themodelwastrained
using a version of Stochastic Gradient Descent with mo-
mentum(Sutskeveretal.,2013),usingthemini-batchsize
of32. Thetrainingwasperformedusingalarge-scale,dis-
tributed architecture (similar to (Deanet al., 2012)). All
networksare evaluatedastrainingprogressesbycomput-
ing the validation accuracy @1, i.e. the probability of
predicting the correct label out of 1000 possibilities, on
aheld-outset,usinga singlecropperimage.
Inourexperiments,weevaluatedseveralmodiﬁcations
ofInceptionwithBatchNormalization. Inallcases,Batch
Normalizationwasappliedtotheinputofeachnonlinear-
ity, in a convolutional way, as described in section 3.2,
whilekeepingtherestofthearchitectureconstant.
4.2.1 AcceleratingBN Networks
SimplyaddingBatchNormalizationtoanetworkdoesnot
take full advantage of our method. To do so, we further
changed the network and its training parameters, as fol-
lows:
Increase learning rate. In a batch-normalized model,
we have been able to achieve a training speedup from
higherlearningrates,with noill sideeffects(Sec.3.3).
RemoveDropout. As describedin Sec. 3.4, Batch Nor-
malizationfulﬁllssomeofthesamegoalsasDropout. Re-
moving Dropout from Modiﬁed BN-Inception speeds up
training,withoutincreasingoverﬁtting.
Reduce the L2weight regularization. While in Incep-
tion anL2loss on the model parameters controls overﬁt-
ting, in Modiﬁed BN-Inception the weight of this loss is
reduced by a factor of 5. We ﬁnd that this improves the
accuracyontheheld-outvalidationdata.
Accelerate the learning rate decay. In training Incep-
tion, learning rate was decayed exponentially. Because
our network trains faster than Inception, we lower the
learningrate 6timesfaster.
Remove Local Response Normalization While Incep-
tion and other networks (Srivastavaet al., 2014) beneﬁt
from it, we found that with Batch Normalization it is not
necessary.
Shufﬂetrainingexamplesmorethoroughly. Weenabled
within-shardshufﬂingofthetrainingdata,whichprevents
thesameexamplesfromalwaysappearinginamini-batch
together. This led to about 1% improvements in the val-
idation accuracy, which is consistent with the view of
Batch Normalization as a regularizer (Sec. 3.4): the ran-
domization inherent in our method should be most bene-
ﬁcialwhenitaffectsanexampledifferentlyeachtimeitis
seen.
Reduce the photometric distortions. Because batch-
normalized networks train faster and observe each train-
ingexamplefewertimes,weletthetrainerfocusonmore
“real”imagesbydistortingthemless.
6
5M 10M 15M 20M 25M 30M0.40.50.60.70.8
Inception
BN−Baseline
BN−x5
BN−x30
BN−x5−Sigmoid
Steps to match Inception
Figure 2: Single crop validation accuracy of Inception
and its batch-normalized variants, vs. the number of
trainingsteps.Model Stepsto72.2% Maxaccuracy
Inception 31.0·10672.2%
BN-Baseline 13.3·10672.7%
BN-x5 2.1·10673.0%
BN-x30 2.7·10674.8%
BN-x5-Sigmoid 69.8%
Figure 3: For Inception and the batch-normalized
variants, the number of training steps required to
reach the maximum accuracy of Inception(72.2%),
and the maximum accuracy achieved by the net-
work.
4.2.2 Single-NetworkClassiﬁcation
We evaluated the following networks, all trained on the
LSVRC2012 training data, and tested on the validation
data:
Inception : the network described at the beginning of
Section4.2,trainedwiththeinitiallearningrateof0.001 5.
BN-Baseline : Same as Inception with Batch Normal-
izationbeforeeachnonlinearity.
BN-x5: Inception with Batch Normalization and the
modiﬁcations in Sec. 4.2.1. The initial learning rate was
increased by a factor of 5, to 0.0075. The same learning
rateincreasewithoriginalInceptioncausedthemodelpa-
rameterstoreachmachineinﬁnity.
BN-x30: LikeBN-x5, but with the initial learning rate
0.045(30timesthatofInception).
BN-x5-Sigmoid : LikeBN-x5, but with sigmoid non-
linearityg(t) =1
1+exp(−x)instead of ReLU. We also at-
tempted to train the original Inception with sigmoid, but
themodelremainedat theaccuracyequivalenttochance.
In Figure 2, we show the validation accuracy of the
networks, as a function of the number of training steps.
Inception reached the accuracy of 72.2% after 31·106
training steps. The Figure 3 shows, for each network,
the number of training steps required to reach the same
72.2%accuracy,aswellasthemaximumvalidationaccu-
racy reached by the network and the number of steps to
reachit.
By onlyusingBatch Normalization( BN-Baseline ),we
matchtheaccuracyofInceptioninlessthanhalfthenum-
ber of training steps. By applying the modiﬁcations in
Sec. 4.2.1, we signiﬁcantly increase the training speed of
the network. BN-x5needs 14 times fewer steps than In-
ception to reach the 72.2% accuracy. Interestingly, in-
creasing the learning rate further ( BN-x30) causes the
model to train somewhat slowerinitially, but allows it to
reachahigherﬁnalaccuracy. Itreaches74.8%after 6·106
steps, i.e. 5 times fewer steps than required by Inception
toreach72.2%.
We also veriﬁed that the reduction in internal covari-
ate shift allows deep networks with Batch Normalizationto be trained when sigmoid is used as the nonlinearity,
despite the well-known difﬁculty of training such net-
works. Indeed, BN-x5-Sigmoid achieves the accuracy of
69.8%. WithoutBatchNormalization,Inceptionwithsig-
moidneverachievesbetterthan 1/1000accuracy.
4.2.3 Ensemble Classiﬁcation
The current reported best results on the ImageNet Large
Scale Visual RecognitionCompetitionare reachedby the
Deep Image ensemble of traditional models (Wuet al.,
2015) and the ensemble model of (Heet al., 2015). The
latterreportsthetop-5errorof4.94%,asevaluatedbythe
ILSVRCserver. Herewereportatop-5validationerrorof
4.9%, and test error of 4.82% (according to the ILSVRC
server). This improvesupon the previousbest result, and
exceedstheestimatedaccuracyofhumanratersaccording
to(Russakovskyet al.,2014).
Forourensemble,weused6networks. Eachwasbased
onBN-x30,modiﬁedviasomeofthefollowing: increased
initial weights in the convolutionallayers; using Dropout
(with the Dropout probability of 5% or 10%, vs. 40%
for the original Inception); and using non-convolutional,
per-activation Batch Normalization with last hidden lay-
ers of the model. Each network achieved its maximum
accuracyafter about 6·106training steps. The ensemble
prediction was based on the arithmetic average of class
probabilities predicted by the constituent networks. The
detailsofensembleandmulticropinferencearesimilarto
(Szegedyet al., 2014).
We demonstrate in Fig. 4 that batch normalization al-
lowsusto set new state-of-the-artby a healthymarginon
theImageNetclassiﬁcationchallengebenchmarks.
5 Conclusion
We have presented a novel mechanism for dramatically
accelerating the training of deep networks. It is based on
the premise that covariate shift, which is known to com-
plicate the trainingof machine learning systems, also ap-
7
Model Resolution Crops Models Top-1error Top-5error
GoogLeNetensemble 224 144 7 - 6.67%
DeepImagelow-res 256 - 1 - 7.96%
DeepImagehigh-res 512 - 1 24.88 7.42%
DeepImageensemble variable - - - 5.98%
BN-Inceptionsinglecrop 224 1 1 25.2% 7.82%
BN-Inceptionmulticrop 224 144 1 21.99% 5.82%
BN-Inceptionensemble 224 144 6 20.1% 4.9%*
Figure 4: Batch-Normalized Inception comparison with previous stat e of the art on the provided validation set com-
prising50000images. *BN-Inceptionensemblehasreached4 .82%top-5erroronthe100000imagesofthetestsetof
theImageNetasreportedbythe test server.
plies to sub-networks and layers, and removing it from
internal activations of the network may aid in training.
Our proposed method draws its power from normalizing
activations, and from incorporating this normalization in
the network architecture itself. This ensures that the nor-
malization is appropriately handled by any optimization
method that is being used to train the network. To en-
able stochastic optimization methods commonly used in
deep network training, we perform the normalization for
eachmini-batch,andbackpropagatethegradientsthrough
the normalization parameters. Batch Normalization adds
only two extra parameters per activation, and in doing so
preserves the representation ability of the network. We
presentedanalgorithmforconstructing,training,andper -
forming inference with batch-normalized networks. The
resulting networks can be trained with saturating nonlin-
earities, are more tolerant to increased training rates, an d
oftendonotrequireDropoutforregularization.
Merely adding Batch Normalization to a state-of-the-
artimageclassiﬁcationmodelyieldsasubstantialspeedup
in training. By further increasing the learning rates, re-
moving Dropout, and applying other modiﬁcations af-
forded by Batch Normalization, we reach the previous
state of the art with onlya small fractionof trainingsteps
–andthenbeatthestateoftheartinsingle-networkimage
classiﬁcation. Furthermore, by combining multiple mod-
els trained with Batch Normalization, we perform better
thanthebestknownsystemonImageNet,byasigniﬁcant
margin.
Interestingly, our method bears similarity to the stan-
dardization layer of (G¨ ulc ¸ehre& Bengio, 2013), though
the two methodsstem from very differentgoals, and per-
form different tasks. The goal of Batch Normalization
is to achieve a stable distribution of activation values
throughout training, and in our experiments we apply it
before the nonlinearity since that is where matching the
ﬁrst and second moments is more likely to result in a
stable distribution. On the contrary,(G¨ ulc ¸ehre&Bengio ,
2013) apply the standardizationlayer to the outputof the
nonlinearity, which results in sparser activations. In our
large-scaleimage classiﬁcation experiments,we havenot
observedthenonlinearity inputstobesparse,neitherwith
nor without Batch Normalization. Other notable differ-entiating characteristics of Batch Normalization include
the learned scale and shift that allow the BN transform
to representidentity (the standardizationlayer did not re -
quirethissinceitwasfollowedbythelearnedlineartrans-
form that, conceptually, absorbs the necessary scale and
shift), handling of convolutional layers, deterministic i n-
ferencethatdoesnotdependonthemini-batch,andbatch-
normalizingeachconvolutionallayerin thenetwork.
In this work, we have not explored the full range of
possibilitiesthatBatchNormalizationpotentiallyenabl es.
Our future work includes applications of our method to
Recurrent Neural Networks (Pascanuet al., 2013), where
theinternalcovariateshiftandthevanishingorexploding
gradients may be especially severe, and which would al-
lowustomorethoroughlytestthehypothesisthatnormal-
izationimprovesgradientpropagation(Sec.3.3). Weplan
toinvestigatewhetherBatchNormalizationcanhelpwith
domain adaptation, in its traditional sense – i.e. whether
the normalization performed by the network would al-
low it to more easily generalize to new data distribu-
tions,perhapswithjustarecomputationofthepopulation
meansandvariances(Alg.2). Finally,webelievethatfur-
thertheoreticalanalysisofthealgorithmwouldallowstil l
moreimprovementsandapplications.
References
Bengio, Yoshua and Glorot, Xavier. Understanding the
difﬁcultyoftrainingdeepfeedforwardneuralnetworks.
InProceedings of AISTATS 2010 , volume 9, pp. 249–
256,May2010.
Dean,Jeffrey,Corrado,GregS.,Monga,Rajat,Chen,Kai,
Devin,Matthieu,Le,QuocV., Mao,MarkZ.,Ranzato,
Marc’Aurelio,Senior,Andrew,Tucker,Paul,Yang,Ke,
and Ng, Andrew Y. Large scale distributed deep net-
works. In NIPS,2012.
Desjardins, Guillaume and Kavukcuoglu,Koray. Natural
neuralnetworks. (unpublished).
Duchi, John, Hazan, Elad, and Singer, Yoram. Adaptive
subgradientmethodsfor onlinelearning and stochastic
8
optimization. J.Mach.Learn.Res. ,12:2121–2159,July
2011. ISSN1532-4435.
G¨ ulc ¸ehre, C ¸aglar and Bengio, Yoshua. Knowledge mat-
ters: Importanceof prior informationfor optimization.
CoRR,abs/1301.4083,2013.
He, K., Zhang, X., Ren, S., and Sun, J. Delving Deep
into Rectiﬁers: Surpassing Human-Level Performance
on ImageNet Classiﬁcation. ArXiv e-prints , February
2015.
Hyv¨ arinen, A. and Oja, E. Independentcomponent anal-
ysis: Algorithms and applications. Neural Netw. , 13
(4-5):411–430,May2000.
Jiang, Jing. A literature survey on domain adaptation of
statistical classiﬁers, 2008.
LeCun, Y., Bottou, L., Bengio, Y., and Haffner, P.
Gradient-based learning applied to document recog-
nition.Proceedings of the IEEE , 86(11):2278–2324,
November1998a.
LeCun, Y., Bottou, L., Orr, G., and Muller, K. Efﬁcient
backprop. InOrr,G.andK.,Muller(eds.), NeuralNet-
works: Tricks ofthetrade .Springer,1998b.
Lyu, S and Simoncelli, E P. Nonlinear image representa-
tion using divisive normalization. In Proc. Computer
Vision and Pattern Recognition , pp. 1–8. IEEE Com-
puter Society, Jun 23-28 2008. doi: 10.1109/CVPR.
2008.4587821.
Nair,VinodandHinton,GeoffreyE. Rectiﬁedlinearunits
improve restricted boltzmann machines. In ICML, pp.
807–814.Omnipress,2010.
Pascanu, Razvan, Mikolov, Tomas, and Bengio, Yoshua.
On the difﬁculty of training recurrent neural networks.
InProceedingsofthe30thInternationalConferenceon
MachineLearning,ICML 2013,Atlanta,GA,USA,16-
21June2013 ,pp.1310–1318,2013.
Povey, Daniel, Zhang, Xiaohui, and Khudanpur, San-
jeev. Parallel training of deep neural networks with
natural gradient and parameter averaging. CoRR,
abs/1410.7455,2014.
Raiko, Tapani, Valpola, Harri, and LeCun, Yann. Deep
learning made easier by linear transformations in per-
ceptrons. In International Conference on Artiﬁcial In-
telligenceandStatistics(AISTATS) ,pp.924–932,2012.
Russakovsky,Olga,Deng,Jia,Su,Hao,Krause,Jonathan,
Satheesh, Sanjeev, Ma, Sean, Huang, Zhiheng, Karpa-
thy, Andrej, Khosla, Aditya, Bernstein, Michael, Berg,
Alexander C., and Fei-Fei, Li. ImageNet Large Scale
Visual RecognitionChallenge,2014.Saxe, Andrew M., McClelland, James L., and Ganguli,
Surya. Exact solutions to the nonlinear dynamics
of learning in deep linear neural networks. CoRR,
abs/1312.6120,2013.
Shimodaira, Hidetoshi. Improving predictive inference
under covariate shift by weighting the log-likelihood
function. JournalofStatisticalPlanningandInference ,
90(2):227–244,October2000.
Srivastava, Nitish, Hinton, Geoffrey, Krizhevsky, Alex,
Sutskever, Ilya, and Salakhutdinov, Ruslan. Dropout:
A simple way to preventneural networksfrom overﬁt-
ting.J. Mach. Learn. Res. , 15(1):1929–1958, January
2014.
Sutskever, Ilya, Martens, James, Dahl, George E., and
Hinton, Geoffrey E. On the importance of initial-
ization and momentum in deep learning. In ICML
(3), volume 28 of JMLR Proceedings , pp. 1139–1147.
JMLR.org,2013.
Szegedy, Christian, Liu, Wei, Jia, Yangqing, Sermanet,
Pierre, Reed, Scott, Anguelov, Dragomir, Erhan, Du-
mitru, Vanhoucke, Vincent, and Rabinovich, An-
drew. Going deeper with convolutions. CoRR,
abs/1409.4842,2014.
Wiesler, Simon and Ney, Hermann. A convergenceanal-
ysis of log-lineartraining. In Shawe-Taylor,J., Zemel,
R.S.,Bartlett,P.,Pereira,F.C.N.,andWeinberger,K.Q.
(eds.),AdvancesinNeuralInformationProcessingSys-
tems24,pp.657–665,Granada,Spain,December2011.
Wiesler, Simon, Richard, Alexander, Schl¨ uter, Ralf, and
Ney, Hermann. Mean-normalized stochastic gradient
for large-scale deep learning. In IEEE International
Conference on Acoustics, Speech, and Signal Process-
ing,pp.180–184,Florence,Italy,May2014.
Wu, Ren, Yan, Shengen, Shan, Yi, Dang, Qingqing, and
Sun,Gang. Deepimage: Scalingupimagerecognition,
2015.
Appendix
Variantofthe Inception Model Used
Figure 5 documents the changes that were performed
compared to the architecture with respect to the
GoogleNet archictecture. For the interpretation of this
table, please consult (Szegedyetal., 2014). The notable
architecture changes compared to the GoogLeNet model
include:
•The 5×5 convolutional layers are replaced by two
consecutive 3×3 convolutional layers. This in-
creases the maximum depth of the network by 9
9
weight layers. Also it increases the number of pa-
rameters by 25% and the computational cost is in-
creasedbyabout30%.
•The number 28×28 inception modules is increased
from2to 3.
•Inside the modules, sometimes average, sometimes
maximum-poolingis employed. This is indicated in
theentriescorrespondingtothepoolinglayersofthe
table.
•There are no across the board pooling layers be-
tween any two Inception modules, but stride-2 con-
volution/pooling layers are employed before the ﬁl-
terconcatenationin themodules3c,4e.
Our model employed separable convolution with depth
multiplier 8on the ﬁrst convolutionallayer. This reduces
thecomputationalcost while increasingthememorycon-
sumptionat trainingtime.
10
typepatch size/
strideoutput
sizedepth #1×1#3×3
reduce#3×3double#3×3
reducedouble
#3×3Pool+proj
convolution* 7×7/2112×112×641
maxpool 3×3/256×56×64 0
convolution 3×3/156×56×192 1 64 192
maxpool 3×3/228×28×192 0
inception (3a) 28×28×256 364 64 64 64 96 avg+ 32
inception (3b) 28×28×320 364 64 96 64 96 avg+ 64
inception (3c) stride 2 28×28×576 3 0128 160 64 96max +pass through
inception (4a) 14×14×576 3224 64 96 96 128 avg+ 128
inception (4b) 14×14×576 3192 96 128 96 128 avg+ 128
inception (4c) 14×14×576 3160 128 160 128 160 avg+ 128
inception (4d) 14×14×576 396 128 192 160 192 avg+ 128
inception (4e) stride 2 14×14×1024 3 0128 192 192 256max +pass through
inception (5a) 7×7×1024 3352 192 320 160 224 avg+ 128
inception (5b) 7×7×1024 3352 192 320 192 224 max+ 128
avgpool 7×7/11×1×1024 0
Figure5: Inceptionarchitecture
11

Knowledge Matters: Importance of Prior Information for Optimization