contrastive learning objective

En træningsmetode hvor en model lærer at skelne mellem lignende og forskellige datapunkter ved at maksimere ligheden mellem positive par og minimere ligheden mellem negative par.

Kort fortalt

En teknik hvor en model lærer at genkende, hvad der ligner hinanden (positive par) og hvad der er forskelligt (negative par) for at skabe gode repræsentationer.

Kategori
teknik
Niveau
øvet

Betydninger

1
  1. 1

    En tabelfunktion der træner en model til at lære repræsentationer ved at bringe positive par tættere sammen og skubbe negative par fra hinanden i et indlejringsrum.

    • I SimCLR anvendes det kontrastive læringsobjektiv til at maksimere enighed mellem augmenterede versioner af samme billede.SimCLR, 2020
    • CLIP-modellen er trænet med et kontrastivt læringsobjektiv over billede-tekst-par.CLIP, 2021

Hvornår bruges det

Contrastive learning objectives anvendes i selvovervåget læring til at træne repræsentationsmodeller uden etiketterede data, fx i SimCLR, MoCo og CLIP. De er centrale inden for computer vision og naturlig sprogbehandling, hvor målet er at lære robuste, overførbare repræsentationer.

Formel

InfoNCE: L = -1/N ∑_{i=1}^{N} log( exp(sim(z_i, z_i^+)/τ) / (exp(sim(z_i, z_i^+)/τ) + ∑_{j≠i} exp(sim(z_i, z_j^-)/τ) ) )

Kodeeksempel

def contrastive_loss(z_i, z_j, temperature=0.5):
    z = torch.cat([z_i, z_j], dim=0)
    z = F.normalize(z, dim=1)
    sim = torch.mm(z, z.T) / temperature
    batch_size = z_i.size(0)
    labels = torch.arange(batch_size).to(z.device)
    labels = torch.cat([labels, labels], dim=0)
    loss = F.cross_entropy(sim, labels)
    return loss

NT-Xent loss (Normalized Temperature-scaled Cross Entropy) anvendt i SimCLR.

Oprindelse

Udtrykket stammer fra psykologisk kontrastlæring, men i machine learning blev det populariseret af værker som 'Contrastive Learning of Visual Representations' (SimCLR, 2020) og 'Momentum Contrast' (MoCo, 2019).

Afledte ord

2

Kilder

3
  • SimCLR: A Simple Framework for Contrastive Learning of Visual Representations (2020)
  • Representation Learning with Contrastive Predictive Coding (2018)
  • Momentum Contrast for Unsupervised Visual Representation Learning (2019)