Recurrent Neural Network Regularization
I am reading this paper because it was recommended as part of Ilya Sutskever's approx. 30 papers that he recommended to John Carmack to learn what really matters for machine learning / AI today. This paper shows how to apply the dropout regularization technique to LSTMs, and it shows that this application of dropout substantially reduces overfitting on a variety of tasks.
Reference Link to PDF of Conference Paper
This paper presents a simple regularization technique for Recurrent Neural Networks (RNNs) with Log Short-Term Memory (LSTM) units. Regular dropout does not work well with RNNs and LSTMs. This paper shows how to apply dropout to effectively regularize LSTMs.
The Recurrent Neural Network (RNN) is a neural sequence model that achieves state of the art performance on important tasks that include language modeling, speech recognition, and machine translation. Successful applications of neural networks requires good regularization, but dropout, the most effective regularization technique for feed forward neural networks, does not work well with RNNs. As a result, it is difficult to prevent large RNNs from overfitting. This paper shows that when dropout is applied correctly, it greatly reduces overfitting in RNNs.
This paper shows that the problem of dropout not working with RNNs because the recurrence amplifies noise can be fixed by applying dropout to a certain subset of the RNNs connections. As a result, RNNs can also benefit from dropout. This paper shows how to correctly apply dropout to LSTMs, the most commonly-used RNN variant.
In this paper, subscripts denote timestamps and superscripts denote layers. All states are -dimensional. Let be an affine transform ( for some and ). is element wise multiplication and is an input word vector at timestep . The activations is used to predict , since is the number of layers in the deep LSTM. The RNN dynamics can be described using deterministic transitions form previous to current hidden states. The deterministic state transition is a function
For classical RNNs, this function is given by:
The LSTM has complicated dynamics that allow it to easily ”memorize” information for an extended number of timesteps. The ”log term” memory is stored in a vector of memory cells, . All LSTM architectures have explicit memory cells for storing information for long periods of time. The LSTM can decde to overwrite the memory cell, retrieve it, or keep it for the next time step. The LSTM architecture in this paper’s experiments is given by the equation below:
In these equations, sigm
and tanh
are applied element-wise. The image below demonstrates the LSTM
equations:
The main contribution of this paper is a recipe for applying dropout to LSTMs in a way that successfully reduces overfitting. The main idea is to apply the dropout operator only to the non-recurrent connections (See image above). The following equation describes it more precisely, where D is the dropout operator that sets a random subset of its argument to zero:
The dropout operator corrupts the information carried by the units, forcing them to perform their intermediate computations more robustly. We do not want to erase all the information form the units. It is especially important that the units remember events that occurred many timesteps in the past. The image below shows how information could flow from an event that occurred at to the prediction in timestep in our implementation of dropout. The information is corrupted by the dropout operator exactly times, and this number is independent of timesteps traversed by the information. Standard dropout perturbs the recurrent connections, which makes it difficult for the LSTM to learn to store information for long periods of time. By not using dropout on recurrent connections, the LSTM can benefit from dropout regularization without sacrificing its valuable memorization ability.
This paper presented a simple way of applying dropout to LSTMs that results in large performance increases on several problems of different domains. This work makes dropout useful for RNNs, and the results suggest that this implementation of dropout could improve performance on a wide variety of applications.
Comments
You have to be logged in to add a comment
User Comments
There are currently no comments for this article.