Concepts, case studies, step-by-step implementations
For a lot of physical systems, properly modeling their dynamical behaviors lays the inspiration for system understanding, forecasting, and control. Mathematically, abnormal differential equations (ODEs), which describe the speed of change of system states over time, are widely used to characterize the dynamical systems. Correspondingly, many analytical and numerical solvers have been developed that may effectively solve the ODEs, thus allowing us to portray the system state trajectory.
Nonetheless, there may be one condition for using ODE solvers: we’d like to have complete knowledge of the ODEs. For a lot of real-world, complex systems, unfortunately, this requirement isn’t fulfilled: for some, we may know the functional type of the ODEs but don’t know the associated model parameters; for others, even their functional form is hidden from us. Without explicit equations, using ODE solvers for dynamical system modeling is out of reach.
So how you can address this issue?
One promising way is to adopt a data-driven mindset and leverage machine learning algorithms to infer the unknown dynamics from the observed data of the system states.
On this blog post, let’s explore one specific algorithm that may achieve this goal: Neural ODE. More specifically, we’ll first gain a conceptual understanding of how the Neural ODE approach might be used for dynamic modeling. Afterward, we’ll get hands-on and implement a Neural ODE model to deal with two case studies.
Disclaimer: As a tutorial, the Neural ODE implementation presented on this blog prioritizes simplicity and transparency. For more advanced implementations/libraries which can be optimized for large-scale real-world challenges, please take a look at the reference I compiled at the tip of this blog.
With that in mind, let’s start!
Table of Content
· 1. What’s Neural ODE?
· 2. Case Study Descriptions
∘ 2.1 Case study 1: System…