HadamRNN: Binary and Sparse Ternary Orthogonal RNNs
Armand Foucault, Franck Mamalet, François Malgouyres
TL;DR
This work tackles the challenge of binarizing recurrent weights in vanilla/orthogonal RNNs by introducing HadamRNN, a binary orthogonal recurrent network parameterized via Hadamard matrices, and its sparse-ternary extension Block-HadamRNN. By constructing $W(u)=\frac{1}{\sqrt{d_h}}\mathrm{diag}(u)\mathrm{S}_{2^{k}}$ (and its block Kronecker variant for sparsity), the authors preserve orthogonality ($W^{\top}W=I$) while enabling learning with STE and quantized inputs/outputs, achieving strong performance on long-horizon tasks (e.g., copy task with 1000 timesteps) and competitive results on MNIST, IMDB, GLUE, and IoT benchmarks. The paper provides a detailed analysis of Hadamard theory, matrix-quantization strategies, model size and compute reductions, and ablations demonstrating the benefits of linear recurrent units and the trade-offs controlled by the sparsity parameter $q$ in Block-HadamRNN. Overall, the results show that highly quantized, edge-friendly RNNs can rival full-precision orthogonal models on a range of sequential and NLP tasks, with the added advantage of far smaller memory footprints and reduced computation. This advances practical deployment of memory-efficient, long-range sequence models on resource-constrained devices. $
Abstract
Binary and sparse ternary weights in neural networks enable faster computations and lighter representations, facilitating their use on edge devices with limited computational power. Meanwhile, vanilla RNNs are highly sensitive to changes in their recurrent weights, making the binarization and ternarization of these weights inherently challenging. To date, no method has successfully achieved binarization or ternarization of vanilla RNN weights. We present a new approach leveraging the properties of Hadamard matrices to parameterize a subset of binary and sparse ternary orthogonal matrices. This method enables the training of orthogonal RNNs (ORNNs) with binary and sparse ternary recurrent weights, effectively creating a specific class of binary and sparse ternary vanilla RNNs. The resulting ORNNs, called HadamRNN and Block-HadamRNN, are evaluated on benchmarks such as the copy task, permuted and sequential MNIST tasks, the IMDB dataset, two GLUE benchmarks, and two IoT benchmarks. Despite binarization or sparse ternarization, these RNNs maintain performance levels comparable to state-of-the-art full-precision models, highlighting the effectiveness of our approach. Notably, our approach is the first solution with binary recurrent weights capable of tackling the copy task over 1000 timesteps.
