<EbeneX/>
Grundlagen Architektur · Updated 3. März 2026

Cross-Entropy

Definition

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

Fortgeschritten 2 Min. Lesezeit EN: Cross-Entropy Loss

Einfach erklärt

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.

Technischer Deep Dive

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)

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

Misst Unterschied zwischen vorhergesagter und tatsächlicher Verteilung

Standard-Loss für Klassifikation und Sprachmodelle

Bestraft falsche, selbstbewusste Vorhersagen stark

Klassifikation

Bildklassifikation, Sentiment-Analyse, Spam-Erkennung

LLM Training

Vorhersage des nächsten Tokens

Multi-Label

Binary Cross-Entropy für mehrere unabhängige Labels

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.

Dein persönliches Share-Bild für Instagram – 1080×1080px, bereit zum Posten.