← Open Source
MilesCranmer

symbolic_deep_learning

Code for "Discovering Symbolic Models from Deep Learning with Inductive Biases"

Model DevelopmentArchitecturePython
Open on GitHub
Momentum
+1stars in 24 hours+0.1%
785
Stars
145
Forks
+0
This week
2
Contributors
Created 2020-06-16 · Updated 2026-10-06 · #6152 today
Top developers
README

Discovering Symbolic Models from Deep Learning with Inductive Biases

This repository is the official implementation of Discovering Symbolic Models from Deep Learning with Inductive Biases.

Miles Cranmer, Alvaro Sanchez-Gonzalez, Peter Battaglia, Rui Xu, Kyle Cranmer, David Spergel, Shirley Ho

Check out our Blog, Paper, Video, and Interactive Demo.

Requirements

For model:

Symbolic regression:

  • PySR, our new open-source Eureqa alternative

For simulations:

  • jax (simple N-body simulations)
  • quijote (Dark matter data; optional)
  • tqdm
  • matplotlib

Training

To train an example model from the paper, try out the demo.

Full model definitions are given in models.py. Data is generated from simulate.py.

Results

We train on simulations produced by the following equations: giving us time series:

We recorded performance for each model: and also measured how well each model's messages correlated with a linear combination of forces:

Finally, we trained on a dark matter simulation and extracted the following equations from the message function: