softmax-funktion
Den normaliserede eksponentialfunktion der omdanner en vektor af reelle tal til en sandsynlighedsfordeling.
Kort fortalt
En matematisk funktion der tager en liste af tal og omdanner dem til sandsynligheder, så de summer til 1.
- Kategori
- begreb
- Niveau
- øvet
- Udtale
- /ˈsɒft.mæks/
Betydninger
1- 1
Den normaliserede eksponentialfunktion der omdanner en vektor af reelle tal til en sandsynlighedsfordeling, hvor hvert element er proportionalt med eksponentialet af inputværdien.
- I en transformer-arkitektur anvendes softmax-funktionen i attention-mekanismen til at beregne opmærksomhedsvægte. — Attention Is All You Need (2017)
- Efter det sidste lineære lag anvendes en softmax-funktion for at opnå en sandsynlighedsfordeling over klasserne.
Hvornår bruges det
Bruges i outputlaget af klassifikationsmodeller, især i neurale netværk og transformerarkitekturer, til at forudsige sandsynligheder for klasser.
Formel
σ(z)_i = e^{z_i} / Σ_{j=1}^{K} e^{z_j}Kodeeksempel
import numpy as np
def softmax(z):
exp_z = np.exp(z - np.max(z)) # for numerical stability
return exp_z / exp_z.sum(axis=0)En simpel implementering af softmax-funktionen i Python med numerisk stabilitet.
Oprindelse
Navnet er en sammentrækning af 'soft maximum', da funktionen er en differentierbar tilnærmelse til argmax.
Afledte ord
2Kilder
1- Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.