Capacity and Trainability in Recurrent Neural Networks
Jasmine Collins, Jascha Sohl-Dickstein, David Sussillo
TL;DR
The paper investigates two capacity bottlenecks in recurrent networks: how much task information can be stored in parameters and how much input history can be remembered by units. Through extensive hyperparameter optimization across six tasks and six RNN variants, it shows a roughly linear per-parameter capacity of about 5 bits and a per-unit input-memory capacity of about one real value, with little dependence on architecture. The authors find that training difficulty largely explains performance differences, with gated models being easier to train and sometimes more scalable to depth, while vanilla RNNs offer similar capacity but are harder to train. They introduce two new architectures, UGRNN and +RNN, that improve trainability in deep stacks and provide practical guidelines for architecture choice and compression based on training budgets and task complexity.
Abstract
Two potential bottlenecks on the expressiveness of recurrent neural networks (RNNs) are their ability to store information about the task in their parameters, and to store information about the input history in their units. We show experimentally that all common RNN architectures achieve nearly the same per-task and per-unit capacity bounds with careful training, for a variety of tasks and stacking depths. They can store an amount of task information which is linear in the number of parameters, and is approximately 5 bits per parameter. They can additionally store approximately one real number from their input history per hidden unit. We further find that for several tasks it is the per-task parameter capacity bound that determines performance. These results suggest that many previous results comparing RNN architectures are driven primarily by differences in training effectiveness, rather than differences in capacity. Supporting this observation, we compare training difficulty for several architectures, and show that vanilla RNNs are far more difficult to train, yet have slightly higher capacity. Finally, we propose two novel RNN architectures, one of which is easier to train than the LSTM or GRU for deeply stacked architectures.
