Neural Information Processing Systems Volume 25, 2012

ImageNet Classification with Deep Convolutional Neural Networks

Alex Krizhevsky

University of Toronto

Ilya Sutskever

University of Toronto

Geoffrey Hinton

University of Toronto

Abstract

We trained a large, deep convolutional neural network to classify the 1.2 million high-resolution images in the ImageNet LSVRC-2010 contest into the 1000 different classes. On the test data, we achieved top-1 and top-5 error rates of 37.5% and 17.0% which is considerably better than the previous state-of-the-art.

The neural network, which has 60 million parameters and 650,000 neurons, consists of five convolutional layers, some of which are followed by max-pooling layers, and three fully-connected layers with a final 1000-way softmax. To make training faster, we used non-saturating neurons and a very efficient GPU implementation of the convolution operation. To reduce overfitting in the fully-connected layers we employed a recently-developed regularization method called "dropout" that proved to be very effective.

We also entered a variant of this model in the ILSVRC-2012 competition and achieved a top-5 test error rate of 15.3%, compared to 26.2% achieved by the second-best entry.

1. Introduction

Current approaches to object recognition make essential use of machine learning methods. To improve their performance, we can collect larger datasets, learn more powerful models, and use better techniques for preventing overfitting. Until recently, datasets of labeled images were relatively small — on the order of tens of thousands of images (e.g., NORB [16], Caltech-101/256 [8, 9], and CIFAR-10/100 [12]).

Simple recognition tasks can be solved quite well with datasets of this size, especially if they are augmented with label-preserving transformations. For example, the current best error rate on the MNIST digit-recognition task (<0.3%) approaches human performance [4]. But objects in realistic settings exhibit considerable variability, so to learn to recognize them it is necessary to use much larger training sets.

Key Contributions:

  • We trained one of the largest convolutional neural networks to date on the subsets of ImageNet
  • We achieved the best results reported on these datasets
  • We wrote a highly-optimized GPU implementation of 2D convolution
  • Our network contains several new and unusual features that improve performance

And indeed, the shortcomings of small image datasets have been widely recognized (e.g., Pinto et al. [21]), but it has only recently become possible to collect labeled datasets with millions of images. The new larger datasets include LabelMe [23], which consists of hundreds of thousands of fully-segmented images, and ImageNet [6], which consists of over 15 million labeled high-resolution images in over 22,000 categories.

2. Dataset

ImageNet is a dataset of over 15 million labeled high-resolution images belonging to roughly 22,000 categories. The images were collected from the web and labeled by human labelers using Amazon's Mechanical Turk crowd-sourcing tool.

Starting in 2010, as part of the Pascal Visual Object Challenge, an annual competition called the ImageNet Large-Scale Visual Recognition Challenge (ILSVRC) has been held. ILSVRC uses a subset of ImageNet with roughly 1000 images in each of 1000 categories. In all, there are roughly:

1.2M

Training Images

50K

Validation Images

150K

Test Images

On ImageNet, it is customary to report two error rates: top-1 and top-5, where the top-5 error rate is the fraction of test images for which the correct label is not among the five labels considered most probable by the model.

3. Architecture

Our network architecture contains eight learned layers — five convolutional and three fully-connected. Below, we describe some of the novel or unusual features of our network's architecture.

3.1 ReLU Nonlinearity

The standard way to model a neuron's output f as a function of its input x is with f(x) = tanh(x) or f(x) = (1 + e⁻ˣ)⁻¹. In terms of training time with gradient descent, these saturating nonlinearities are much slower than the non-saturating nonlinearity f(x) = max(0,x). Following Nair and Hinton [20], we refer to neurons with this nonlinearity as Rectified Linear Units (ReLUs).

ReLU vs tanh performance

Figure 1: A four-layer convolutional neural network with ReLUs (solid line) reaches a 25% training error rate on CIFAR-10 six times faster than an equivalent network with tanh neurons (dashed line).

3.5 Overall Architecture

The network contains eight layers with weights; the first five are convolutional and the remaining three are fully-connected. The output of the last fully-connected layer is fed to a 1000-way softmax which produces a distribution over the 1000 class labels.

Network architecture

Figure 2: An illustration of the architecture of our CNN, explicitly showing the delineation of responsibilities between the two GPUs.

4. Reducing Overfitting

Our neural network architecture has 60 million parameters. Although the 1000 classes of ILSVRC make each training example impose 10 bits of constraint on the mapping from image to label, this turns out to be insufficient to learn so many parameters without considerable overfitting. Below, we describe the two primary ways in which we combat overfitting.

4.1 Data Augmentation

The easiest and most common method to reduce overfitting on image data is to artificially enlarge the dataset using label-preserving transformations. We employ two distinct forms of data augmentation:

1. Image Translations and Reflections

We generate additional training examples by extracting random 224×224 patches (and their horizontal reflections) from the 256×256 images. This increases our training set size by 2048×.

2. Altering RGB Intensities

We perform PCA on the set of RGB pixel values and add multiples of the principal components with magnitudes proportional to the corresponding eigenvalues.

4.2 Dropout

The recently-introduced technique, called "dropout" [10], consists of setting to zero the output of each hidden neuron with probability 0.5. The neurons which are "dropped out" in this way do not contribute to the forward pass and do not participate in backpropagation.

We use dropout in the first two fully-connected layers of our network. Without dropout, our network exhibits substantial overfitting. Dropout roughly doubles the number of iterations required to converge.

6. Results

Our results on ILSVRC-2010 are summarized in Table 1. Our network achieves top-1 and top-5 test set error rates of 37.5% and 17.0%. The best performance achieved during the ILSVRC-2010 competition was 47.1% and 28.2% with an approach that averages the predictions produced from six sparse-coding models trained on different features [2].

Model Top-1 Error Top-5 Error
Sparse Coding [2] 47.1% 28.2%
SIFT + FVs [24] 45.7% 25.7%
CNN (Our Model) 37.5% 17.0%

Table 1: Comparison of results on ILSVRC-2010 test set.

We also entered a variant of this model in the ILSVRC-2012 competition and achieved a top-5 test error rate of 15.3%, compared to 26.2% achieved by the second-best entry.

Network filters

Figure 3: 96 convolutional kernels of size 11×11×3 learned by the first convolutional layer.

Classification examples

Figure 4: (Left) Test images and top-5 predictions. (Right) Test images and similar training images based on feature activations.

References

[1] Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). ImageNet classification with deep convolutional neural networks. Advances in neural information processing systems, 25, 1097-1105.

[2] Jarrett, K., Kavukcuoglu, K., Ranzato, M., & LeCun, Y. (2009). What is the best multi-stage architecture for object recognition? 2009 IEEE 12th international conference on computer vision (pp. 2146-2153). IEEE.

[10] Hinton, G. E., Srivastava, N., Krizhevsky, A., Sutskever, I., & Salakhutdinov, R. R. (2012). Improving neural networks by preventing co-adaptation of feature detectors. arXiv preprint arXiv:1207.0580.