Softmax und Wahrscheinlichkeiten
Kurz: Softmax verwandelt eine Liste beliebiger Zahlen (Logits) in Wahrscheinlichkeiten, die alle positiv sind und zusammen 1 ergeben. Es ist die letzte Stufe fast jedes Klassifikators und jedes Sprachmodells.
Genauer: Formel: softmax(zᵢ) = e^zᵢ / Σ e^zⱼ. Größere Eingaben bekommen deutlich größere Anteile, weil die Exponentialfunktion Unterschiede verstärkt.
Im Detail
- Beispiel: Logits (2.0, 1.0, 0.1) → e-Werte (7.39, 2.72, 1.11) → Summe 11.22 → Wahrscheinlichkeiten (0.66, 0.24, 0.10).
- Temperatur: Teilt man die Logits vor Softmax durch T, wird die Verteilung bei kleinem T spitzer (sicherer) und bei großem T flacher (kreativer), siehe temperatur-und-sampling.
- Numerische Stabilität: Vor der Berechnung subtrahiert man das Maximum, damit
e^znicht überläuft. - Bei Sprachmodellen: Ein Wert pro Token des Vokabulars (zum Beispiel 100.000). Daraus wird das nächste Token gezogen.
- Sigmoid: Der Spezialfall für zwei Klassen.
- Aufmerksamkeit: Auch dort verteilt Softmax die Gewichte über die Positionen, siehe Self-Attention im Detail.
Siehe auch: Verlustfunktionen: MSE und Kreuzentropie, token-(ki)