This library provides the models and the learning algorithms for learning deep stochastic stable dynamics by Invertible Flows. The model is composed by a latent stochastic stable dynamic system and an invertible flow. See 1
The models and the learning algorithms are implemented in PyTorch.
Inside the repository,
pip install -r requirements.txt
pip install -e .
Examples are placed in the examples
directory.
You can run examples in
Limit Cycle with IROS dataset [1] (results are saved in examples/experiments)
python examples/train_iros.py
Goto Motions with LASA dataset [2]
python examples/train_lasa.py
Goto Motions with pouring dataset
python examples/train_pouring.py
Limit Cycle Motions with drumming dataset
python examples/train_pouring.py
Stable Dynamic Flows, named ImitationFlows in [1], represents a family of neural network architectures, which combines a latent stable dynamic system and an invertible neural network(Normalizing Flows).
You can find the set of stable dynamic system models in dynamics
.
For the invertible networks, we have used RealNVP layer [3], Neural Spline Flows [4] and
Neural ODE [5]. You can find our models in flows
.
[1] Julen Urain, Michele Ginesi, Davide Tateo, Jan Peters. "ImitationFlows: Learning Deep Stable Stochastic Dynamic Systems by Normalizing Flows" IEEE/RSJ International Conference on Intelligent Robots and Systems. 2020.https://arxiv.org/abs/2010.13129
[2] Khansari-Zadeh, S. Mohammad, and Aude Billard. "Learning stable nonlinear dynamical systems with gaussian mixture models." IEEE Transactions on Robotics 2011.
[3] Dinh, Laurent, Jascha Sohl-Dickstein, and Samy Bengio. "Density estimation using real nvp." International Conference on Learning Representations 2016.
[4] Durkan, C., Bekasov, A., Murray, I., & Papamakarios, G. "Neural spline flows." Advances in Neural Information Processing Systems 2019.
[5] Chen, R. T., Rubanova, Y., Bettencourt, J., & Duvenaud, D. K. "Neural ordinary differential equations". In Advances in neural information processing systems 2018.
If you found this library useful in your research, please consider citing
@article{urain2020imitationflows,
title={ImitationFlows: Learning Deep Stable Stochastic Dynamic Systems by Normalizing Flows},
author={Urain, Julen and Ginesi, Michele and Tateo, Davide and Peters, Jan},
journal={IEEE/RSJ International Conference on Intelligent Robots and Systems},
year={2020}
}
Our Flows library has been highly influenced by the amazing repositories
https://github.com/bayesiains/nsf https://github.com/rtqichen/torchdiffeq