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

Kodeeksempel

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.