pretext-task loss
Pretext-task loss er tabsfunktionen, der optimeres under et forløbentræningsformål (pretext task) i selvovervåget læring for at lære repræsentationer fra umærkede data.
Kort fortalt
Et tabsfunktion, der bruges til at træne en model på en opgave, hvor svaret er ukendt, så modellen lærer nyttige egenskaber ved dataene.
- Kategori
- træning
- Niveau
- øvet
Betydninger
1- 1
Tabsfunktionen, der bruges til at træne en model på en forløbent opgave (pretext task) i selvovervåget læring. Formålet er at lære meningsfulde repræsentationer uden manuelle etiketter.
- I rotationsforudsigelse anvendes cross-entropy loss som pretext-task loss til at klassificere rotationsvinklen. — Gidaris et al., 2018
- SimCLR anvender contrastive loss som pretext-task loss for at maksimere lighed mellem augmenterede versioner af samme billede. — Chen et al., 2020
Hvornår bruges det
Pretext-task loss anvendes i selvovervåget læring, hvor modellen først trænes på en opgave (f.eks. at forudsige rotation, farve, eller kontekst) og derefter finjusteres til en specifik opgave. Valget af tabsfunktion afhænger af den valgte forløbneopgave; eksempler omfatter krydsentropi-tab for rotationsklassifikation eller kontrastivt tab for instansdiskrimination.
Kodeeksempel
import torch
import torch.nn as nn
def pretext_task_loss(output, target, task_type='rotation'):
if task_type == 'rotation':
criterion = nn.CrossEntropyLoss()
return criterion(output, target)
elif task_type == 'contrastive':
# Simplified contrastive loss (InfoNCE)
logits = torch.mm(output, output.t()) / 0.5
labels = torch.arange(output.size(0)).to(output.device)
return nn.CrossEntropyLoss()(logits, labels)
# Example usage for rotation prediction
output = torch.randn(32, 4) # logits for 4 rotations
target = torch.randint(0, 4, (32,))
loss = pretext_task_loss(output, target, 'rotation')Eksempel på implementering af two pretext-task losses: cross-entropy til rotationsklassifikation og en forenklet kontrastiv loss til instansdiskrimination.
Oprindelse
Engelsk: 'pretext' (påskud, forløbent) + 'task' (opgave) + 'loss' (tab). Betegner en tabsfunktion, der anvendes i en 'pretext task' – en opgave, der egentlig ikke er målet, men et middel til at lære repræsentationer.