JEPAMatch: Geometric Representation Shaping
for Semi-Supervised Learning
JEPAMatch combines FlexMatch-style adaptive pseudo-labeling with a LeJEPA-inspired representation-level objective, so that instead of only thresholding softmax outputs, the model also explicitly shapes its latent space into well-separated, isotropic per-class clusters. This fixes two long-standing FixMatch-family bottlenecks — majority-class dominance in pseudo-labeling, and the ~2²⁰ iteration convergence tax — cutting the iteration budget by 8× while matching or beating prior SSL methods on CIFAR-100, STL-10, and Tiny-ImageNet.
Highlights
- 8× fewer iterations to converge. JEPAMatch reaches FlexMatch's final CIFAR-100 (400-label) accuracy roughly 50k steps earlier, and finishes training at 2¹⁷ iterations vs. the standard 2²⁰.
- State-of-the-art or competitive results on CIFAR-100, STL-10, and Tiny-ImageNet against FixMatch, FlexMatch, FreeMatch, SoftMatch, CrMatch, SimMatch, Suave, and RegMixMatch.
- More robust under class imbalance, and works as a drop-in module on top of FlexMatch, FreeMatch, or SoftMatch's curriculum.
Results
Error rate (%), lower is better, 3 seeds.
| Method | Iter. | CIFAR-100 (400) | CIFAR-100 (2.5K) | CIFAR-100 (10K) | STL-10 (40) | STL-10 (1K) |
|---|---|---|---|---|---|---|
| FixMatch | 2²⁰ | 46.42 ± 0.82 | 28.03 ± 0.16 | 22.20 ± 0.12 | 35.97 ± 4.14 | 6.25 ± 0.33 |
| FlexMatch | 2²⁰ | 39.94 ± 1.62 | 26.49 ± 0.20 | 21.90 ± 0.15 | 29.15 ± 4.16 | 5.77 ± 0.18 |
| FreeMatch | 2²⁰ | 37.98 ± 0.42 | 26.47 ± 0.20 | 21.68 ± 0.03 | 15.56 ± 0.55 | 5.63 ± 0.15 |
| SoftMatch | 2²⁰ | 37.10 ± 0.77 | 26.66 ± 0.25 | 22.03 ± 0.03 | 21.42 ± 3.48 | 5.73 ± 0.24 |
| CrMatch | 2²⁰ | 39.45 ± 1.69 | 25.43 ± 0.14 | 20.40 ± 0.08 | – | 4.89 ± 0.17 |
| SimMatch | 2²⁰ | 37.81 ± 2.21 | 25.07 ± 0.32 | 20.58 ± 0.11 | – | – |
| FlatMatch | 2²⁰ | 38.76 ± 1.62 | 25.38 ± 0.85 | 19.01 ± 0.43 | 16.20 ± 4.34 | 4.82 ± 1.21 |
| Suave* | 2²⁰ | 35.40 | 23.00 | 18.40 | – | – |
| RegMixMatch* | 2²⁰ | 35.27 | 23.78 | 19.41 | 11.74 | 4.66 |
| JEPAMatch (Ours) | 2¹⁷ | 34.25 ± 1.97 | 22.59 ± 1.17 | 18.55 ± 0.85 | 13.44 ± 3.2 | 4.28 ± 1.43 |
*standard deviation not reported in the original paper. Full baseline table (PseudoLabel, MeanTeacher, MixMatch, ReMixMatch, UDA) in the paper.
| Method | Iter. | 1K labels | 10K labels |
|---|---|---|---|
| FlexMatch | 2¹⁸ | 41.73 | 27.89 |
| SoftMatch | 2¹⁸ | 40.09 | 25.92 |
| JEPAMatch | 2¹⁸ | 38.82 | 24.50 |
| Method | Iter. | Error |
|---|---|---|
| FlexMatch | 2²⁰ | 50.15 ± 1.51 |
| FreeMatch | 2²⁰ | 49.64 ± 1.46 |
| SoftMatch | 2²⁰ | 49.24 ± 2.16 |
| JEPAMatch (Flex) | 2¹⁷ | 45.77 ± 2.77 |
| JEPAMatch (Free) | 2¹⁷ | 45.12 ± 1.98 |
| JEPAMatch (Soft) | 2¹⁷ | 44.65 ± 2.14 |
Convergence speed & pseudo-labeling quality
Code
Training code, all configs, and the full paper are on GitHub: aah94/JEPAMatch.
git clone https://github.com/aah94/JEPAMatch.git
cd JEPAMatch
pip install -r requirements.txt
python train.py --c config/classic_cv/jepamatch/jepamatch_cifar100_400_0.yaml
Citation
@article{aghababaeiharandi2026jepamatch,
title = {JEPAMatch: Geometric Representation Shaping for Semi-Supervised Learning},
author = {Aghababaei-Harandi, Ali and Sportisse, Aude and Amini, Massih-Reza},
journal = {arXiv preprint arXiv:2604.21046},
year = {2026}
}