When learning stable linear dynamical systems from data, three important properties are desirable: i) predictive accuracy, ii) provable stability, and iii) computational efficiency. Unconstrained minimization of reconstruction errors leads to high accuracy and efficiency but cannot guarantee stability. Existing methods to remedy this focus on enforcing stability while also ensuring accuracy, but do so only at the cost of increased computation. In this work, we investigate if a straightforward approach can simultaneously offer all three desiderata of learning stable linear systems. Specifically, we consider a post-hoc approach that manipulates the spectrum of the learned system matrix after it is learned in an unconstrained fashion. We call this approach spectrum clipping (SC) as it involves eigen decomposition and subsequent reconstruction of the system matrix after clipping all of its eigenvalues that are larger than one to one (without altering the eigenvectors). Through detailed experiments involving two different applications and publicly available benchmark datasets, we demonstrate that this simple technique can simultaneously learn highly accurate linear systems that are provably stable. Notably, we demonstrate that SC can achieve similar or better performance than strong baselines while being orders-of-magnitude faster. We also show that SC can be readily combined with Koopman operators to learn stable nonlinear dynamics, such as those underlying complex dexterous manipulation skills involving multi-fingered robotic hands. Our codes and dataset can be found at https://github.com/GT-STAR-Lab/spec_clip.
翻译:从数据中学习稳定线性动力系统时,三个重要特性是理想的:i) 预测准确性,ii) 可证明的稳定性,以及 iii) 计算效率。无约束地最小化重构误差可以实现高精度和高效率,但无法保证稳定性。现有解决此问题的方法侧重于在确保精度的同时强制稳定性,但这是以增加计算量为代价的。在本工作中,我们研究一种简单的方法是否能够同时满足学习稳定线性系统的所有三个期望。具体而言,我们考虑一种后处理方法,该方法在系统矩阵以无约束方式学习后,对其谱进行操控。我们称这种方法为谱截断,因为它涉及特征分解,并在将所有大于1的特征值截断为1(不改变特征向量)后重构系统矩阵。通过涉及两个不同应用和公开可用基准数据集的详细实验,我们证明这种简单技术可以同时学习到高度准确且可证明稳定的线性系统。值得注意的是,我们证明SC可以实现与强基线相似或更好的性能,同时速度快几个数量级。我们还展示了SC可以很容易地与Koopman算子结合,以学习稳定的非线性动力学,例如那些涉及多指灵巧机械手的复杂灵巧操作技能背后的动力学。我们的代码和数据集可在 https://github.com/GT-STAR-Lab/spec_clip 找到。