Papers › Probing the effects of broken symmetries in machine learning

Probing the effects of broken symmetries in machine learning

25 Jun 2024arXiv:2406.17747archive 2025-07-28

Marcel F. Langer, Sergey N. Pozdnyakov, Michele Ceriotti

Symmetry is one of the most central concepts in physics, and it is no surprise that it has also been widely adopted as an inductive bias for machine-learning models applied to the physical sciences. This is especially true for models targeting the properties of matter at the atomic scale. Both established and state-of-the-art approaches, with almost no exceptions, are built to be exactly equivariant to translations, permutations, and rotations of the atoms. Incorporating symmetries -- rotations in particular -- constrains the model design space and implies more complicated architectures that are often also computationally demanding. There are indications that non-symmetric models can easily learn symmetries from data, and that doing so can even be beneficial for the accuracy of the model. We put a model that obeys rotational invariance only approximately to the test, in realistic scenarios involving simulations of gas-phase, liquid, and solid water. We focus specifically on physical observables that are likely to be affected -- directly or indirectly -- by symmetry breaking, finding negligible consequences when the model is used in an interpolative, bulk, regime. Even for extrapolative gas-phase predictions, the model remains very stable, even though symmetry artifacts are noticeable. We also discuss strategies that can be used to systematically reduce the magnitude of symmetry breaking when it occurs, and assess their impact on the convergence of observables.

PaperPDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2406.17747")

Code

Syntology Ran 15 of 17 code samples harvested from 1 repository linked to this paper; 2 have no recorded run. Of those that ran: 15 ran with no contract checked.

By repository: official repository: 17 samples from 1 repository, 15 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

spozdn/pet officialpytorchMIT report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

17 samples harvested; 15 ran; 0 honoured the contract we drafted; 2 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

15ran
2unverified

Licence: 0 of the 17 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from spozdn/pet. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

batch_to_dict spozdn/pet/src/molecule.py official repository ran MIT (permissive) · 55931e9283fdb1b3 · report
combine_hypers_shallow spozdn/pet/src/hypers.py official repository ran MIT (permissive) · 4bc4baf4b5f5ccd8 · report
convert_atomic_throughput spozdn/pet/src/analysis.py official repository ran MIT (permissive) · 4bec4c57a9f5a050 · report
cutoff_func spozdn/pet/src/pet.py official repository ran fingerprinted MIT (permissive) · 95ddf4e6c591ac91 · report
get_activation spozdn/pet/src/pet.py official repository ran MIT (permissive) · e8687ce6441116b2 · report
get_all_k_from_reciprocal spozdn/pet/src/long_range.py official repository ran MIT (permissive) · 1a94a922640cc3c0 · report
get_all_species spozdn/pet/src/data_preparation.py official repository ran MIT (permissive) · b20572fb9eed36e9 · report
get_forces spozdn/pet/src/data_preparation.py official repository ran MIT (permissive) · e16a920d4ecca23d · report
get_pyg_graphs spozdn/pet/src/data_preparation.py official repository ran MIT (permissive) · d7df1a51b8ac9361 · report
get_structural_batch_size spozdn/pet/src/analysis.py official repository ran MIT (permissive) · 072569b89a08575e · report
get_volume spozdn/pet/src/long_range.py official repository ran fingerprinted MIT (permissive) · 07ab60b0a26fa0b2 · report
propagate_duplicated_params spozdn/pet/src/hypers.py official repository ran MIT (permissive) · d10705f1d479d240 · report
q_func_exp spozdn/pet/src/sp_frames_calculator.py official repository ran MIT (permissive) · bb7a0d45da617036 · report
smooth_max spozdn/pet/src/sp_frames_calculator.py official repository ran MIT (permissive) · ebdd8aa78165df48 · report
smooth_max_weighted spozdn/pet/src/sp_frames_calculator.py official repository ran MIT (permissive) · 86484398825c248c · report
combine_hypers spozdn/pet/src/hypers.py official repository unverified MIT (permissive) · 2d4f94e828d7243b · report
get_upper_bound spozdn/pet/src/long_range.py official repository unverified MIT (permissive) · 4d07a8d02807a64e · report

Tasks

Inductive Bias

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Methods

Focus

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections