Neural Ordinary Differential Equation Control of Dynamics on Graphs

0
0 ratings - Please login to submit your rating.

Abstract 

We study the ability of neural networks to steer or control trajectories of dynamical systems on graphs, which we represent with neural ordinary differential equations (neural ODEs). To do so, we introduce a neural-ODE control (NODEC) framework and find that it can learn control signals that drive graph dynamical systems into desired target states. While we use loss functions that do not constrain the control energy, our results show that NODEC produces control signals that are highly correlated with optimal (or minimum energy) control signals. Finally, we empirically showcase the high performance and versatility of NODEC for various (non-)linear dynamics and loss functions on different graphs.

Instructions: 

The upload zip folder contains parameter and result data from the NODEC experiments.

The data contains mainly:
- Neural network parameters.
- Evaluation results that are used for plotting.
- Graph adjacency matrices and node indices for actuator selection when performing control.
- Parameters of dynamics such as Kuramoto Coupling constants.

The data are found in the following formats:
-'.pt' or '.pth' files that contain pytorch files and can be read via the 'torch.load(path/to/file)' command in python.
- '.json' and '.csv' files that can be read by common parsers.
- '.npy' and '.npz' files that contain numpy arrays.
- '.zip' that contain experiment outcomes in zip folders. Most of those folders contain '.csv' and '.pt' files.
- Reinforcement learning also outputs files with name patterns that start with 'events.out.tfevents'. These files can be loaded via tensorboard.

Pytorch files either contain tensors with parameters for graphs and dynamics such as network adjacency matrices, initial states, physical constants etc.
Pytorch files with names:
- 'policy.pth'
- 'nodec_best.pth'
- 'trained_model.pt'
- 'ep_{number}.pt' in zip files called 'epochs.zip' under the folder 'nodec_params/'
contain neural network parameters that can be loaded in torch neural network modules.
Trained models are provided for reproducibility but one would require the class with the network definition to load them.

'.json' files often contain graph node cartesian coordinates for plotting, where keys are node indices and values are a list with coordinate values.
'.csv' most csv files contain results on evaluation of trrained models, also cartesian coordinates and plot data.

Code with extensive examples on Jupyter notebooks is provided for the data usage and an open source library with compatible plotting utilities can be found at:
https://github.com/asikist/nnc

Please place the data folder from the zip in the 'nodec_experiments/' folder, such that the paths read like:
'nodec_experiments/data/parameters/'

Comments

First submission

Submitted by Thomas Asikis on Thu, 12/24/2020 - 17:27