Equivariant Splitting: Self-supervised learning from incomplete data
Official PyTorch implementation, ICLR 2026
ES reconstructions from incomplete measurements (Inpainting, MRI)
Equivariant Splitting: Self-supervised learning from incomplete data
Victor Sechaud, Jérémy Scanvic, Quentin Barthélemy, Patrice Abry, Julián Tachella
Abstract: Self-supervised learning for inverse problems allows to train a reconstruction network from noise and/or incomplete data alone. These methods have the potential of enabling learning-based solutions when obtaining ground-truth references for training is expensive or even impossible. In this paper, we propose a new self-supervised learning strategy devised for the challenging setting where measurements are observed via a single incomplete observation model. We introduce a new definition of equivariance in the context of reconstruction networks, and show that the combination of self-supervised splitting losses and equivariant reconstruction networks results in the same minimizer in expectation as the one of a supervised loss. Through a series of experiments on image inpainting, accelerated magnetic resonance imaging, and compressive sensing, we demonstrate that the proposed loss achieves state-of-the-art performance in settings with highly rank-deficient forward models.
Equivariant splitting is evaluated on different imaging modalities: compressive sensing, image inpainting and accelerated MRI. The code and instructions to reproduce the results for compressive sensing and inpainting are available here and for MRI here.
Equivariant imaging learns to solve the challenging, ill-posed problem of accelerated MRI directly from noisy k-space measurements.
This section details how to run the experiments for accelerated MRI in the mri folder.
Setting up the environment
For better reproducibility, we recommend using conda to set up the environment using our provided environment.yml file.
cd mri
conda env create -f environment.ymlCreating the dataset
To prepare the dataset used in train.py for the experiments, follow the instructions below.
- Download FastMRI single-coil knee acquisitions
knee_singlecoil_train(72.7 GB) - Place the downloaded data in
FastMRI/knee/singlecoil_train - Generate the slice dataset using
python create_dataset.py
If everything is set up correctly, it should create a directory FastMRI-Slices containing a file named fastmri_knee_singlecoil.pt.
Training a model
python train.py <config>Configurations
The parameter <config> corresponds to one of the configuration names below.
| Loss | Equivariant | Acceleration | Configuration name |
|---|---|---|---|
| Supervised | ✅ | x8 | MRIx8_EQ_Supervised |
| Supervised | ❌ | x8 | MRIx8_NEQ_Supervised |
| ES (Ours) | ✅ | x8 | MRIx8_EQ_ES |
| ES | ❌ | x8 | MRIx8_NEQ_ES |
| EI | ✅ | x8 | MRIx8_EQ_EI |
| SURE | ✅ | x8 | MRIx8_EQ_SURE |
| Supervised | ✅ | x6 | MRIx6_EQ_Supervised |
| Supervised | ❌ | x6 | MRIx6_NEQ_Supervised |
| ES (Ours) | ✅ | x6 | MRIx6_EQ_ES |
| ES | ❌ | x6 | MRIx6_NEQ_ES |
| EI | ✅ | x6 | MRIx6_EQ_EI |
| SURE | ✅ | x6 | MRIx6_EQ_SURE |
This section details how to run the experiments for compressive sensing and inpainting in the cs+inp folder.
Usage
The run_train.py script calls the train function defined in train.py.
run_train.py expects a path to a YAML configuration file as an argument. Example configuration files can be found in the configs/ folder.
Example
cd cs+inp
python run_train.py --config_path configs/config_cs_split_equi.yamlThis work makes use of the efficient forward operators and training losses in DeepInverse and the convenient MRI training and comparison features of SSIBench.
Please consider citing this work if you find it useful in your research:
@inproceedings{sechaud2026equivariant,
title={Equivariant Splitting: Self-supervised learning from incomplete data},
author={Sechaud, Victor and Scanvic, J{\'e}r{\'e}my and Barth{\'e}lemy, Quentin and Abry, Patrice and Tachella, Juli{\'a}n},
booktitle={The Fourteenth International Conference on Learning Representations},
year={2026},
url={https://openreview.net/forum?id=upMIVpe467}
}



