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. 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).