Untangling the Moons: A Visual History of Contrastive Learning

· updated · 24 min read

#ml#contrastive#embeddings#kernels#interpretability#contrastive-learning#infonce#simclr#clip#siglip#supcon#triplet-loss#self-supervised-learning#representation-learning

Part 2 of 6Geometry of Representations
  1. 1What Activations Do to Geometry
  2. 2Untangling the Moons: A Visual History of Contrastive Learningyou are here
  3. 3What Makes a Good Latent Space? The Welch Bound and the Simplex
  4. 4Latent on the Spectrum: Why Cats Sit Closer to Dogs Than to Cars
  5. 5The Three States of Information
  6. 6Distillation Is a Geometry, Not an Answer Key
Runnable JAX companionOrganizing Randomness: Contrastive Learning in JAXPrefer to read the code? This post has a hands-on JAX / Flax NNX implementation.Open the JAX companion

Twenty years of contrastive learning, eight losses, ten datasets, and the question of when a loss should stop pushing.


Contrastive learning is a standard recipe for turning raw data into a usable embedding space, and the recipe has been rewritten repeatedly. Read as a conceptual lineage, each rewrite changes a different part of the optimization problem. Triplet loss makes separation relative to an anchor. InfoNCE replaces explicit mining with a softmax over candidates, though it arrived from predictive coding and mutual-information estimation rather than as a triplet patch. CLIP scales the construction to paired modalities; SupCon admits many positives; alignment-and-uniformity decomposes two aggregate forces; SigLIP replaces global softmax normalization with pairwise logistic terms.

The geometric question is joint, not pairwise. Holding the rest of an InfoNCE row fixed, lowering one negative similarity lowers the loss. But every embedding participates in many terms, and the Gram matrix must remain feasible, so training cannot minimize each pair independently. A centered regular simplex is one attainable class-level arrangement when dimension permits; other objectives and sampling schemes produce other compromises. Here the demonstration is mechanical: in 2D, with the points being the embeddings, you can watch the coupled forces evolve.

The 2D panels answer a deliberately narrow question: what do these loss formulas do when the embeddings themselves are optimized? They do not reproduce encoder training, semantic negatives, or high-dimensional class geometry. Their value is visibility. You can inspect which terms become exactly inactive, which decay smoothly, which couple a whole row, and which objectives remain frustrated because the requested arrangement does not fit in two dimensions.

The fastest way to feel any of this is to skip the encoder entirely. Take 60 points in 2D, label them by class, and treat the positions themselves as the embeddings. Run gradient descent on the loss of your choice. Eight losses, eight geometries, eight failure modes, each visible in under a minute.

This post walks the lineage by idea, not strictly by date (CLIP and SupCon are contemporaneous, 2020–21, and ordered here by the conceptual thread, not their arXiv stamps). Each loss gets its own explorer, and the rest of the presets surface that loss’s named pathologies on demand. At the end, all eight race on the same dataset, from the same initial points, at the same step counter.

The setup

What should you watch as the points move? Two things, and every explorer shows both: the embedding space on the left, where the geometry unfolds, and the loss curve with a running nearest-centroid accuracy on the right, which tells you whether the motion is progress or churn. Losses that use cosine similarity project to the unit circle every step, the dashed reference circle appears for those. Losses that use Euclidean distance leave the points free.

Ten datasets are available in the dropdown:

Every explorer opens on random positions and random labels, because a pre-organised dataset lets the loss get away with doing very little and the thing worth watching is the configuration it imposes when nothing is handed to it.

Before the history: three meanings of different

Put two unit vectors on a circle. At cosine +1+1 they coincide. At cosine 1-1 they are antiparallel. At cosine 00 neither projects onto the other. None of those facts establishes statistical independence, which belongs to random variables and a joint distribution rather than to one deterministic pair of arrows.

cosinedirectional relationspanunsigned projection overlap
+1+1parallelone dimension11
1-1antiparallelone dimension11
00orthogonaltwo dimensions00
snap to:
drag the green vector tip
θ
cos θ
cos²θ
1 − cos²θ
dim span(u, v)
At ±u the pair spans one line. Everywhere else it spans the plane; orthogonality is the special two-dimensional arrangement with zero projection. Antiparallelism minimizes signed cosine instead. Those are different extrema of different questions.

For one InfoNCE anchor,

L=loges+/τes+/τ+jesj/τ,Lsj=pjτ>0.L=-\log\frac{e^{s_+/\tau}}{e^{s_+/\tau}+\sum_j e^{s_j/\tau}}, \qquad \frac{\partial L}{\partial s_j}=\frac{p_j}{\tau}>0.

Lowering one negative logit lowers this anchor’s loss while the other logits are frozen. That exact local derivative is not a global instruction to put every negative pair at cosine 1-1. Shared embeddings move many logits together, and their Gram matrix must remain positive semidefinite.

For nn unit vectors, feasibility gives

0iui2=n+2i<jui,uj,0\leq\left\lVert\sum_i u_i\right\rVert^2 =n+2\sum_{i<j}\langle u_i,u_j\rangle,

so the average pairwise inner product is at least 1/(n1)-1/(n-1). When nd+1n\le d+1, a centered regular simplex attains that bound with every off-diagonal cosine equal to 1/(n1)-1/(n-1). The binary case is the exceptional one where the value is 1-1; as the class count grows, the feasible centered value approaches zero.

The attainable regular-simplex cosine is −1/(n−1) when n≤d+1. Two classes are antipodal; three form a triangle at −1/2; larger centered codebooks approach zero. This is a joint packing result, not an independent target for every negative pair.

SigLIP changes the coupling by replacing a row-wise softmax with pairwise logistic terms. Its negative gradients become small below a learned bias-relative transition but vanish only asymptotically; it does not install a universal equilibrium cosine. Softmax cross-entropy likewise has no finite minimizer on separable data without normalization or regularization. Simplex-like limits require their assumptions to be named. With that geometry fixed, the history below becomes easier to read: each loss changes a pressure profile or a coupling rule, not the meaning of cosine itself.

1. The original: Hadsell, Chopra, and LeCun, 2006

The modern contrastive era opens with Hadsell, Chopra, and LeCun’s Dimensionality Reduction by Learning an Invariant Mapping, a siamese network for face verification with what is now the canonical pair loss. For every pair of points you know whether they share a label. Pull positives together with a quadratic penalty; push negatives apart until they reach a margin mm, and then stop:

Lpair(i,j)  =  {zizj2yi=yj[mzizj]+2yiyj\mathcal{L}_{\text{pair}}(i, j) \;=\; \begin{cases} \|z_i - z_j\|^2 & y_i = y_j \\ \bigl[\,m - \|z_i - z_j\|\,\bigr]_+^2 & y_i \neq y_j \end{cases}

The margin does all the work. Without it the repulsion has no scale and the embedding blows up. With it the loss is satisfied as soon as negatives are far enough, and then the gradient vanishes. Pair contrastive knows when to stop, which is both its virtue and its problem.

The named failure modes:

By 2014 the problem with pair contrastive was visible in production face-recognition systems: mm is a global hyperparameter that wants to be different for different parts of the data manifold. The fix would be to make the comparison relative, to ask not is this pair close enough? but is the positive closer than the negative, by how much? That is the next loss.

2. The relativisation: FaceNet, 2015

So what does a relative margin look like? Instead of asking two separate questions about positives and negatives, ask one combined question: is the negative farther than the positive, by at least margin mm? That reformulation is Schroff, Kalenichenko, and Philbin’s FaceNet.

Ltrip(a,p,n)  =  [zazp2zazn2+m]+\mathcal{L}_{\text{trip}}(a, p, n) \;=\; \bigl[\,\|z_a - z_p\|^2 - \|z_a - z_n\|^2 + m\,\bigr]_+

Only triplets that violate the inequality contribute gradient. The hope was that this makes training focus naturally on the hardest examples, automatically. The reality, which the FaceNet paper itself discovered and the next decade of work spent fighting, is that most random triplets are easy, and a triplet that is easy contributes no gradient at all. In a batch of BB examples there are O(B3)O(B^3) candidate triplets and almost all of them are silent.

The named failure modes:

Pair contrastive and triplet together define what the literature later named the margin family, losses whose gradient vanishes once a margin condition is satisfied. The margin family’s appeal is that it knows when to stop. Its problem is that it stops too soon, and selecting which examples it should think about is its own engineering project. By 2018 the field was ready to give up on margins entirely.

3. The softmax turn: van den Oord and SimCLR, 2018–2020

Van den Oord, Li, and Vinyals, working on contrastive predictive coding, replaced the margin with a softmax. For an anchor aa with one positive pp and a batch of NN negatives:

LInfoNCE(a)  =  logexp(sim(za,zp)/τ)kaexp(sim(za,zk)/τ)\mathcal{L}_{\text{InfoNCE}}(a) \;=\; -\log \frac{\exp(\mathrm{sim}(z_a, z_p) / \tau)}{\sum_{k \neq a} \exp(\mathrm{sim}(z_a, z_k) / \tau)}

Three structural changes from triplet. All negatives at once: every other point participates as a negative, weighted by its similarity to the anchor; hard negatives get most of the gradient automatically, eliminating the explicit miner. No hard margin: the softmax has support everywhere, so the gradient never vanishes, there is always an incentive to spread the negatives a bit wider. Embeddings on a sphere: cosine similarity ignores the norm.

The 2020 wave, SimCLR, MoCo, CLIP, all run on variants of this loss. The name InfoNCE comes from the loss being a variational lower bound on mutual information I(X;Y)I(X; Y), though the bound is capped at logN\log N and so is loose at high MI (Poole et al., 2019); the name NT-Xent (normalised-temperature cross-entropy) comes from the SimCLR paper. They are the same loss.

The named failure modes are almost all about the temperature τ\tau:

I argued at length in Attention is Explainable Because it is a Kernel that the softmax over similarities in attention is mathematically a Nadaraya–Watson smoother, the kernel operator. InfoNCE is the same operator, the same softmax, pointed at a different objective: optimize positions so the kernel-weighted distribution of labels around each anchor matches its own label.

By 2019 the softmax family had a different problem. It was designed for self-supervised learning where each anchor has exactly one positive: the augmented view of the same image. When labels exist, every other example with the same label is also a positive, and InfoNCE was throwing away that signal one sample at a time. Before the labelled fix appeared, the loss took a detour through multimodality.

4. Multimodal scaling: CLIP, 2021

Radford et al.’s Learning Transferable Visual Models From Natural Language Supervision, the CLIP paper, was the loudest deployment of InfoNCE the field has seen. CLIP trains an image encoder and a text encoder jointly on 400400 million image-caption pairs, with a single objective: each image’s embedding should be closest, in cosine distance, to its caption’s embedding, out of a batch of NN candidates. The loss is symmetrised InfoNCE: image-as-anchor and text-as-anchor, averaged.

LCLIP  =  12(Limgtxt+Ltxtimg)\mathcal{L}_{\text{CLIP}} \;=\; \tfrac{1}{2}\bigl(\mathcal{L}_{\text{img}\rightarrow\text{txt}} + \mathcal{L}_{\text{txt}\rightarrow\text{img}}\bigr)

Each side is an InfoNCE term. The symmetrisation is what makes the trained embedding bidirectional: a query in either modality retrieves nearest neighbours in the other.

CLIP’s failure modes are InfoNCE’s failure modes, amplified by scale. CLIP doesn’t freeze the temperature, it learns the logit scale as a log-parameterised scalar (initialised around τ=0.07\tau = 0.07 and clipped to keep logits bounded), but that only relocates the sensitivity rather than removing it: the learned scale is still the main throttle on how hard negatives keep separating, and there is no target that says stop. The spherical geometry compounds it: the embedding dimension (512512 in the public release) was chosen for matrix-multiplication throughput, not for the simplex bound that ImageNet\mathrm{ImageNet}-scale class counts would need; and the literal compute cost, measured in GPU-years, is staggering, much of it spent on the gradient bookkeeping to keep a 32,768×32,76832,768 \times 32,768 similarity matrix on-device.

This is where coupling becomes computationally visible. Each CLIP row compares one match with every candidate caption in the batch, and the symmetric term repeats the comparison in the other direction. Larger batches provide more negatives and change the gradient estimator, while requiring more similarity computation and communication. The geometry constrains the joint arrangement; it does not by itself explain CLIP’s chosen batch size.

5. Reintroducing supervision: SupCon, 2020

What happens to InfoNCE when labels return and every same-class example is a legitimate positive? Khosla et al.’s Supervised Contrastive Learning answered by generalising the loss to multiple positives, averaging the InfoNCE term over the positive set P(a)P(a):

LSupCon(a)  =  1P(a)pP(a)logexp(sim(za,zp)/τ)kaexp(sim(za,zk)/τ)\mathcal{L}_{\text{SupCon}}(a) \;=\; \frac{-1}{|P(a)|}\sum_{p \in P(a)} \log \frac{\exp(\mathrm{sim}(z_a, z_p) / \tau)}{\sum_{k \neq a} \exp(\mathrm{sim}(z_a, z_k) / \tau)}

The effect is dramatic. Where InfoNCE pulls each anchor toward a positive each step, SupCon pulls it toward the centroid of all positives. Classes collapse to tight clusters on the sphere, much faster than InfoNCE, and the paper’s headline result was beating plain cross-entropy on ImageNet classification accuracy with a two-stage pre-train-then-fine-tune recipe.

The named failure modes of SupCon are not about under-fitting. They are about being too good a classifier:

By 2020 InfoNCE and SupCon between them dominated practical embedding work, and the field had a new conceptual problem. The losses worked, but it was unclear why. The softmax form bundles several things together, what is the right way to think about what these losses are doing in the limit?

6. The theoretical decomposition: Wang and Isola, 2020

The answer arrived the same year. Wang and Isola’s Understanding Contrastive Representation Learning through Alignment and Uniformity on the Hypersphere proved that InfoNCE, in the limit of infinite negatives, is doing two separable things:

Lalign  =  E(x,y)p+zxzy22\mathcal{L}_{\text{align}} \;=\; \mathbb{E}_{(x,y) \sim p_+}\,\bigl\|z_x - z_y\bigr\|_2^2 Luniform  =  logEx,ypdataexp ⁣(tzxzy22)\mathcal{L}_{\text{uniform}} \;=\; \log \mathbb{E}_{x, y \sim p_\text{data}} \exp\!\bigl(-t\,\|z_x - z_y\|_2^2\bigr)

with total loss Lalign+λLuniform\mathcal{L}_{\text{align}} + \lambda \mathcal{L}_{\text{uniform}}. The uniformity term is the log-MMD of a Gaussian kernel, minimising it is the same as maximising the entropy of the embedding distribution over the sphere.

The decomposition is more than aesthetic. It says the two jobs are independent. Writing them as separate terms means you can balance them by tuning λ\lambda, diagnose which one is misbehaving from the loss curve, and, in principle, replace either one with a different functional and retain interpretability.

The failure modes of Alignment + Uniformity are particularly clean because the loss has only one balancing knob:

The cleanness is the contribution. Wang & Isola don’t claim a new SOTA; they claim that this decomposition is what InfoNCE was doing all along, and once it is written explicitly you can see why InfoNCE works (the two objectives are intrinsically separable on the sphere) and predict when it will fail (whenever one of them is dominating).

By the end of 2020 the contrastive lineage looked finished. The full pipeline, pair → triplet → InfoNCE → CLIP → SupCon → align-and-uniform, covered every modality of comparison the literature had needed. The remaining work was supposed to be parameter tuning and architectural search.

What the lineage missed was a question none of its members had asked: should the negatives target really be cosine 1-1? Two years later, the answer arrived from inside Google.

7. Questioning the target: SigLIP, 2023

The answer was to abandon the softmax altogether. Zhai et al.’s Sigmoid Loss for Language Image Pre-Training, SigLIP, replaces CLIP’s softmax with a pairwise sigmoid:

LSigLIP  =  i,jlog ⁣(1+exp ⁣(yij(tsimij+b)))\mathcal{L}_{\text{SigLIP}} \;=\; \sum_{i, j} \log\!\Bigl(1 + \exp\!\bigl(-y_{ij}\,(t \cdot \mathrm{sim}_{ij} + b)\bigr)\Bigr)

with yij=+1y_{ij}=+1 for matched pairs and 1-1 otherwise, t>0t>0 a learned scale, and bb a learned bias. The structural change is twofold. Pairwise, not row-softmax: no denominator forces all candidates in a row to compete through one normalization. A movable logistic transition: bb and tt determine where a pair’s gradient changes most rapidly. For a mismatched pair the gradient becomes exponentially small when tsimij+b0t\,\mathrm{sim}_{ij}+b\ll0; it does not vanish at a finite universal cosine.

The implications, for the geometric question the lineage had been ignoring:

  1. SigLIP’s negative pressure has a learned transition region rather than a row-relative softmax probability.
  2. The negative gradient decays smoothly as a pair moves below that region. The bias is therefore a throttle, not an equilibrium certificate.
  3. Pairwise factorization removes global softmax normalization and changes distributed communication. Implementations may still evaluate many or all image–text pairs, so the pairwise compute does not disappear automatically.

The named regimes:

SigLIP makes the negative-pressure profile tunable through a learned bias and scale. Its reported small-batch behavior is an empirical property of that objective and training system; this 2D panel isolates one plausible contributor, the way pairwise gradients decay.

The remaining question is whether to hard-code the stop rather than learn it. The cleanest such objective, pull positives to cos 11, push negatives to cos 00, stop, is the next section.

8. Giving the loss a place to stop: cosine-to-zero

Two objects need separating. Local pressure asks how the loss changes when one similarity moves while other logits are held fixed. Joint geometry asks where all shared embeddings can move together under the full objective. The first comes from a derivative; the second requires the coupled optimization problem.

Regular simplices arise in symmetric normalized class models and in particular neural-collapse limits. They are a useful reference geometry, not a universal convergence theorem for InfoNCE, CLIP, and SupCon on arbitrary data.

The dynamics differ cleanly. Hinge margins become exactly inactive once their inequalities are satisfied. Logistic negative terms decay toward zero smoothly. Softmax pressure is relative: a negative matters according to its probability within the current candidate set. Temperature rescales these profiles, while the encoder and Gram geometry couple their effects. The animations let those mechanisms be compared without assigning all of them one destination.

An explicit squared target supplies a different signal. The next objective minimizes negative-pair cosine at zero by construction. It is not a reconstruction of InfoNCE or SigLIP; it is a controlled geometric alternative whose feasibility can be read directly:

Lcos→0(i,j)  =  {1cos(zi,zj)yi=yjcos(zi,zj)2yiyj\mathcal{L}_{\text{cos→0}}(i, j) \;=\; \begin{cases} 1 - \cos(z_i, z_j) & y_i = y_j \\ \cos(z_i, z_j)^2 & y_i \neq y_j \end{cases}

On random data with two classes in 2D the behaviour is as clean as it gets: the points land on perpendicular axes, every inter-class cosine hits zero, and the optimisation halts, because orthogonality is genuinely achievable whenever kdk \le d. Four classes in 2D cannot be, so the loss is frustrated from the start and settles at a compromise below perfect separability. Note the trade this makes against the simplex it approximates: the simplex packs kk classes into k1k-1 dimensions, while exact orthogonality needs a full kk, so cos→0 gives up some dimension-efficiency for a target that never overshoots and never needs to know kk.

The failure modes are revealing in a different way than the rest of the family:

Its target is not universally better. Exact pairwise orthogonality costs one dimension per class direction, whereas a simplex fits kk centered classes in k1k-1 dimensions. What the objective buys is interpretability: the negative term is exactly minimized at zero cosine. SigLIP has a smooth logistic transition rather than this finite quadratic minimum; softmax objectives remain relative to the candidate set.

The race

You have seen each loss work alone. Now watch them race. Same dataset, same initial points, same step counter, only the loss differs. Eight panels in two rows: the historical lineage on top (Hadsell → FaceNet → InfoNCE → CLIP), and the modern wave on the bottom (SupCon → SigLIP → Align+Uniform → Cosine→0).

A handful of patterns become visible only when the panels are running side by side:

Pair and triplet stop early. Once the margin is satisfied the gradient vanishes and the points freeze. This is the margin family’s signature behaviour: a clean, early termination, with whatever geometric capacity remains unused.

Softmax-based losses never stop. InfoNCE, CLIP, SupCon, and Alignment + Uniformity all have non-vanishing gradients. They keep optimising past the point of perfect classification, fine-tuning the angular spread of the negatives long after nearest-centroid accuracy hits 100%, with τ\tau as the only throttle. CLIP and InfoNCE look near-identical in 2D, they are the same loss with a symmetrisation factor.

SupCon is the harshest collapser. Many positives means each point is pulled toward its class centroid every step. Classes become near-Dirac on the circle. Great for classification, terrible if you care about within-class variation.

SigLIP and cosine-to-zero flatten for different reasons. SigLIP’s pairwise gradient becomes exponentially small below its learned transition region. Cosine-to-zero has an exact finite minimum for each negative term at orthogonality. The animations show both curves flattening, but the mathematics behind the flattening is different.

Boundary of the result

What about the losses that never appeared? Everything above acts on one primitive, pairwise distances or similarities, and two adjacent ideas step outside it in ways that don’t translate to 2D:

The eight losses racing here all act on the same primitive (pairwise similarities) and disagree about a single geometric question: how far should different-class pairs be? Once you watch the disagreement play out at 60 random points in 2D, with each loss’s named pathologies exposed one preset at a time, the trade-offs the literature has been arguing about for nearly two decades stop being abstract.

Eight losses can organize the same points while implementing different contracts. Margins switch off at finite inequalities. Softmax losses rank candidates through a shared denominator. Logistic terms fade smoothly. Alignment and uniformity act on aggregate geometry. Cosine-to-zero names a finite pairwise target. The useful question is not which loss chose the morally correct angle; it is which pressure profile, coupling, and feasible geometry fit the representation problem in front of you.

Cite as

Bouhsine, T. (). Untangling the Moons: A Visual History of Contrastive Learning. Records of the !mmortal Data Scientist. https://tahabouhsine.com/blog/untangling-the-moons/

BibTeX
@misc{bouhsine2026untanglingthemoons,
  author       = {Bouhsine, Taha},
  title        = {Untangling the Moons: A Visual History of Contrastive Learning},
  year         = {2026},
  month        = {may},
  howpublished = {\url{https://tahabouhsine.com/blog/untangling-the-moons/}},
  note         = {Blog post, Records of the !mmortal Data Scientist}
}

References

  1. Schroff, F., Kalenichenko, D., Philbin, J. (2015). FaceNet: A Unified Embedding for Face Recognition and Clustering. CVPR 2015.arXiv:1503.03832
  2. Hermans, A., Beyer, L., Leibe, B. (2017). In Defense of the Triplet Loss for Person Re-Identification. arXiv:1703.07737
  3. Wu, C.-Y., Manmatha, R., Smola, A. J., Krähenbühl, P. (2017). Sampling Matters in Deep Embedding Learning. ICCV 2017.arXiv:1706.07567
  4. van den Oord, A., Li, Y., Vinyals, O. (2018). Representation Learning with Contrastive Predictive Coding. arXiv:1807.03748
  5. Poole, B., et al. (2019). On Variational Bounds of Mutual Information. ICML 2019.arXiv:1905.06922
  6. He, K., et al. (2020). Momentum Contrast for Unsupervised Visual Representation Learning. CVPR 2020.arXiv:1911.05722
  7. Chen, T., Kornblith, S., Norouzi, M., Hinton, G. (2020). A Simple Framework for Contrastive Learning of Visual Representations. ICML 2020.arXiv:2002.05709
  8. Khosla, P., et al. (2020). Supervised Contrastive Learning. NeurIPS 2020.arXiv:2004.11362
  9. Wang, T., Isola, P. (2020). Understanding Contrastive Representation Learning Through Alignment and Uniformity on the Hypersphere. ICML 2020.arXiv:2005.10242
  10. Grill, J.-B., et al. (2020). Bootstrap Your Own Latent: A New Approach to Self-Supervised Learning. NeurIPS 2020.arXiv:2006.07733
  11. Papyan, V., Han, X. Y., Donoho, D. L. (2020). Prevalence of Neural Collapse During the Terminal Phase of Deep Learning Training. Proceedings of the National Academy of Sciences 117(40).arXiv:2008.08186
  12. Graf, F., Hofer, C., Niethammer, M., Kwitt, R. (2021). Dissecting Supervised Contrastive Learning. ICML 2021.arXiv:2102.08013
  13. Radford, A., et al. (2021). Learning Transferable Visual Models From Natural Language Supervision. ICML 2021.arXiv:2103.00020
  14. Zbontar, J., et al. (2021). Barlow Twins: Self-Supervised Learning via Redundancy Reduction. ICML 2021.arXiv:2103.03230
  15. Caron, M., et al. (2021). Emerging Properties in Self-Supervised Vision Transformers. ICCV 2021.arXiv:2104.14294
  16. Bardes, A., Ponce, J., LeCun, Y. (2022). VICReg: Variance-Invariance-Covariance Regularization for Self-Supervised Learning. ICLR 2022.arXiv:2105.04906
  17. Zhai, X., Mustafa, B., Kolesnikov, A., Beyer, L. (2023). Sigmoid Loss for Language Image Pre-Training. ICCV 2023.arXiv:2303.15343