Symplectic Recurrent Neural Networks

Authors: Zhengdao Chen, Jianyu Zhang, Martin Arjovsky, Léon Bottou

ICLR 2020 | Conference PDF | Archive PDF | Plain Text | LLM Run Details

Reproducibility Variable Result LLM Response
Research Type Experimental We show SRNNs succeed reliably on complex and noisy Hamiltonian systems. We also show how to augment the SRNN integration scheme in order to handle stiffdynamical systems such as bouncing billiards. 4 SRNN can learn complex and noisy Hamiltonian dynamics As an example of a complex Hamiltonian system, we first present experiments performed on the spring-chain system: a chain of 20 masses with neighbors connected via springs. The training data consist of 1000 trajectories... During testing, the trained model is given 32 random initial states in order to predict 32 trajectories of length 100. Detailed experiment setups and model architectures are provided in Appendix A.1, and a Py Torch implementation can be found at https://github.com/zhengdao-chen/SRNN.git. Figure 1: Testing results in the noiseless case by single-step methods. Table 1: Testing results of predicting the dynamics of the spring-chain system by methods based on fixed p0, q0 (i.e., not optimizing p0, q0 as parameters).
Researcher Affiliation Collaboration Zhengdao Chena,c, Jianyu Zhangb,c, Martin Arjovskya, Léon Bottouc,a a New York University, New York, USA b Tianjin University, Tianjin, China c Facebook AI Research, New York, USA
Pseudocode No The paper describes mathematical equations and processes, such as the leapfrog algorithm updates (equations 4), and the augmented leapfrog schema (equations 6-8), but it does not include explicitly labeled pseudocode or algorithm blocks.
Open Source Code Yes Detailed experiment setups and model architectures are provided in Appendix A.1, and a Py Torch implementation can be found at https://github.com/zhengdao-chen/SRNN.git.
Open Datasets No The paper generates its own training data through simulations rather than using pre-existing publicly available datasets with specific access information. For example, for the spring-chain: 'The training data consist of 1000 trajectories of the same chain...'. For the three-body: 'the training data consist of 100 sample trajectories...'. For the heavy billiard: 'We use 5000 training trajectories...'
Dataset Splits No The paper mentions 'training data' and 'testing data' and how these are generated (e.g., '1000 sample trajectories of length 10 (T=9) are turned into 9000 sample trajectories of length 2 (T=1)'). However, it does not explicitly specify a separate 'validation' split or provide percentages or counts for such a split.
Hardware Specification No The paper mentions that models are 'Implemented in PyTorch' but does not provide any specific hardware details such as GPU models, CPU types, or memory specifications used for running the experiments. It only states the software framework used.
Software Dependencies No The paper mentions 'Implemented in Py Torch' in Appendix A.1, A.2, and A.3, but does not provide a specific version number for PyTorch. It also mentions 'Sci Py s solve_ivp' and 'L-BFGS-B algorithm (Zhu et al., 1997)' but without version numbers for these software components.
Experiment Setup Yes We set t = 0.1. The O-NET that represents fθ(p, q) is a one-hidden-layer MLP with 40 input units, 2048 hidden units and 40 output units. The H-NET that represents Hθ(p, q) = Kθ1(p) + Vθ2(q) consists of two one-hidden-layer MLPs... trained over 1000 epochs with the Adam optimizer (Kingma and Ba, 2014) with initial learning rate 0.001 and using the Reduce LROn Plateau scheduler4 with patience 15 and factor 0.7. (Appendix A.1, A.2, A.3 provide similar detailed settings for other experiments).