contrastive loss
En loss-funktion der minimerer afstanden mellem positive par (lignende datapunkter) og maksimerer afstanden mellem negative par (forskellige datapunkter) i repræsentationsrummet.
Kort fortalt
En funktion der lærer en model at skelne mellem lignende og forskellige datapunkter ved at justere deres indbyrdes afstand i et indlejringsrum.
- Kategori
- træning
- Niveau
- øvet
- Udtale
- /kənˈtræstɪv lɒs/
Betydninger
1- 1
En loss-funktion der behandler par af datapunkter med en kendt etiket (positiv eller negativ) og straffer modellen for at have for stor afstand mellem positive par eller for lille afstand mellem negative par inden for en margin.
- Ved træning af et siamesisk netværk til ansigtsgenkendelse bruges contrastive loss til at sikre, at billeder af samme person har tætte indlejringer, mens billeder af forskellige personer skubbes fra hinanden. — Forskningsartikel, 2006
- Contrastive loss med margin 1.0 gav de bedste resultater i vores forsøg med selvovervåget indlæring af billedrepræsentationer. — Eksempel
Hvornår bruges det
Contrastive loss bruges primært i selvovervåget læring og siamesiske netværk til opgaver som ansigtsgenkendelse, billedsøgning og repræsentationsindlæring. Den anvendes typisk sammen med par af data, hvor man kender ligheden (positiv/negativ).
Formel
L = (1/2)·y·d² + (1−y)·max(0, margin−d)², hvor d = ∥f(x₁)−f(x₂)∥₂ (euklidisk afstand), y=1 for positive par, y=0 for negative par, og margin > 0.Kodeeksempel
import torch
def contrastive_loss(emb1, emb2, label, margin=1.0):
dist = torch.nn.functional.pairwise_distance(emb1, emb2)
loss = 0.5 * (label * dist.pow(2) + (1 - label) * torch.clamp(margin - dist, min=0).pow(2))
return loss.mean()Implementering af contrastive loss i PyTorch. 'label' er 1 for positive par, 0 for negative.
Oprindelse
Termen blev introduceret af Hadsell, Chopra og LeCun i 2006 i forbindelse med dimensionalitetsreduktion ved hjælp af invariante afbildninger. Den bygger på ideen om at lære en indlejring, hvor lignende punkter ligger tæt og forskellige punkter ligger langt fra hinanden.