Self-Attention ist ein Mechanismus, der es neuronalen Netzen ermöglicht, Beziehungen zwischen verschiedenen Elementen einer Sequenz zu erlernen, unabhängig von deren Position. Dieser Ansatz ist ein zentraler Bestandteil moderner Transformer-Modelle und hat das maschinelle Lernen revolutioniert, insbesondere in den Bereichen natürliche Sprachverarbeitung (NLP) und Computer Vision (CV).
Self-Attention ist eine Technik, mit der ein Modell bestimmen kann, welche Teile einer Eingabesequenz für die Verarbeitung besonders relevant sind. Jedes Token (Wort, Pixel, Merkmal) einer Sequenz betrachtet dabei alle anderen Tokens und gewichtet deren Bedeutung dynamisch.
Betrachten wir den Satz:
„Die Katze sprang über die Mauer, weil sie hoch war.“
Das Wort „sie“ kann sich sowohl auf „Katze“ als auch auf „Mauer“ beziehen. Ein Self-Attention-Modell lernt, dass „sie“ mit höherer Wahrscheinlichkeit „Mauer“ meint, da das Adjektiv „hoch“ eher zu „Mauer“ passt.
Self-Attention basiert auf den drei Hauptkomponenten:
Der Self-Attention-Wert wird über die folgende Formel berechnet:
Attention(Q, K, V) = softmax((QKᵀ) / √dₖ) ⋅ V
📌 Ergebnis: Das Modell erkennt, welche Wörter besonders wichtig für die Bedeutung eines anderen Wortes sind.
Anstatt nur eine einzige Self-Attention-Berechnung durchzuführen, verwendet der Transformer mehrere Attention-Köpfe, um unterschiedliche Arten von Beziehungen zu erfassen.
MultiHead(Q, K, V) = Concat(head₁, …, headₕ) Wᴼ
📌 Vorteil: Mehrere Interpretationen der Daten gleichzeitig, was eine bessere Generalisierung ermöglicht.
📌 Maschinelle Übersetzung (z. B. Google Translate)
→ Kontextabhängige Übersetzungen verbessern.
📌 Textgenerierung (GPT-Modelle) → Realistische und
zusammenhängende Texte.
📌 Bilderkennung (Vision Transformer) → Objekterkennung
mit globalem Kontext.
📌 Spracherkennung (Whisper, DeepSpeech) → Erkennung
von Sprachmustern in Audiosequenzen.