Collection of tools to study the controllability of neural dynamical systems using neural networks, optimal control theory, and reinforcement learning.
For basic functionality:
pip install -r requirements.txt
To use nonlinear MUJOCO systems such as the inverted pendulum, follow the respective instructions here: https://www.gymlibrary.dev/environments/mujoco/. Note: Gym requires the old mujoco 1.5.0 version for its python bindings (download here: https://www.roboti.us/download.html).
examples/
: End-to-end use cases of RNNs learning to control linear and nonlinear systems using optimal control or RL. A file calledlinear_rnn_lqg.py
refers to alinear
dynamical system environment (e.g. Double Integrator) in which anrnn
neural system solves some task (e.g. regression) usinglqg
learning signals.scratch/
: Collection of scripts to explore various aspects of controllability of neural systems.src/
: Core logic, common objects and utility functions.
Run linear_rnn_lqr.py
, and afterwards visualize_linear_rnn_lqr.py
.
If you find this software useful in your research, please cite the associated paper.