Balanced Neural ODEs: nonlinear model order reduction and Koopman operator approximations

Julius Aka, Johannes Brunnemann, Jörg Eiden, Arne Speerforck, Lars Mikelsons
2/12/2026

No official code found. Best implementation: juliusaka/bnode-core (11 stars, MIT, last commit 2026-02-12).

Abstract

Variational Autoencoders (VAEs) are a powerful framework for learning latent representations of reduced dimensionality, while Neural ODEs excel in learning transient system dynamics. This work combines the strengths of both to generate fast surrogate models with adjustable complexity reacting on time-varying inputs signals. By leveraging the VAE's dimensionality reduction using a nonhierarchical prior, our method adaptively assigns stochastic noise, naturally complementing known NeuralODE training enhancements and enabling probabilistic time series modeling. We show that standard Latent ODEs struggle with dimensionality reduction in systems with time-varying inputs. Our approach mitigates this by continuously propagating variational parameters through time, establishing fixed information channels in latent space. This results in a flexible and robust method that can learn different system complexities, e.g. deep neural networks or linear matrices. Hereby, it enables efficient approximation of the Koopman operator without the need for predefining its dimensionality. As our method balances dimensionality reduction and reconstruction accuracy, we call it Balanced Neural ODE (B-NODE). We demonstrate the effectiveness of this methods on several academic and real-world test cases, e.g. a power plant or MuJoCo data.

View on arXivView PDF

Code Implementations(1)

MIT

Generate Balanced Neural ODE surrogate models

110Python, MakefileOct 1, 20248 months agoMIT

Similar Papers

Cite this paper

@article{aka2026balanced,
  title  = {Balanced Neural ODEs: nonlinear model order reduction and Koopman operator approximations},
  author = {Julius Aka and Johannes Brunnemann and Jörg Eiden and Arne Speerforck and Lars Mikelsons},
  year   = {2026},
  eprint = {2410.10174},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2410.10174},
  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.10174.svg)](https://codeofpaper.com/paper/2410.10174)

Discussion