Researchers at Galois have developed DLKoopman – an open-source software tool that uses machine learning to model and predict the behavior of complex, difficult-to-analyze systems. DLKoopman models a system from limited data, and then predicts how it is going to behave under unknown, often unmeasurable conditions, such as the pressure on a submarine at unknown depths.
Harnessing the power of deep learning, DLKoopman is generalizable to a widespread variety of systems found in physics, engineering, and beyond, differentiating it from previous efforts to model complex systems and making the potential for practical applications nearly limitless.
Koopman theory – a technique to analyze complex systems
Most systems that we encounter in the world – from the motion of a submarine to the ebb and flow of weather patterns – are complex, nonlinear, and often difficult or impossible to describe with exact models or to predict how they will behave in unknown conditions. For example, engineers can measure the forces experienced by a submarine at low to normal depths, but the complexity of the underlying physics makes it hard to predict these same forces when plumbing the deepest trenches of the Pacific. In an effort to solve such problems, engineers in recent years have expanded on an existing technique called Koopman theory using the magic of machine learning and artificial intelligence.
Koopman theory is a technique for data-driven modeling and analysis of nonlinear dynamical systems – that is, those systems whose behavior shifts in response to the changes in an independent variable such as time or geospatial position, but in which the change in output is not proportional to the change in input. In the example above, the independent variable is the depth of the submarine, and the engineer aims to model how the behavior of the submarine will change with depth, but the complexity of pressure physics at depth makes it a difficult problem to solve. This is where Koopman theory comes in.
While complexity makes accurate analysis difficult, data on how a system behaves can be easily and plentifully collected by observing the system and taking snapshots of its behavior at regular intervals. Using Koopman theory, engineers can input these snapshots into machine learning tools, allowing the system to learn and map an approximate, ‘linearized’ model for how the submarine will behave under various unknown conditions, including at very low depths or dive conditions for which data cannot be collected. The underlying machine learning allows for easy analysis and accurate forecasts, making the theory a powerful predictive tool.
Under the hood, Koopman theory ‘encodes’ measured states of a system into a different domain, constructs a linear model and makes associated predictions in this domain, and then ‘decodes’ it back into the original domain. In layman’s terms, this is like zooming in on an image, editing the zoomed image, then unzooming it back to its original size. While promising in theory, the choice of the encoding can have a huge impact on how well the linear model approximates the actual system. The most successful efforts in recent literature have used machine learning or deep learning. However, most of these efforts have been designed to model specific systems such as molecular kinetics or pendulum motion, and are not generalizable. The lack of a general purpose framework is the gap Galois has attempted to fill with this work.
Enter DLKoopman: a deep learning software package with broad potential application
Over the last year and half, our data science team at Galois has developed DLKoopman – a software package for Koopman theory that uses deep learning to learn an encoding (and corresponding decoding) of a nonlinear dynamical system into a linear domain, while simultaneously learning the linear dynamics in this new domain1. The open source package can be applied to analyze and predict the behavior of any system, a capability that its authors demonstrated by predicting the pressure across the surface of an airfoil at varying angles of attack. Airfoils are used in the design of aircraft, propellers, and other applications of aeronautical engineering, meaning that the tool could potentially be used to influence better aircraft design and safer flights. The DLKoopman team is currently using the package to achieve better design for Unmanned Aerial Vehicles (UAVs) and Urban Air Mobility (UAM) vehicles as part of DARPA’s Symbiotic Design for Cyber Physical Systems (SDCPS) research program.
Other potential applications include the analysis of systems complex enough to merit needing to be described by differential equations—such as quantum mechanics or the spread of diseases. These sorts of systems, like the submarine and flight examples above, are notoriously difficult to predict and often impossible to “solve.” This is where the utility of DLKoopman shines through – it can be used to approximately model such systems and make predictions about them without attempting the difficult, and often intractable, task of exactly solving them.
With DLKoopman, we are making a significant contribution to an exciting and still-emerging branch of research at the intersection of physics, engineering, and computer science. Its applications are widespread, stretching from aeronautics to medical science to economic forecasting and beyond, essentially encompassing any system for which the question can be asked “I know how this behaves now (under these conditions), but how is it going to behave in the future (under different conditions)?” In a world full of such questions, the sky is the limit.
1 A research paper describing the tool – titled “DLKoopman: A deep learning software package for Koopman theory” – has been submitted to the 5th Annual Learning for Dynamics & Control (L4DC) Conference in Philadelphia, and is also available on arXiv. The main author, Sourya Dey, has also been invited to deliver a talk on DLKoopman at the World Conference on Data Science & Statistics in Frankfurt, Germany.
This material is based upon work supported by the Defense Advanced Research Projects Agency (DARPA) and Air Force Research Laboratory (AFRL) under Contract No. FA8750-20-C-0534. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of DARPA or AFRL.