about
Bayesian Neural Ordinary Differential Equations (arxiv.org)
1 point by ChrisRackauckas on Dec 17, 2020 | hide | past | pdf | 1 comment on HN

In plain words: Instead of writing down a system's equations, a network learns them from data; here it is wrapped in Bayesian statistics so it reports how sure it is about its own settings. It still reached 98.5% accuracy on 10,000 handwritten-digit images.

Abstract

Recently, Neural Ordinary Differential Equations has emerged as a powerful framework for modeling physical simulations without explicitly defining the ODEs governing the system, but instead learning them via machine learning. However, the question: "Can Bayesian learning frameworks be integrated with Neural ODE's to robustly quantify the uncertainty in the weights of a Neural ODE?" remains unanswered. In an effort to address this question, we primarily evaluate the following categories of inference methods: (a) The No-U-Turn MCMC sampler (NUTS), (b) Stochastic Gradient Hamiltonian Monte Carlo (SGHMC) and (c) Stochastic Langevin Gradient Descent (SGLD). We demonstrate the successful integration of Neural ODEs with the above Bayesian inference frameworks on classical physical systems, as well as on standard machine learning datasets like MNIST, using GPU acceleration. On the MNIST dataset, we achieve a posterior sample accuracy of 98.5% on the test ensemble of 10,000 images. Subsequently, for the first time, we demonstrate the successful integration of variational inference with normalizing flows and Neural ODEs, leading to a powerful Bayesian Neural ODE object. Finally, considering a predator-prey model and an epidemiological system, we demonstrate the probabilistic identification of model specification in partially-described dynamical systems using universal ordinary differential equations. Together, this gives a scientific machine learning tool for probabilistic estimation of epistemic uncertainties.

Raj Dandekar, Karen Chung, Vaibhav Dixit, Mohamed Tarek, Aslan Garcia-Valadez, Krishna Vishal Vemula, Chris Rackauckas
arXiv:2012.07244 · cs.LG · submitted Dec 14, 2020 · updated Feb 6, 2022
abstract · pdf · html · 16 pages, 10 figures, 3 tables; added new inference methods, substantially improved MNIST accuracy, revised author affiliations

add comment on HN

This paper shows how to train this object and the results we are currently getting. There's a full set of tutorials in the DiffEqFlux.jl documentation:

- Bayesian Neural ODEs with NUTS (https://diffeqflux.sciml.ai/dev/examples/BayesianNODE_NUTS/)

- Bayesian Neural ODEs with Stochastic Langevin Gradient Descent (https://diffeqflux.sciml.ai/dev/examples/BayesianNODE_SGLD/)

- General usage of the differential equation solvers (ODEs, SDEs, DDEs) in the Turing probabilistic programming language (https://turing.ml/dev/tutorials/10-bayesiandiffeq/)

- More demonstrations of ODEs, SDEs, and DDEs estimated by Turing + DifferentialEquations.jl in a way that you can swap in neural networks (https://github.com/TuringLang/TuringTutorials/blob/master/10...)

Our focus is more on the model discovery and scientific machine learning aspects, but we did throw an MNIST portion in there for good measure. The results are still early but everything is usable today.

If you're interested, you might want to check out the LAFI 2021 conference