A Machine Learning Approach to Duality in Statistical Physics
Authors: Prateek Gupta, Andrea E. V. Ferrari, Nabil Iqbal
ICML 2025 | Venue PDF | Archive PDF | Plain Text | LLM Run Details
| Reproducibility Variable | Result | LLM Response |
|---|---|---|
| Research Type | Experimental | We numerically solve this problem and show that our framework can rediscover the celebrated Kramers-Wannier duality for the 2d Ising model, numerically reconstructing the known mapping of temperatures. We further investigate the 2d Ising model deformed by a plaquette coupling and find families of approximate duals. We demonstrate that the optimization problem recovers the known dual to the 2d Ising model, thus offering an automated discovery of a duality. We furthermore give evidence for the absence of certain self-dualities of the plaquette model. In this section, we describe some simple experiments using the above machinery. Our models are all implemented in Py Torch (Paszke et al., 2017). We used the Adam (Kingma & Ba, 2014) optimizer with the learning rate of 0.01. Moreover, we used the early stopping criterion to stop the training if the loss didn t improve over 200 epochs. We ran the sampler in each experiment to generate 1000 samples for the lattice. We ran the training for a maximum of 25000 epochs, and our runs took about 1-3 hours each. The experiments in the main paper are run on the lattice size of 8 8. |
| Researcher Affiliation | Academia | 1Max Planck Institute for Human Development, Berlin, Germany 2Deutsches Elektronen-Synchrotron DESY, Germany 3School of Mathematics, The University of Edinburgh 4Department of Mathematical Sciences, Durham University, UK 5Amsterdam Machine Learning Laboratory, University of Amsterdam, Netherlands. |
| Pseudocode | Yes | Algorithm 1 Machine learning for finding statistical mechanical duality 1: Inputs: β, η (learning rate), N (number of samples) 2: Initialize: β0 R, θ Rd 3: for each epoch t = 1, 2, . . . , T do 4: Draw N samples {σi}N i=1 p(σ|β) 5: Draw N samples { σi}N i=1 p( σ| β) where β = β 6: Compute the loss L = 1 N PN i=1 L(σi, Gθ( σi)) 7: Compute the gradients βL and θL 8: Update the parameters: βt+1 βt η βL θt+1 θt η θL 9: if L has not improved for the last X epochs then 10: Stop the optimization 11: end if 12: end for |
| Open Source Code | Yes | Our implementation is publicly available at https://github.com/pg2455/physics duality |
| Open Datasets | No | The paper uses MCMC sampling to generate spin configurations for statistical physics models (2d Ising model, plaquette model), rather than using pre-existing, publicly available datasets. Therefore, it does not provide access information for an open dataset in the traditional sense. |
| Dataset Splits | No | The paper describes generating data through Markov Chain Monte Carlo (MCMC) sampling (e.g., 'Draw N samples {σi}N i=1 p(σ|β)' in Algorithm 1) rather than using predefined training/test/validation splits from a fixed dataset. Thus, it does not provide information on dataset splits in the conventional machine learning sense. |
| Hardware Specification | No | This work has made use of the Hamilton HPC Service of Durham University. No specific GPU, CPU models, or detailed computer specifications are provided for the experimental setup. |
| Software Dependencies | No | Our models are all implemented in Py Torch (Paszke et al., 2017). We used the Adam (Kingma & Ba, 2014) optimizer. While software names are mentioned, specific version numbers for PyTorch, Adam, or any other critical libraries are not provided. |
| Experiment Setup | Yes | Our models are all implemented in Py Torch (Paszke et al., 2017). We used the Adam (Kingma & Ba, 2014) optimizer with the learning rate of 0.01. Moreover, we used the early stopping criterion to stop the training if the loss didn t improve over 200 epochs. We ran the sampler in each experiment to generate 1000 samples for the lattice. We ran the training for a maximum of 25000 epochs, and our runs took about 1-3 hours each. The experiments in the main paper are run on the lattice size of 8 8. For each value of the input β, we ran a total of 10 optimizations, five from each of the two initializations of β, i.e., β0 = 0.2 and β0 = 0.5. We initialize θ2 and θ3 from a uniform distribution, U( 1, 1), and θ1 from a normal distribution, N(0, 1). |