Oscillatory State-Space Models

T. Konstantin Rusch, Daniela Rus
10/4/2024
cs.LGcs.NE

No official code found. Best implementation: tk-rusch/linoss (126 stars, MIT, last commit 2026-03-01). 1 more below.

Abstract

We propose Linear Oscillatory State-Space models (LinOSS) for efficiently learning on long sequences. Inspired by cortical dynamics of biological neural networks, we base our proposed LinOSS model on a system of forced harmonic oscillators. A stable discretization, integrated over time using fast associative parallel scans, yields the proposed state-space model. We prove that LinOSS produces stable dynamics only requiring nonnegative diagonal state matrix. This is in stark contrast to many previous state-space models relying heavily on restrictive parameterizations. Moreover, we rigorously show that LinOSS is universal, i.e., it can approximate any continuous and causal operator mapping between time-varying functions, to desired accuracy. In addition, we show that an implicit-explicit discretization of LinOSS perfectly conserves the symmetry of time reversibility of the underlying dynamics. Together, these properties enable efficient modeling of long-range interactions, while ensuring stable and accurate long-horizon forecasting. Finally, our empirical results, spanning a wide range of time-series tasks from mid-range to very long-range classification and regression, as well as long-horizon forecasting, demonstrate that our proposed LinOSS model consistently outperforms state-of-the-art sequence models. Notably, LinOSS outperforms Mamba and LRU by nearly 2x on a sequence modeling task with sequences of length 50k.

View on arXivView PDF

Code Implementations(2)

tk-rusch/linossCommunity65%
MIT

Oscillatory State-Space Models

12615PythonDec 27, 20247 months agoMIT
MIT

Oscillatory State-Space Models

51PythonJan 13, 20258 months agoMIT

Similar Papers

Cite this paper

@article{rusch2024oscillatory,
  title  = {Oscillatory State-Space Models},
  author = {T. Konstantin Rusch and Daniela Rus},
  year   = {2024},
  eprint = {2410.03943},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2410.03943v3},
  journal = {ICLR 2024 2024}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2410.03943.svg)](https://codeofpaper.com/paper/2410.03943)

Discussion