log softmax
En funktion der kombinerer softmax og logaritme, ofte brugt i neurale netværksklassifikation for numerisk stabilitet.
Kort fortalt
Log softmax er en matematisk operation, der først normaliserer sandsynligheder med softmax og derefter tager logaritmen, hvilket gør beregningerne mere stabile.
- Kategori
- begreb
- Niveau
- øvet
Betydninger
1- 1
En matematisk funktion der anvender softmax-normalisering efterfulgt af naturlig logaritme, brugt i outputlaget af klassifikationsmodeller for at opnå log-sandsynligheder.
- I et neuralt netværk anvendes log softmax på logits for at få log-sandsynligheder, der kan indgå i cross-entropy loss.
Hvornår bruges det
Log softmax bruges typisk i cross-entropy loss-funktioner, hvor den kombineres med log-softmax i en enkelt operation (f.eks. CrossEntropyLoss i PyTorch). Den undgår numeriske problemer ved at arbejde i log-rummet.
Formel
log_softmax(x_i) = log(exp(x_i) / sum_j exp(x_j)) = x_i - log(sum_j exp(x_j))Kodeeksempel
import torch
logits = torch.tensor([[1.0, 2.0, 3.0]])
log_probs = torch.nn.functional.log_softmax(logits, dim=1)
print(log_probs)Eksempel på brug af log_softmax i PyTorch på et sæt logits.
Oprindelse
Termen er en kombination af 'softmax' (en blød maksimumfunktion) og 'log' (naturlig logaritme).