Memristive-Friendly Hadamard Reservoir Computing: Structured, Multiplier-Free Recurrences at Scale
Organizations: Department of Computer Science, University of Pisa, Italy · Istituto Nazionale di Ricerca Metrologica (INRiM), Italy · Department of Applied Science and Technology, Politecnico di Torino, Italy
Abstract
Reservoir Computing (RC) designs Recurrent Neural Networks around a fixed, i.e., untrained, recurrent layer, and is a natural candidate for neuromorphic hardware. Memristive-friendly reservoirs derive the neuron dynamics from memristive-device kinetics, but still rely on dense recurrent matrices, which are expensive to realize physically. In this paper, we replace the dense matrix with a structured orthogonal operator, built from sign diagonals, a permutation, and a fast Walsh-Hadamard transform. The operator is multiplier-free, requires parameters and operations per step, and is never materialized as a matrix. We instantiate it in a standard and in a memristive-friendly Echo State Network, with one binary input connection per unit. Our mathematical analysis shows that exact orthogonality yields an echo state condition that is tight in the recurrent scaling, and a noise response that is predictable at design time. Moreover, the operator mixes the whole state in a single application. Experiments on twenty classification and seven regression benchmarks, at reservoir sizes up to , show that the structured models match dense orthogonal reservoirs, and achieve better mean performance than the cycle reservoir by a margin that widens with size. Furthermore, we time the recurrent step on three hardware platforms, where it is up to faster than a dense product and smaller in memory. Finally, we ablate the operator and measure the response to noise, quantization, device mismatch and discrete faults.
Figures & tables
| crossbar / butterfly mismatch | sign flips | routing faults | ||||||||||
| Model | ||||||||||||
| ESN | — | — | — | — | — | — | ||||||
| SCR | — | — | — | — | — | — | ||||||
| Orth | — | — | — | — | — | — | ||||||
| MF-ESN | — | — | — | — | — | — | ||||||
| H-ESN | ||||||||||||
| ESN | SCR | Orth | MF-ESN | H-ESN, | H-ESN si , | |
| MF-H-ESN | MF-H-ESN si | |||||
| Operations per step | MAC | shift | MAC | MAC | add | add |
| Construction cost | ||||||
| Reservoir memory, | MB | kB | MB | MB | kB | kB |
| Analog values in the reservoir | ||||||
| Impulse spread in one step | yes | no | yes | yes | yes | yes |
Appendix figures & tables8 assets
Supplementary material from the paper’s appendix.
Appendix
| dense [ms] | FWHT (TF) | FWHT (XLA) | FWHT (C++ op) | ||||
|---|---|---|---|---|---|---|---|
| [ms] | speedup | [ms] | speedup | [ms] | speedup | ||
| 256 | 0.16 | 0.74 | 0.21 | 0.31 | 0.51 | 0.27 | 0.58 |
| 512 | 0.38 | 1.16 | 0.32 | 0.39 | 0.97 | 0.42 | 0.90 |
| 1024 | 1.19 | 2.23 | 0.53 | 0.56 | 2.13 | 0.72 | 1.64 |
| 2048 | 3.28 | 4.30 | 0.76 | 0.98 | 3.35 | 1.47 | 2.23 |
| 4096 | 11.43 | 10.09 | 1.13 | 2.00 | 5.72 | 2.85 | 4.01 |
| dense [ms] | FWHT (TF) | FWHT (XLA) | FWHT (CUDA op) | ||||
|---|---|---|---|---|---|---|---|
| [ms] | speedup | [ms] | speedup | [ms] | speedup | ||
| 256 | 0.18 | 0.71 | 0.25 | 0.34 | 0.53 | 0.29 | 0.62 |
| 512 | 0.38 | 1.18 | 0.32 | 0.44 | 0.87 | 0.43 | 0.88 |
| 1024 | 1.16 | 2.12 | 0.55 | 0.63 | 1.84 | 0.74 | 1.57 |
| 2048 | 3.28 | 4.16 | 0.79 | 1.10 | 3.00 | 1.57 | 2.09 |
| 4096 | 11.74 | 10.50 | 1.12 | 2.31 | 5.09 | 3.08 | 3.81 |
| dense [ms] | FWHT (TF) | FWHT (XLA) | FWHT (CUDA op) | ||||
|---|---|---|---|---|---|---|---|
| [ms] | speedup | [ms] | speedup | [ms] | speedup | ||
| 256 | 0.20 | 0.52 | 0.39 | 0.22 | 0.90 | 0.30 | 0.66 |
| 512 | 0.20 | 0.61 | 0.32 | 0.23 | 0.87 | 0.34 | 0.58 |
| 1024 | 0.23 | 0.61 | 0.38 | 0.24 | 0.98 | 0.28 | 0.82 |
| 2048 | 0.22 | 0.65 | 0.34 | 0.23 | 0.94 | 0.30 | 0.74 |
| 4096 | 0.23 | 0.68 | 0.34 | 0.24 | 0.97 | 0.30 | 0.78 |
| stored description (bits) | analog quantities | total, | ||||
| Model | recurrent | input, bias | values | connections | ||
| ESN | MB | MB | ||||
| SCR | B | kB | ||||
| Orth | MB | MB | ||||
| MF-ESN | MB | MB | ||||
| H-ESN | kB | kB | ||||
Reservoir Computing
Reservoir computing uses recurrent dynamical systems to transform temporal inputs into features that support efficient learning with simple readouts.
See all 107 papers