softmax-temperature
En temperaturparameter, der skalerer logitterne inden softmax-aktiveringen for at kontrollere fordelingens 'skarphed'.
Kort fortalt
Softmax-temperature styrer, hvor 'sikker' eller 'tilfældig' en AI's valg er: lav temperatur giver mere deterministiske valg, høj temperatur giver mere variation.
- Kategori
- begreb
- Niveau
- øvet
Betydninger
1- 1
En parameter, der divideres med logitterne før anvendelse af softmax-funktionen, således at en lavere temperatur giver en skarpere sandsynlighedsfordeling (mere vægt på høje sandsynligheder) og en højere temperatur giver en jævnere fordeling.
- Ved en temperatur på 0,5 bliver fordelingen mere fokuseret, mens en temperatur på 2,0 gør den mere jævn. — standard machine learning terminology
- I sprogmodeller bruges temperature ofte til at styre kreativiteten i genereret tekst. — common practice
Hvornår bruges det
Softmax-temperature bruges typisk i sprogmodeller og andre neurale netværk, der genererer output. Man justerer den under inferens for at balancere mellem kreativitet og præcision. Ofte er den en hyperparameter, man kan finjustere.
Formel
softmax(x_i / T), where T is the temperatureKodeeksempel
import torch
def softmax_with_temperature(logits, temperature):
return torch.softmax(logits / temperature, dim=-1)Eksempel på implementering af softmax med temperaturparameter
Oprindelse
Udtrykket 'temperatur' kommer fra statistisk fysik, hvor Boltzmann-fordelingen bruger en temperaturparameter til at kontrollere sandsynlighedsfordelinger. Softmax-funktionen minder om Boltzmann-fordelingen.