Layer-Normalisierung
Die nächste Schicht erhält die Beschreibung eines Fragments mit den Zahlen [2, 4] und eines anderen mit [20, 40]. Die Signalgröße kann stark variieren. Du möchtest die Berechnungen erleichtern, indem du die Zahlen innerhalb jeder Beschreibung auf einen vergleichbaren Maßstab bringst.
Layer Normalization normalisiert einen Vektor — eine Zahlenliste — anhand seines eigenen Mittelwerts und seiner Streuung. In einem typischen Transformer geschieht das getrennt für jede Textposition. Dafür werden keine anderen Sätze derselben Datengruppe benötigt.
Für [2, 4] ist der Mittelwert 3. Nach dem Abziehen des Mittelwerts bleibt [-1, 1]; die Division durch ein geeignetes Streuungsmaß regelt die Skala. Anschließend können gelernte Koeffizienten jede Zahl strecken und verschieben.
Das Endergebnis muss deshalb nicht genau den Mittelwert null und die Varianz eins haben. Es ist eine lokale Operation zur Stabilisierung der Verarbeitung, keine Entfernung von Bedeutungsunterschieden zwischen Tokens und keine Garantie für die Stabilität des gesamten Netzes. RMSNorm regelt die Skala ohne Abziehen des Mittelwerts.
Mechanismus und Details
Diese Unterscheidung führt die Arbeit Ba, Kiros und Hinton, Layer Normalization, §3 ein. Die Statistiken hängen von der aktuellen Eingabe ab; die Normalisierung benötigt deshalb keine anderen Beispiele im selben Batch.
Für die Koordinate lautet die Darstellung mit trainierter Skalierung und Verschiebung:
ist der Vektormittelwert und der Mittelwert der quadrierten Abweichungen davon. Ein positives schützt vor Division durch null. Die Parameter und werden trainiert. Die Keras-Dokumentation nennt die vollständige Berechnung und die Bedeutung der Normalisierungsachse.
Beispiel mit zwei Koordinaten
Für [2; 4] beträgt der Mittelwert 3 und die Varianz 1. Nach Abzug des Mittelwerts erhalten wir [−1; 1]. Bei sehr kleinem Epsilon, Gamma gleich eins und Beta gleich null liegt das Ergebnis nahe [−1; 1].
Nach dem Lernen von Gamma und Beta muss der endgültige Vektor weder Mittelwert null noch Varianz eins haben. Normalisierung bedeutet auch nicht, dass das gesamte Modell unabhängig von der Skala all seiner Parameter wird.
Im ursprünglichen Transformer folgte LayerNorm nach der Addition über die Residualverbindung, sowohl bei Attention als auch beim FFN. Diese Reihenfolge zeigt Attention Is All You Need, §3.1; daraus darf keine Regel für alle LLMs gemacht werden.