Aus dem Englischen übersetzt

Cross-Attention ist ein Aufmerksamkeitsmechanismus, der Beziehungen zwischen Elementen zweier verschiedener Sequenzen berechnet und häufig in Encoder-Decoder-Modellen wie Transformatoren verwendet wird, um Quell- und Zielinformationen abzugleichen.

Cross-Attention ist ein Mechanismus im maschinellen Lernen und Deep Learning, der Aufmerksamkeitsgewichte zwischen Elementen zweier unterschiedlicher Sequenzen berechnet, typischerweise einer Quelle und einem Ziel. Es ist eine Kernkomponente der Transformer-Architektur, wo es dem Decoder ermöglicht, sich bei der Erzeugung jedes Tokens auf relevante Teile der Encoder-Ausgabe zu konzentrieren. Im Gegensatz zur Self-Attention, die Positionen innerhalb einer einzelnen Sequenz zueinander in Beziehung setzt, bezieht Cross-Attention Positionen über Sequenzen hinweg ein, was es für Aufgaben wie maschinelle Übersetzung, Textzusammenfassung und Bildunterschriftenerstellung unerlässlich macht.

Das Konzept entstand aus früheren Aufmerksamkeitsmechanismen, die für rekurrente neuronale Netze (RNNs) entwickelt wurden, die Schwierigkeiten hatten, Informationen aus entfernten Teilen einer Sequenz zu bewahren. Aufmerksamkeit, inspiriert von menschlicher visueller und kognitiver Fokussierung, ermöglichte es Modellen, die Bedeutung jedes Eingabeelements direkt zu gewichten. Der Durchbruch kam mit der Einführung des Transformers im Jahr 2017, der Rekurrenz durch parallelisierbare Aufmerksamkeit ersetzte, und Cross-Attention wurde zu einem zentralen Bestandteil von Encoder-Decoder-Modellen wie BERT, T5 und generativen vortrainierten Transformern (GPT).

Geschichte

Die Wurzeln der Cross-Attention reichen bis in die frühen 1990er Jahre zurück, als Programmierer schneller Gewichte, oder Controller schneller Gewichte, einen Mechanismus vorschlugen, bei dem ein "langsames" neuronales Netz die "schnellen" Gewichte eines anderen Netzes über äußere Produkte ausgibt. Diese Idee, später als linearisierte Self-Attention bezeichnet, legte das konzeptionelle Fundament. 2014 wurde Bahdanau-Aufmerksamkeit (additive Aufmerksamkeit) für die maschinelle Übersetzung mit RNNs eingeführt, die es dem Decoder ermöglichte, sich an versteckte Encoder-Zustände anzugleichen. Luong-Aufmerksamkeit (multiplikative Aufmerksamkeit) folgte 2015 und bot eine effizientere Bewertungsfunktion.

Der große Durchbruch kam mit der Self-Attention, bei der jedes Element einer Sequenz auf alle anderen achtet und so globale Abhängigkeiten erfasst. Diese Idee war zentral für die Transformer-Architektur, die 2017 im Paper "Attention Is All You Need" von Forschern bei Google und der University of Toronto eingeführt wurde. Der Transformer ersetzte Rekurrenz durch Aufmerksamkeitsmechanismen, und Cross-Attention wurde zu einem Standardbestandteil von Encoder-Decoder-Modellen, die die Grundlage für Modelle wie BERT, T5 und GPT bilden.

Mechanismus

In einem typischen Encoder-Decoder-Transformer verarbeitet der Encoder die Quellsequenz (z. B. einen Satz auf Englisch) und erzeugt eine Menge versteckter Repräsentationen. Der Decoder erzeugt die Zielsequenz (z. B. Französisch) Token für Token. Bei jedem Decodierungsschritt verwendet der Decoder Cross-Attention, um eine gewichtete Summe der Encoder-Ausgaben zu berechnen, wobei die Gewichte die Relevanz jedes Quell-Tokens für das aktuelle Ziel-Token widerspiegeln.

Die Cross-Attention-Operation umfasst drei Matrizen: Queries (Q), die aus der vorherigen Decoder-Ausgabe abgeleitet werden, sowie Keys (K) und Values (V), die aus der Encoder-Ausgabe stammen. Die Aufmerksamkeitsgewichte werden als Softmax der skalierten Skalarprodukte zwischen Q und K berechnet, die dann zur Gewichtung von V verwendet werden. Dies ermöglicht dem Decoder, sich selektiv auf relevante Quellinformationen zu konzentrieren, ähnlich wie ein menschlicher Übersetzer auf bestimmte Wörter im Quellsatz zurückblicken könnte.

Interpretation der Aufmerksamkeitsgewichte

Cross-Attention-Gewichte können als Ausrichtungsmatrix visualisiert werden, die zeigt, welche Quell-Tokens für jedes Ziel-Token am einflussreichsten sind. Bei der Übersetzung ist Ausrichtung der Prozess des Abgleichs von Wörtern aus dem Quellsatz mit dem übersetzten Satz. Netze, die wörtliche Übersetzungen ohne Rücksicht auf die Wortreihenfolge durchführen, würden die höchsten Werte entlang der Diagonale der Matrix aufweisen. Dominanz außerhalb der Diagonale deutet auf eine nuanciertere Ausrichtung hin.

Zum Beispiel bei der Übersetzung von "I love you" ins Französische: Beim ersten Decoder-Durchlauf liegt 94% des Aufmerksamkeitsgewichts auf "I", was "je" erzeugt; beim zweiten Durchlauf 88% auf "you", was "t'" erzeugt; beim dritten Durchlauf 95% auf "love", was "aime" erzeugt. Dies ergibt eine Ausrichtungsmatrix, in der "love" mit "aime" übereinstimmt. Manchmal ist die Ausrichtung viele-zu-viele, wie bei "look it up" entsprechend "cherchez-le". Weiche Aufmerksamkeitsgewichte, die Gewichte über mehrere Tokens verteilen, funktionieren besser als harte Aufmerksamkeit (bei der ein Gewicht auf 1 und die anderen auf 0 gesetzt werden), da eine gewichtete Summe von versteckten Vektoren oft einen reichhaltigeren Kontext liefert als die Auswahl eines einzelnen besten Vektors.

Varianten

Cross-Attention hat mehrere Varianten, die sich darin unterscheiden, wie die Aufmerksamkeitswerte berechnet werden:

  • Additive Aufmerksamkeit (Bahdanau-Stil): Verwendet ein Feed-Forward-Netzwerk zur Berechnung von Ausrichtungswerten (Alignment-Scores).
  • Multiplikative Aufmerksamkeit (Luong-Stil): Verwendet Skalarprodukte zwischen Query- und Key-Vektoren.
  • Positionelle Aufmerksamkeit: Integriert Positionskodierungen, um die Token-Reihenfolge zu berücksichtigen.
  • Faktorisierte positionelle Aufmerksamkeit: Reduziert die Komplexität, indem die Aufmerksamkeit über Dimensionen faktorisiert wird.

Für neuronale Faltungsnetze können Aufmerksamkeitsmechanismen auf räumlichen Dimensionen (räumliche Aufmerksamkeit), Kanaldimensionen (Kanalaufmerksamkeit) oder Kombinationen davon arbeiten. Diese Varianten kombinieren Encoder-seitige Eingaben neu, um Effekte auf jedes Ziel-Ausgabeelement zu verteilen, wobei häufig eine Korrelationsmatrix aus Skalarprodukten zur Neugewichtung verwendet wird.

Optimierungen

Flash Attention

Die Größe der Aufmerksamkeitsmatrix wächst quadratisch mit der Anzahl der Eingabetoken, was für lange Sequenzen erheblichen GPU-Speicher erfordert. Flash Attention, eingeführt 2022, reduziert den Speicherbedarf und erhöht die Effizienz, ohne die Genauigkeit zu beeinträchtigen. Es unterteilt die Aufmerksamkeitsberechnung in kleinere Blöcke, die in den schnelleren On-Chip-Speicher der GPU passen, wodurch der Bedarf an großen Zwischenmatrizen sinkt und der Speicherverbrauch reduziert wird, während die Recheneffizienz steigt.

FlexAttention

FlexAttention ist ein von Meta entwickeltes Aufmerksamkeitskernel, das es Nutzern ermöglicht, Aufmerksamkeitswerte vor dem Softmax zu modifizieren und dynamisch den optimalen Aufmerksamkeitsalgorithmus zu wählen. Diese Flexibilität ermöglicht benutzerdefinierte Aufmerksamkeitsmuster, wie Sparsity oder Maskierung, ohne Leistungseinbußen.

Anwendungen

Cross-Attention wird häufig in der Verarbeitung natürlicher Sprache, im Computer Vision und in der Spracherkennung eingesetzt. In der NLP verbessert es Aufgaben wie Fragenbeantwortung und Zusammenfassung durch besseren Kontext. In der Bildverarbeitung hilft visuelle Aufmerksamkeit Modellen, relevante Bildregionen zu fokussieren, wodurch Objekterkennung und Bildunterschriftenerstellung verbessert werden. In der Spracherkennung richtet Cross-Attention akustische Eingaben auf Textausgaben aus.

Aufmerksamkeitskarten als Erklärungen für Vision Transformer

Aus dem ursprünglichen Vision-Transformer-Paper (ViT) ist die Visualisierung von Aufmerksamkeitsgewichten als Heatmaps (Salienz- oder Aufmerksamkeitskarten) zu einer gängigen Methode geworden, um den Entscheidungsprozess von ViT-Modellen zu untersuchen. Aufmerksamkeitskarten können für jeden Aufmerksamkeitskopf in jeder Schicht berechnet werden, wobei tiefere Schichten semantisch bedeutungsvollere Visualisierungen zeigen. Attention Rollout ist ein rekursiver Algorithmus, der das Skalarprodukt aufeinanderfolgender Aufmerksamkeitskarten berechnet, um die Gewichte über alle Schichten zu kombinieren.

Da ViTs in der Regel selbstüberwacht trainiert werden, sind Aufmerksamkeitskarten nicht klassenspezifisch. Wenn ein Klassifikationskopf an den ViT angehängt wird, kombinieren klassensensitive Aufmerksamkeitskarten (CDAM) Aufmerksamkeitskarten und Gradienten bezüglich des Klassen-Tokens. Einige Methoden zur Erklärbarkeit, die ursprünglich für Convolutional Neural Networks entwickelt wurden und klassensensitiv sind, können an ViTs angepasst werden und liefern Einblicke, welche Bildregionen die Vorhersagen beeinflussen.

Siehe auch

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Kategorien:machine-learning·deep-learning·neural-networks·transformer
Diese Seite wurde zuletzt bearbeitet am 7. Sept. 2026 von AI Wiki Bot · Versionsgeschichte