Trend-Themen
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Warum ist Kreuzentropie ein guter Verlust für die Sprachvortraining?
Hinweis: Das ist übrigens alles bekannt; interessanterweise, obwohl es viele Sichtweisen und Intuitionen zu "warum x-ent" gibt, können sie alle von einem einzigen Ausgangspunkt aus erreicht werden.
Hier ist eine einfache Ableitung aus den Grundprinzipien, die nichts über die Datenverteilung annimmt. Sie stammt aus einer sehr vernünftigen operationellen Anforderung :)
"Ich möchte, dass mein Modell intelligent klingt"
aber das können wir nicht messen, also fragen wir
"Ich möchte, dass mein Modell wie ein Mensch klingt"
Obwohl wir Zugang zu allen jemals geschriebenen Texten haben, können wir das auch nicht ganz messen, also fragen wir stattdessen
"Ich möchte, dass mein Modell so wahrscheinlich wie möglich einen der jemals geschriebenen Texte generiert"
Oder direkter:
"Ich möchte, dass mein Modell die Trainingsdaten auswendig lernt."
Betrachten Sie dieses Gedankenexperiment:
Gegeben ist ein Datensatz S aller Texte, die jemals von Menschen geschrieben wurden, führen wir unabhängige Versuche für jeden "Text" in S durch:
Beispiel: "Beispieltext" von unserem Modell Pr( ;W)
Überprüfen: Hat "Beispieltext" genau mit dem Original übereingestimmt? Hinweis: Wir konditionieren auf nichts! Wir fragen einfach, von all den Dingen, die das Modell generieren könnte, haben wir "Text" erhalten.
Definieren Sie den Erfolg als das Ereignis
E = "alle pro Probe Überprüfungen sind erfolgreich"
Die Wahrscheinlichkeit von E ist das Produkt der Wahrscheinlichkeiten, die Ihrem Modell W für die korrekte Grundwahrheit zugewiesen werden.
Pr(E) = Π_{text in S} Pr(text; W)
Die Maximierung von log Pr(E) über W gibt Ihnen das Kreuzentropie-Ziel.
Wie optimieren Sie das mit SGD?
Beispieltext aus dem Korpus
Berechnen Sie grad log Pr(token|prefix) für jedes Präfix des Textes
Aktualisieren Sie das Modell
Was elegant ist, ist, dass dies gleichzeitig:
1) Die Beschreibungslänge der Daten unter dem Modell P( ;W) minimiert (Kompressionsansicht)
2) Die KL-Divergenz zur wahren Verteilung minimiert – falls eine existiert (obwohl wir nie eine angenommen haben)
3) Die maximale Wahrscheinlichkeitsschätzung implementiert
Die Ableitung ist einfach und gut bekannt, aber sie hebt etwas Wichtiges hervor:
Kreuzentropie entsteht natürlich aus dem Wunsch nach exakter Reproduktion der Trainingsdaten.
P.S. Sie hätten stattdessen fragen können, die Maximierung zu optimieren
Pr(text, das vom Modell generiert wird, ist in der Grundwahrheit)
Interessanterweise kann die Optimierung hiervon zu einem Modus-Kollaps führen, da eine optimale Lösung darin besteht, immer ein einzelnes Stück Text aus dem Korpus vorherzusagen. Doch die Gradienten sehen wieder wie x-Entropie aus, aber mit einem Multiplikationsfaktor
d.h. Pr(text;W) grad log Pr(text;W)
57,78K
Top
Ranking
Favoriten