Cross-entropy loss
Cross-entropy loss er en tabfunktion, der måler forskellen mellem den sande fordeling og den forudsagte fordeling ved at beregne den negative logaritme af sandsynligheden for de korrekte klasser.
Kort fortalt
Det er en matematisk formel, der straffer en model, når den er usikker eller tager fejl i klassifikationsopgaver, især når der er mange kategorier.
- Kategori
- metrik
- Niveau
- øvet
Betydninger
2- 1
I maskinlæring: en tabfunktion til klassifikationsproblemer, som kombinerer softmax-aktivering og negativ log-sandsynlighed for at måle modellens præstation.
- Under træning af en billedklassifikator minimeres cross-entropy loss for at opnå høj nøjagtighed.
- I GPT-modeller bruges cross-entropy loss til at forudsige næste token i en sekvens.
- 2
I informationsteori: et mål for forskellen mellem to sandsynlighedsfordelinger P og Q, defineret som H(P,Q) = -∑_x P(x) log Q(x).
- Krydsentropi mellem den sande fordeling og modellens fordeling anvendes som tabfunktion.
Hvornår bruges det
Cross-entropy loss bruges primært som tabfunktion ved træning af neurale netværk til klassifikation, ofte sammen med softmax-aktivering i outputlaget. I sprogmodeller som LLM'er anvendes den til at optimere forudsigelsen af næste token.
Formel
L = -∑_{i=1}^{C} y_i log(ŷ_i) for en enkelt prøve, hvor C er antallet af klasser, y er den sande one-hot-encoded vektor, og ŷ er de forudsagte sandsynligheder. For en batch: L = -1/N ∑_{j=1}^{N} ∑_{i=1}^{C} y_{j,i} log(ŷ_{j,i}).Kodeeksempel
import torch
import torch.nn.functional as F
logits = torch.randn(4, 10) # batch_size=4, 10 classes
targets = torch.tensor([1, 5, 3, 9])
loss = F.cross_entropy(logits, targets)
print(loss.item())Eksempel på brug af cross-entropy loss i PyTorch med logits og klasseindeks.
Oprindelse
Begrebet krydsentropi stammer fra informationsteorien (Shannon, 1948) og beskriver den forventede mængde information, der kræves for at kode en begivenhed fra en fordeling Q, når den sande fordeling er P. I machine learning blev det introduceret som en tabfunktion for klassifikation.
Afledte ord
3Kilder
2- Deep Learning (Goodfellow, Bengio, Courville, 2016)
- Pattern Recognition and Machine Learning (Bishop, 2006)