Cross-Entropy

Eine Loss Function, die misst, wie gut eine vorhergesagte Wahrscheinlichkeitsverteilung mit der tatsächlichen Verteilung übereinstimmt – Standard für Klassifikation und LLMs.

Fortgeschritten2 Min Lesezeit

Erklärung starten

Auf einen Blick

3 Punkte

  1. Misst Unterschied zwischen vorhergesagter und tatsächlicher Verteilung
  2. Standard-Loss für Klassifikation und Sprachmodelle
  3. Bestraft falsche, selbstbewusste Vorhersagen stark

Sofortantwort

Cross-Entropy einfach erklärt

Loss Function für Klassifikation und Sprachmodelle.

Kurz gesagt
Misst Unterschied zwischen vorhergesagter und tatsächlicher Verteilung
Typischer Einsatz
Klassifikation, LLM Training, Multi-Label
Wichtig zu wissen
Bestraft falsche, selbstbewusste Vorhersagen stark

Cross-Entropy im Überblick

Cross-Entropy ist die am häufigsten verwendete Loss Function für Klassifikationsaufgaben und Sprachmodelle. Sie misst den Unterschied zwischen der vorhergesagten Wahrscheinlichkeitsverteilung und der tatsächlichen Verteilung. Das Besondere: Cross-Entropy bestraft selbstbewusste Fehler überproportional stark – wenn das Modell mit 90% Konfidenz falsch liegt, ist der Loss viel höher als wenn es mit 60% Konfidenz falsch liegt. Das zwingt Modelle, kalibriert zu sein.

Cross-Entropy misst, wie weit die Vorhersage von der Wahrheit entfernt ist – und bestraft selbstbewusste Fehler besonders stark.

Beispiel:

Wahre Klasse: Katze [1, 0, 0]

Vorhersage A: [0.9, 0.05, 0.05] → Cross-Entropy: 0.105 ✓ (gut)
Vorhersage B: [0.6, 0.2, 0.2]  → Cross-Entropy: 0.511 (okay)
Vorhersage C: [0.1, 0.8, 0.1]  → Cross-Entropy: 2.303 ✗ (schlecht)

Warum ist das wichtig?

Cross-Entropy bestraft nicht nur falsche Antworten, sondern auch unsichere richtige Antworten. Das Modell lernt, selbstbewusst richtig zu sein.

Technisch betrachtet

Formel

H(p, q) = -Σ p(x) × log(q(x))

p = Wahre Verteilung (One-Hot: [1, 0, 0])
q = Vorhergesagte Verteilung ([0.9, 0.05, 0.05])

Für Klassifikation (One-Hot Labels):

Loss = -log(q_correct)

Wenn q_correct = 0.9 → Loss = 0.105
Wenn q_correct = 0.1 → Loss = 2.303

PyTorch Beispiel

import torch
import torch.nn as nn

# Logits (vor Softmax)
logits = torch.tensor([[2.0, 0.5, 0.1]])
labels = torch.tensor([0])  # Klasse 0 ist richtig

loss_fn = nn.CrossEntropyLoss()
loss = loss_fn(logits, labels)
# CrossEntropyLoss wendet Softmax intern an!

Varianten

VarianteAnwendung
Categorical CEMulti-Class (genau eine Klasse)
Binary CEBinär oder Multi-Label
Sparse CEWie Categorical, aber Integer-Labels
Focal LossFür stark unbalancierte Daten

Gradient

∂L/∂z_i = softmax(z_i) - y_i

Wenn y_i = 1 (richtige Klasse):
Gradient = p_i - 1 (negativ, treibt p_i hoch)

Wenn y_i = 0 (falsche Klasse):
Gradient = p_i (positiv, treibt p_i runter)

01Einsatzbereiche

Wann ist Cross-Entropy sinnvoll?

Geeignet für

  • KlassifikationBildklassifikation, Sentiment-Analyse, Spam-Erkennung
  • LLM TrainingVorhersage des nächsten Tokens
  • Multi-LabelBinary Cross-Entropy für mehrere unabhängige Labels

↑ Inhalt

02Werkzeuge

Womit Cross-Entropy umgesetzt wird

↑ Inhalt

Merksatz

Cross-Entropy ist wie ein Lehrer, der nicht nur prüft, ob die Antwort richtig ist, sondern auch wie sicher der Schüler war. 'Richtig mit 99% Sicherheit' ist besser als 'Richtig mit 51% Sicherheit'.

  1. Misst Unterschied zwischen vorhergesagter und tatsächlicher Verteilung
  2. Standard-Loss für Klassifikation und Sprachmodelle
  3. Bestraft falsche, selbstbewusste Vorhersagen stark

04Redaktion

Herkunft und Stand

Redaktion und Aktualität

Ebenex RedaktionRedaktion

Veröffentlicht
Aktualisiert

Dieses Feld entwickelt sich schnell. Oben stehen Veröffentlichung und letzte Änderung; ein Prüfdatum kommt dazu, sobald die Erklärung nach ihrer letzten Änderung geprüft wurde.

↑ Inhalt

05FAQ

Häufige Fragen zu Cross-Entropy

Warum Cross-Entropy statt MSE für Klassifikation?

Cross-Entropy hat stärkere Gradienten bei falschen Vorhersagen, was schnelleres Lernen ermöglicht. MSE hat bei Softmax-Ausgaben flache Gradienten nahe 0 und 1 – das Training stagniert.

Was ist der Zusammenhang zwischen Cross-Entropy und Perplexity?

Perplexity = 2^(Cross-Entropy). Perplexity ist die intuitivere Metrik ('wie viele Optionen hat das Modell im Durchschnitt'), Cross-Entropy ist die mathematisch praktischere für Training.

Wann verwende ich Binary vs. Categorical Cross-Entropy?

Binary: Zwei Klassen oder Multi-Label (jede Klasse unabhängig). Categorical: Mehrere Klassen, genau eine ist richtig. Bei PyTorch: BCELoss vs. CrossEntropyLoss.

↑ Inhalt

06Weiterlernen

Was möchtest du als Nächstes verstehen?

  • Grundlage nachholen

    Softmax

    Wandelt Zahlen in Wahrscheinlichkeiten um (Summe = 1).

  • Technisch vertiefen

    Logits

    Unnormalisierte Ausgabewerte eines neuronalen Netzes vor der Umwandlung.

↑ Inhalt