DiffEqFlux.jl - A Julia Library for Neural Differential Equations
arXiv:1902.02376
Abstract
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.
Julialang Blog post, DiffEqFlux.jl
References in corpus (1)
Cited by in corpus (10)
- Discretize-Optimize vs. Optimize-Discretize for Time-Series Regression and Continuous Normalizing Flows
- Data-Driven Surrogates of Rotating Detonation Engine Physics with Neural ODEs and High-Speed Camera Footage
- TorchDyn: A Neural Differential Equations Library
- Variational optimization and data assimilation in chaotic time-delayed systems with automatic-differentiated shadowing sensitivity
- Learning Stable Galerkin Models of Turbulence with Differentiable Programming
- System Identification for Hybrid Systems using Neural Networks
- Physics-Informed Machine Learning Simulator for Wildfire Propagation
- A research framework for writing differentiable PDE discretizations in JAX
- Augmenting Neural Differential Equations to Model Unknown Dynamical Systems with Incomplete State Information
- Differentiable Multiple Shooting Layers