DiffEqFlux.jl - A Julia Library for Neural Differential Equations
This work provides a tool for researchers and practitioners in machine learning and data science to leverage sophisticated differential equation solvers, addressing challenges in modeling dynamic systems, though it is incremental as it builds on existing libraries.
The authors introduced DiffEqFlux.jl, a Julia library that integrates neural networks with differential equations, enabling the use of advanced solvers from DifferentialEquations.jl to handle complex cases like delay and stochastic differential equations within machine learning models.
DiffEqFlux.jl is a library for fusing neural networks and differential equations. In this work we describe differential equations from the viewpoint of data science and discuss the complementary nature between machine learning models and differential equations. We demonstrate the ability to incorporate DifferentialEquations.jl-defined differential equation problems into a Flux-defined neural network, and vice versa. The advantages of being able to use the entire DifferentialEquations.jl suite for this purpose is demonstrated by counter examples where simple integration strategies fail, but the sophisticated integration strategies provided by the DifferentialEquations.jl library succeed. This is followed by a demonstration of delay differential equations and stochastic differential equations inside of neural networks. We show high-level functionality for defining neural ordinary differential equations (neural networks embedded into the differential equation) and describe the extra models in the Flux model zoo which includes neural stochastic differential equations. We conclude by discussing the various adjoint methods used for backpropogation of the differential equation solvers. DiffEqFlux.jl is an important contribution to the area, as it allows the full weight of the differential equation solvers developed from decades of research in the scientific computing field to be readily applied to the challenges posed by machine learning and data science.