Papers › Barlow Twins: Self-Supervised Learning via Redundancy Reduction

Barlow Twins: Self-Supervised Learning via Redundancy Reduction

4 Mar 2021arXiv:2103.03230archive 2025-07-28

Jure Zbontar, Li Jing, Ishan Misra, Yann Lecun, Stéphane Deny

Self-supervised learning (SSL) is rapidly closing the gap with supervised methods on large computer vision benchmarks. A successful approach to SSL is to learn embeddings which are invariant to distortions of the input sample. However, a recurring issue with this approach is the existence of trivial constant solutions. Most current methods avoid such solutions by careful implementation details. We propose an objective function that naturally avoids collapse by measuring the cross-correlation matrix between the outputs of two identical networks fed with distorted versions of a sample, and making it as close to the identity matrix as possible. This causes the embedding vectors of distorted versions of a sample to be similar, while minimizing the redundancy between the components of these vectors. The method is called Barlow Twins, owing to neuroscientist H. Barlow's redundancy-reduction principle applied to a pair of identical networks. Barlow Twins does not require large batches nor asymmetry between the network twins such as a predictor network, gradient stopping, or a moving average on the weight updates. Intriguingly it benefits from very high-dimensional output vectors. Barlow Twins outperforms previous methods on ImageNet for semi-supervised classification in the low-data regime, and is on par with current state of the art for ImageNet classification with a linear classifier head, and for transfer tasks of classification and object detection.

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="2103.03230")

Code

Syntology Ran 21 of 26 code samples harvested from 16 repositories linked to this paper; 5 have no recorded run. Of those that ran: 2 ran · honoured contract; 1 ran · violated contract; 4 ran · our draft was wrong; 2 ran · fixture could not drive it; 12 ran with no contract checked.

By repository: official repository: 1 sample from 1 repository, 1 ran; community (archive-listed): 23 samples from 13 repositories, 19 ran; community: 2 samples from 2 repositories, 1 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

24 repositories listed; official and paper-mentioned ones first.

facebookresearch/barlowtwins officialmentioned in papermentioned on GitHubpytorch report
FloCF/SSL_pytorch mentioned on GitHubpytorch report
GregorKobsik/Octree-Transformer mentioned on GitHubpytorch report
IgorSusmelj/barlowtwins mentioned on GitHubpytorch report
MaxLikesMath/Barlow-Twins-Pytorch mentioned on GitHubpytorch report
Westlake-AI/openmixup mentioned on GitHubpytorch report
facebookresearch/clip-rocket mentioned on GitHubpytorch report
facebookresearch/vissl mentioned on GitHubpytorch report
gaborvecsei/Barlow-Twins mentioned on GitHubtf report
gabrieldernbach/barlow-twins mentioned on GitHubpytorch report
jeffwiroj/robust_tutorial mentioned on GitHubpytorch report
jonahanton/ssl_audio mentioned on GitHubpytorch report
kalelpark/FG-SSL mentioned on GitHubpytorch report
leot13/BarlowTwins mentioned on GitHubpytorch report
lightly-ai/lightly mentioned on GitHubpytorch report
naver/tldr mentioned on GitHubpytorch report
open-mmlab/mmselfsup mentioned on GitHubpytorchApache-2.0 report
sayakpaul/Barlow-Twins-TF mentioned on GitHubtf report
vturrisi/solo-learn mentioned on GitHubpytorch report
zcao0420/moformer mentioned on GitHubpytorch 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

26 samples harvested; 21 ran; 2 honoured the contract we drafted; 5 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.

2ran · honoured contract
1ran · violated contract
4ran · our draft was wrong
2ran · fixture could not drive it
12ran
5unverified

Licence: 10 of the 26 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 16 repositories linked to this paper, official or community; each sample names its own and says which. “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.

accuracy facebookresearch/barlowtwins/evaluate.py official repository ran · fixture could not drive it MIT (permissive) · b0f936d4d6ae3b8c · report
BarlowTwin jeffwiroj/robust_tutorial/bt_exp/barlow_twin/bt.py community (archive-listed) ran no licence file found · pointer only · c7572ab85515d03b · report
BarlowTwins leot13/BarlowTwins/model.py community (archive-listed) ran · metamorphic tier: deterministic no licence file found · pointer only · e1c7432eaf01c11e · report
BarlowTwins FloCF/SSL_pytorch/torchselfsup/models/barlow_twins.py community (archive-listed) ran fingerprinted MIT (permissive) · 252dd592b0af15de · report
BarlowTwins MaxLikesMath/Barlow-Twins-Pytorch/Twins/barlow.py community (archive-listed) ran MIT (permissive) · 7c1ae63680739389 · report
BarlowTwins Pangoraw/GeoSSL/geossl/barlowtwins.py community (archive-listed) ran fingerprinted MIT (permissive) · 666e333d72371dc9 · report
BarlowTwinsLoss naver/tldr/tldr/loss.py community (archive-listed) ran · our draft was wrong fingerprinted licence not identified · pointer only · d799236e3db12e5f · report
BarlowTwinsLoss IgorSusmelj/barlowtwins/loss.py community (archive-listed) ran · metamorphic tier: invariant fingerprinted MIT (permissive) · 158c8987347b3ecf · report
BarlowTwinsLoss zcao0420/moformer/loss/barlow_twins.py community (archive-listed) ran · metamorphic tier: invariant fingerprinted Apache-2.0 (permissive) · e9f736b6b3acb5d1 · report
BarlowTwinsLoss lightly-ai/lightly/lightly/loss/barlow_twins_loss.py community (archive-listed) ran · metamorphic tier: invariant fingerprinted MIT (permissive) · 659ab61af5f11edd · report
MLP FloCF/SSL_pytorch/torchselfsup/models/barlow_twins.py community (archive-listed) ran MIT (permissive) · 3849a604087cfc40 · report
NetWrapper MaxLikesMath/Barlow-Twins-Pytorch/Twins/barlow.py community (archive-listed) ran fingerprinted MIT (permissive) · 814473a28a9616d7 · report
ResNetBackbone Pangoraw/GeoSSL/geossl/barlowtwins.py community (archive-listed) ran fingerprinted MIT (permissive) · d3607edd155cc1dc · report
_get_off_diagonal_elements gaborvecsei/Barlow-Twins/barlow_twins/loss.py community (archive-listed) ran · honoured contract fingerprinted no licence file found · pointer only · b91cd63620b31f22 · report
_normalize lightly-ai/lightly/lightly/loss/barlow_twins_loss.py community (archive-listed) ran · our draft was wrong fingerprinted MIT (permissive) · 693d992853ac438d · report
_off_diagonal lightly-ai/lightly/lightly/loss/barlow_twins_loss.py community (archive-listed) ran · fixture could not drive it fingerprinted MIT (permissive) · 9b199e6e012c6948 · report
get_backbone jeffwiroj/robust_tutorial/bt_exp/barlow_twin/bt.py community (archive-listed) ran no licence file found · pointer only · 72c346ee974adb6e · report
loss gaborvecsei/Barlow-Twins/barlow_twins/loss.py community (archive-listed) ran · violated contract no licence file found · pointer only · bba1fbd383276faa · report
normalize gaborvecsei/Barlow-Twins/barlow_twins/loss.py community (archive-listed) ran · honoured contract fingerprinted no licence file found · pointer only · 36fab4f0e7dc9d33 · report
projector jeffwiroj/robust_tutorial/bt_exp/barlow_twin/bt.py community (archive-listed) ran · our draft was wrong no licence file found · pointer only · e2109c17551bb49d · report
BARLIP facebookresearch/clip-rocket/models.py community (archive-listed) unverified licence not identified · pointer only · b3dcc88f892bf077 · report
BarlowTwins beresandras/contrastive-classification-keras/algorithms.py community (archive-listed) unverified MIT (permissive) · 0001a7e1fc3c2810 · report
BaseMethod Pangoraw/GeoSSL/geossl/barlowtwins.py community (archive-listed) unverified MIT (permissive) · 87987d8832a7303f · report
barlow_twins_train kalelpark/FG-SSL/learner/pretrain.py community (archive-listed) unverified no licence file found · pointer only · f7168ce264a363d3 · report
bt_loss pbielak/graph-barlow-twins/GCL/losses/barlow_twins.py community ran · our draft was wrong fingerprinted MIT (permissive) · f2cfbed090a22f9d · report
train_val yaohungt/Barlow-Twins-HSIC/linear.py community unverified MIT (permissive) · db91eda17a64ade2 · report

Tasks

General ClassificationImage ClassificationObject DetectionSelf-Supervised Image ClassificationSelf-Supervised LearningSemi-Supervised Image Classification

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
Image Classification Places205 Barlow Twins (ResNet-50) Top 1 Accuracy 54.1% #11 of 15 Archive leaderboard report
Image Classification iNaturalist 2018 Barlow Twins (ResNet-50) Top-1 Accuracy 46.5 #60 of 60 Archive leaderboard report
Self-Supervised Image Classification ImageNet Barlow Twins (ResNet-50) Number of Params 24M #91 of 144 Archive leaderboard report
Self-Supervised Image Classification ImageNet Barlow Twins (ResNet-50) Top 1 Accuracy 73.2% #91 of 144 Archive leaderboard report
Self-Supervised Image Classification ImageNet Barlow Twins (ResNet-50) Top 5 Accuracy 91 #91 of 144 Archive leaderboard report
Semi-Supervised Image Classification ImageNet - 1% labeled data Barlow Twins (ResNet-50) Top 1 Accuracy 55% #46 of 65 Archive leaderboard report
Semi-Supervised Image Classification ImageNet - 1% labeled data Barlow Twins (ResNet-50) Top 5 Accuracy 79.2 #46 of 65 Archive leaderboard report
Semi-Supervised Image Classification ImageNet - 10% labeled data Barlow Twins (ResNet-50) Top 1 Accuracy 69.7% #41 of 75 Archive leaderboard report
Semi-Supervised Image Classification ImageNet - 10% labeled data Barlow Twins (ResNet-50) Top 5 Accuracy 89.3 #41 of 75 Archive leaderboard report

Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.

Methods

Introduced by this paper: Barlow Twins

Barlow Twins

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