Sobes.tech
Middle — Senior

Erklären Sie im Detail die Multi-Head-Attention: Was sind Q/K/V, wie werden die Aufmerksamkeitsgewichte berechnet, warum mehrere Köpfe.

sobes.tech KI

Antwort von AI

Multi-Head-Attention — ist ein Schlüsselmechanismus in Transformatoren, der es dem Modell ermöglicht, sich gleichzeitig auf verschiedene Teile der Eingabesequenz zu konzentrieren.

  • Q (Abfrage), K (Schlüssel), V (Wert) — sind drei Matrizen, die aus den Eingabedaten durch trainierbare lineare Transformationen gewonnen werden. Jede Position in der Sequenz wird in drei Vektoren umgewandelt:

    • Abfrage — die Anfrage, nach der relevante Informationen gesucht werden.
    • Schlüssel — der Schlüssel, mit dem die Anfrage verglichen wird.
    • Wert — der Wert, der als Antwort auf die Anfrage zurückgegeben wird.
  • Berechnung der Aufmerksamkeitsgewichte:

    1. Es wird das Skalarprodukt zwischen Query und Key für jedes Positionspaar berechnet.
    2. Das Ergebnis wird skaliert (normalerweise durch die Quadratwurzel der Schlüsselgröße), um die Gradienten zu stabilisieren.
    3. Es wird Softmax angewendet, um eine Wahrscheinlichkeitsverteilung der Gewichte zu erhalten.
    4. Die Gewichte werden mit den entsprechenden Werten multipliziert, und die Ergebnisse summiert — das ist die Ausgabe der Aufmerksamkeit.
  • Warum mehrere Köpfe (Multi-Head)? Mehrere Köpfe erlauben es dem Modell, Informationen aus verschiedenen "Blickwinkeln" zu betrachten, d.h., jeder Kopf lernt, unterschiedliche Abhängigkeiten und Muster in den Daten hervorzuheben. Dies erhöht die Ausdruckskraft und die Qualität des Modells.

Vereinfachtes Beispiel:

# Für jeden Kopf:
Q_i = X * W_Q_i
K_i = X * W_K_i
V_i = X * W_V_i

Aufmerksamkeitsgewichte = softmax((Q_i @ K_i.T) / sqrt(d_k))
Ausgabe_i = Aufmerksamkeitsgewichte @ V_i

# Kombinieren der Ausgaben aller Köpfe
output = concat(output_1, ..., output_h) * W_O

Wo W_Q_i, W_K_i, W_V_i, W_O trainierbare Matrizen sind, d_k die Dimension der Schlüssel, und h die Anzahl der Köpfe.