Nested LSTMs

By Joel Ruben Antony Moniz, David Krueger

We propose Nested LSTMs (NLSTM_), a novel RNN architecture with multiple levels of memory. Nested LSTMs add depth to LSTMs via nesting as opposed to stacking. The value of a memory cell in an NLSTM is computed by an LSTM cell, which has its own inner memory cell. Specifically, instead of computing the value of the (outer) memory cell as coutert=ft⊙ct−1+it⊙gt, NLSTM memory cells use the concatenation (ft⊙ct−1,it⊙gt) as input to an inner LSTM (or NLSTM) memory cell, and set coutert = hinnert. Nested LSTMs outperform both stacked and single-layer LSTMs with similar numbers of parameters in our experiments on various character-level language modeling tasks, and the inner memories of an LSTM learn_ longer term dependencies compared with the higher-level units of a stacked LSTM.

  Full implementation in Github.