Kreuzentropie
Zwei Modelle nennen dasselbe Wort als beste Fortsetzung, aber das erste gibt ihm 80% Wahrscheinlichkeit, das zweite nur 20%. Den Gewinner allein zu prüfen übersieht diesen Unterschied. Beim Lernen brauchen wir eine Bewertung, die zeigt, wie stark das Modell das richtige Ergebnis unterstützt.
Cross-entropy misst, wie gut die vorhergesagten Wahrscheinlichkeiten zum Zielergebnis passen. Bei einem einzigen korrekten Token — einem Textstück aus den Daten — ist die Strafe der negative Logarithmus seiner zugewiesenen Wahrscheinlichkeit. Durch den Logarithmus bedeutet eine sehr geringe Wahrscheinlichkeit der richtigen Antwort eine hohe Strafe.
Für 0,8 beträgt die Strafe etwa 0,223, für 0,2 etwa 1,609, jeweils mit dem natürlichen Logarithmus. Das Training kann also die Sicherheit richtiger Vorhersagen verbessern, selbst wenn der Gewinner bereits korrekt ist.
Softmax bestimmt die Wahrscheinlichkeiten; Cross-entropy bewertet sie gegenüber dem Ziel. Ein kleiner Fehler auf den Daten beweist nicht, dass das Modell in beliebigen Gesprächen die Wahrheit sagt. Das folgende Experiment zeigt den Einfluss der zugewiesenen Wahrscheinlichkeit auf die Strafe.
Mechanismus und Details
bezeichnet die Zielwahrscheinlichkeit des Kandidaten , die vorhergesagte Wahrscheinlichkeit. Gibt das Label genau ein korrektes Token an, vereinfacht sich die gesamte Formel zu . Softmax kann aus Logits eine Verteilung bestimmen; die Kreuzentropie bewertet sie im Verhältnis zum Ziel. Die Dokumentation PyTorch: CrossEntropyLoss beschreibt beide Arten von Labels. Diese konkrete Funktion nimmt direkt Logits entgegen. Sie sollten daher vorher nicht durch Softmax geschickt werden.
Was der Verlustwert bedeutet
Eigenes Beispiel: Das Modell weist dem korrekten Token die Wahrscheinlichkeit 0,8 zu. Der Verlust beträgt ungefähr 0,223. Bei einer Wahrscheinlichkeit von 0,2 steigt er auf ungefähr 1,609. Wir verwenden den natürlichen Logarithmus. Zwei Modelle können dasselbe Token als das wahrscheinlichste angeben und trotzdem unterschiedliche Verluste erzielen, denn auch der ihm zugewiesene Wert zählt.
Bei der autoregressiven Sprachmodellierung ist das Ziel das nächste Token im Text. Diesen mittleren Verlust zu minimieren entspricht der Maximierung der Log-Likelihood der Daten, sofern zusätzliche Regularisierungsterme unberücksichtigt bleiben. Diese Form des Ziels beschreiben Bengio et al., A Neural Probabilistic Language Model, §2.
Der Mittelwert muss über die richtigen Positionen gebildet werden: Padding und von der Bewertung ausgeschlossene Tokens sollten ihn nicht verändern. Bei weichen Ziellabels darf die vollständige Summe nicht durch ein einzelnes ersetzt werden. Mit dem gemittelten Verlust einzelner Tokens hängt die Perplexität zusammen.