Generalized Physics-Informed Learning through Language-Wide Differentiable Programming
summary
Language-wide automatic differentiation for full Julia programs generates gradients of real scientific code so existing solvers become trainable: Zygote performs source-to-source AD on Julia ASTs and composes with DifferentialEquations.jl and Flux.jl. Examples include a neural controller trained through an event-handling implicit ODE, a Universal ODE that fits an SEIR exposure term from 21 days of COVID-19 data and extrapolates to ~40–60 days, discovery of a diffusion + quadratic reaction from PDE data, and a learned 1D surrogate that runs ~15,000× faster than the full 3D Navier–Stokes.
AI-written summary · about
chapters (14)
- 0:00Intro
- 1:10Neural Networks = Nonlinear Function Approximation
- 3:28Physics-Informed Neural Networks (PINNS)
- 13:07Zygote Source Code Transform Mixed Mode AD
- 15:51Julia's ML stack is pluggable and extensible
- 16:51Start With Differential Equations.jl
- 22:04Take data from a fitted augmented SEIR model
- 23:57Neural ODE
- 25:48SinDy-Sparse Identification of Dynamical Systems
- 31:20Universal ODEs learn and extrapolate complex dynamical behavior from small data!
- 34:25Automatically Learning PDEs from Data: Universal PDEs for Fisher-KPP
- 36:16Universal PDEs for Acceleration: Automated Climate Parameterizations
- 40:01SciML-Compatible Full Ecosystems
- 41:50Acknowledgments
related talks
01h 10mThe impact of differentiable programming: how ∂P is enabling new science in Julia
39mDifferentiable Functional Programming
59mDifferentiable Programming in C++
29mAutomatic differentiation, a tale of two languages
43mJulia: A Fresh Approach to Machine Learning
29mPartial Evaluation of Automatic Differentiation for Differential-Algebraic Equati...
36mProgramming Languages for Automatic Differentiation: What Now?
11mAbstract Interpretation for Automatic Differentiation
