Our new X account is live! Follow @wizwand_team for updates
WorkDL logo mark

End-to-end symbolic regression with transformers

About

Symbolic regression, the task of predicting the mathematical expression of a function from the observation of its values, is a difficult task which usually involves a two-step procedure: predicting the "skeleton" of the expression up to the choice of numerical constants, then fitting the constants by optimizing a non-convex loss function. The dominant approach is genetic programming, which evolves candidates by iterating this subroutine a large number of times. Neural networks have recently been tasked to predict the correct skeleton in a single try, but remain much less powerful. In this paper, we challenge this two-step procedure, and task a Transformer to directly predict the full mathematical expression, constants included. One can subsequently refine the predicted constants by feeding them to the non-convex optimizer as an informed initialization. We present ablations to show that this end-to-end approach yields better results, sometimes even without the refinement step. We evaluate our model on problems from the SRBench benchmark and show that our model approaches the performance of state-of-the-art genetic programming with several orders of magnitude faster inference.

Pierre-Alexandre Kamienny, St\'ephane d'Ascoli, Guillaume Lample, Fran\c{c}ois Charton• 2022

Related benchmarks

TaskDatasetResultRank
Symbolic RegressionE. coli growth LLM-SR Suite
NMSE0.832
44
Symbolic RegressionOscillation 1 LLM-SR Suite
NMSE0.004
30
Symbolic RegressionSRBench black-box (test)
R^20.3612
28
Symbolic RegressionLSR-Synth
Overall Acc (Tol 0.01)0.26
22
Symbolic RegressionFeynman Dataset ϵ = 0.0 (test)
R^20.857
20
Symbolic RegressionFeynman Dataset epsilon=0.001 (test)
R285.85
20
Symbolic RegressionFeynman Dataset epsilon=0.01 (test)
R20.8345
20
Symbolic RegressionFeynman Dataset epsilon=0.1 (test)
R2 Score0.7714
20
Symbolic RegressionStrogatz Dataset epsilon=0.1 (test)
R251.52
20
Symbolic RegressionStrogatz Dataset ϵ = 0.0 (test)
R^20.5341
20
Showing 10 of 31 rows

Other info

Code

Follow for update