Cross-Attention
Beim Übersetzen hat das Modell zwei unterschiedliche Texte: das Original und die erst entstehende Antwort. Wenn es das nächste Wort der Übersetzung ergänzt, braucht es Informationen aus dem Original. Allein das Mischen der bereits geschriebenen Antwort liefert den fehlenden Quellinhalt nicht.
Cross-attention erlaubt Positionen einer Sequenz, Informationen aus einer anderen zu lesen. Query — eine Zahlenliste, die den Bedarf der aktuellen Position festlegt — stammt aus der entstehenden Antwort. Key dient dem Abgleich der Quellfragmente, Value enthält ihre weiterzugebenden Informationen.
Jede Position der Antwort erhält ihre eigene Mischung von Informationen aus dem Original. Zwei Antwortpositionen und drei Quellfragmente ergeben zwei Ergebnisse, eines pro lesender Position, nicht drei.
Bei Self-attention stammen alle diese Beschreibungen aus derselben Sequenz. „Cross“ bezeichnet unterschiedliche Quellen, nicht zwei zwingend unabhängige Modelle. Die Gewichte müssen keine wörtliche, korrekte Zuordnung von Wort zu Wort zwischen Sprachen sein.
Mechanismus und Details
Im ursprünglichen Transformer kamen die Queries von der Decoderseite, die Keys und Values dagegen aus der Encoderausgabe. Das Paper nennt diesen Teil „encoder-decoder attention“. Attention Is All You Need, §3.2.3.
Für jedes Query entsteht ein Ergebnis
Angenommen, der Decoder liefert zwei Query-Vektoren und der Encoder drei Key–Value-Paare. Jedes Query hat dann drei mögliche Verbindungen zur Quelle. Es entstehen zwei Ergebnisvektoren, einer pro Query-Position, nicht drei entsprechend der Encodereingabelänge.
Beim Übersetzen lässt sich dies so verstehen: Die Repräsentation des entstehenden Antwortteils bestimmt, wie Informationen aus der Repräsentation des Quellsatzes verbunden werden. Das veranschaulicht den Informationsfluss, garantiert aber nicht, dass ein einzelnes Attention-Gewicht Wörter zwischen den Sprachen korrekt zuordnet.
Die CrossAttention-Implementierung in TensorFlow übergibt Query-Sequenz und Key–Value-Kontext separat. Die Operation selbst überträgt keine Informationen direkt zwischen Query-Positionen; jede liest den Kontext.
Cross-Attention kann Multi-Head Attention verwenden. „Cross“ bezeichnet die Repräsentationsquellen, „multi-head“ mehrere Projektionssätze. Die zwei Sequenzen müssen nicht aus zwei unabhängig trainierten Modellen stammen: Encoder und Decoder können Teile eines Modells sein.