Journal Article
Dropout: a simple way to prevent neural networks from overfitting
Nitish Srivastava•2014
Geoffrey E. HintonAlex Krizhevsky
Top 1% · 100th Percentile
34,106 citations · Artificial Intelligence

TLDR

Randomly removing parts of a computer system while it learns helps prevent it from memorizing training examples. This simple method makes the system work better across images, speech, documents, and biology data.

Summary

1 Study Aim

The authors aim to introduce dropout, a training method that randomly removes units and their connections from neural networks (computer models inspired by brain-like information processing). They argue that this prevents overfitting (performing well on practice examples but poorly on new ones) by stopping units from relying too heavily on one another. The study also examines whether one smaller-weight network can reproduce the combined predictions of many randomly altered networks. The study tests whether randomly switching off parts of a learning system can make it perform better on unfamiliar examples.

2 Study Design

The research evaluates dropout in deep neural networks (large computer models with many connected processing units). During training, the method randomly removes units, creating many smaller network versions. At testing, the authors use one complete network with reduced weights (numbers controlling connection strength) to approximate their combined predictions. They compare this approach with other regularization methods (techniques that reduce overfitting). Experiments cover supervised learning (learning from labeled examples) in vision, speech recognition, document classification, and computational biology (using computers to analyze biological data). The supplied material does not report sample sizes or detailed benchmark procedures. The researchers trained many altered versions of large computer models, then tested one simpler version across several kinds of labeled data.

3 Findings

The study reports that dropout significantly reduces overfitting in large neural networks. The authors state that it improves performance over other regularization methods across vision, speech recognition, document classification, and computational biology tasks. They also report state-of-the-art results (the best reported performance at that time) on many benchmark data sets. The method samples an exponential number of thinned networks (networks made smaller by removing units) during training, yet testing remains efficient with one unthinned network using smaller weights. These findings support dropout as a practical way to improve accuracy without averaging many large models during testing. Randomly removing parts during learning helped the systems make better predictions while keeping testing fast and simple.

Abstract

Deep neural nets with a large number of parameters are very powerful machine learning systems. However, overfitting is a serious problem in such networks. Large networks are also slow to use, making it difficult to deal with overfitting by combining the predictions of many different large neural nets at test time. Dropout is a technique for addressing this problem. The key idea is to randomly drop units (along with their connections) from the neural network during training. This prevents units from co-adapting too much. During training, dropout samples from an exponential number of different “thinned ” networks. At test time, it is easy to approximate the effect of averaging the predictions of all these thinned networks by simply using a single unthinned network that has smaller weights. This significantly reduces overfitting and gives major improvements over other regularization methods. We show that dropout improves the performance of neural networks on supervised learning tasks in vision, speech recognition, document classification and computational biology, obtaining state-of-the-art results on many benchmark data sets.