Requirements | Training | Results | Contributing
This repository is the official implementation of Distributional Gradient Matching for Learning Uncertain Neural Dynamics Models.
To install requirements:
pip install -r requirements.txt
We build our code using JAX. The code of the algorithm is in the folder
dgm
.
Examples how to train the model from the paper are in the folder examples
. To train e.g. Double Pendulum model on
multiple trajectories, go to folder examples/non_parameteric/multiple_trajectories
and run:
python double_pendulum.py
Our model achieves the following Log-Likelihood score on different datasets:
Dataset | Single Trajectory [LL] | Multiple Trajectories [LL] |
---|---|---|
Lotka Volterra |
1.96 ± 0.21 | 1.81 ± 0.08 |
Lorenz |
−0.57 ± 0.11 | −2.18 ± 0.76 |
Double Pendulum |
2.13 ± 0.14 | 1.86 ± 0.05 |
Quadrocopter |
0.64 ± 0.07 | -0.54 ± 0.36 |
If you would like to contribute to the project please reach out to Lenart Treven or Philippe Wenk. If you found this library useful in your research, please consider citing.
@article{treven2021distributional,
title={Distributional Gradient Matching for Learning Uncertain Neural Dynamics Models},
author={Treven, Lenart and Wenk, Philippe and Dörfler, Florian and Krause, Andreas},
journal={Advances in Neural Information Processing Systems},
year={2021}
}