We present DLKoopman -- a software package for Koopman theory that uses deep learning to learn an encoding of a nonlinear dynamical system into a linear space, while simultaneously learning the linear dynamics. While several previous efforts have either restricted the ability to learn encodings, or been bespoke efforts designed for specific systems, DLKoopman is a generalized tool that can be applied to data-driven learning and optimization of any dynamical system. It can either be trained on data from individual states (snapshots) of a system and used to predict its unknown states, or trained on data from trajectories of a system and used to predict unknown trajectories for new initial states. DLKoopman is available on the Python Package Index (PyPI) as 'dlkoopman', and includes extensive documentation and tutorials. Additional contributions of the package include a novel metric called Average Normalized Absolute Error for evaluating performance, and a ready-to-use hyperparameter search module for improving performance.
翻译:我们提出DLKoopman——一个基于Koopman理论的软件包,利用深度学习将非线性动力系统编码到线性空间中,同时学习线性动力学。尽管先前的一些工作要么限制了编码学习能力,要么是针对特定系统的定制化方案,但DLKoopman是一款通用工具,可应用于任意动力系统的数据驱动学习与优化。它既可以基于系统单个状态(快照)的数据进行训练,用于预测未知状态;也可以基于系统轨迹数据进行训练,用于预测新初始状态的未知轨迹。DLKoopman已作为'dlkoopman'发布在Python包索引(PyPI)中,并附有详尽的文档和教程。该软件包的额外贡献包括提出了一种用于评估性能的新型指标——平均归一化绝对误差(Average Normalized Absolute Error),以及一个可直接使用、用于提升性能的超参数搜索模块。