What is: SRU?
Source | Simple Recurrent Units for Highly Parallelizable Recurrence |
Year | 2000 |
Data Source | CC BY-SA - https://paperswithcode.com |
SRU, or Simple Recurrent Unit, is a recurrent neural unit with a light form of recurrence. SRU exhibits the same level of parallelism as convolution and feed-forward nets. This is achieved by balancing sequential dependence and independence: while the state computation of SRU is time-dependent, each state dimension is independent. This simplification enables CUDA-level optimizations that parallelize the computation across hidden dimensions and time steps, effectively using the full capacity of modern GPUs.
SRU also replaces the use of convolutions (i.e., ngram filters), as in QRNN and KNN, with more recurrent connections. This retains modeling capacity, while using less computation (and hyper-parameters). Additionally, SRU improves the training of deep recurrent models by employing highway connections and a parameter initialization scheme tailored for gradient propagation in deep architectures.
A single layer of SRU involves the following computation:
where and are parameter matrices and and are parameter vectors to be learnt during training. The complete architecture decomposes to two sub-components: a light recurrence and a highway network,
The light recurrence component successively reads the input vectors and computes the sequence of states capturing sequential information. The computation resembles other recurrent networks such as LSTM, GRU and RAN. Specifically, a forget gate controls the information flow and the state vector is determined by adaptively averaging the previous state and the current observation according to .