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

2

Kilder

1
  • Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.