Multi-Head Attention
Eine einzige Zusammenstellung von Informationen kann verschiedene Beziehungen im Satz zu stark vermischen. Beim Übersetzen können zugleich Verbindungen zwischen Personen, Zeit und grammatischer Form nützlich sein. Wir möchten dem Modell erlauben, mehrere unterschiedliche Arten der Verknüpfung desselben Kontexts zu berechnen.
Multi-Head Attention (MHA) führt mehrere Attention-Berechnungen aus, die Köpfe genannt werden. Jede verwendet ihre eigenen gelernten Umwandlungen der Beschreibungen Query, Key und Value: Zahlenlisten für den Abgleich und die Weitergabe von Informationen. Alle können mit denselben Tokens, also Textstücken, arbeiten.
Im veranschaulichenden Modell liefern drei Köpfe jeweils vier Zahlen. Ihre Ergebnisse werden nebeneinander zu einer Liste von zwölf Zahlen zusammengestellt und anschließend gemeinsam umgewandelt. Es ist weder eine einfache Abstimmung noch der Mittelwert dreier Antworten.
Die Konstruktion erlaubt unterschiedliche Mischmuster, weist aber nicht im Voraus Rollen wie „Grammatikkopf“ oder „Zeitkopf“ zu. Was ein Kopf tatsächlich gelernt hat, muss geprüft werden. Self-attention legt die Datenquelle fest, MHA dagegen die Zahl paralleler Berechnungssätze; beide Begriffe können zusammen auftreten.
Mechanismus und Details
Im Transformer führen die einzelnen Köpfe Scaled Dot-Product Attention aus. Ihre Ergebnisse werden anschließend durch Konkatenation, also das Nebeneinanderstellen der Vektoren, verbunden und durch eine gemeinsame Ausgabeprojektion transformiert. Dies ist kein einfaches Mitteln der Ergebnisse. Beschreibung und Implementierung: Dive into Deep Learning, §11.5.
Mehrere Gewichtssätze für dieselbe Sequenz
In einem beispielhaften Aufbau hat die Repräsentation 12 Koordinaten und drei Köpfe liefern je vier. Die Konkatenation ergibt 12 Koordinaten, die die Ausgabeprojektion weiter mischen kann. Jeder Kopf berechnet eigene Gewichte für die verfügbaren Positionen. Der Satz muss nicht in drei getrennte Abschnitte zerlegt werden: Die Repräsentationsprojektionen unterscheiden sich, nicht zwingend die Tokenmengen.
Der Mechanismus ermöglicht die parallele Nutzung unterschiedlicher Beziehungen, schreibt aber keine Rollen wie „dieser Kopf ist für Grammatik zuständig“ vor. Das konkrete Verhalten entsteht durch Training und muss geprüft werden.
MHA und Self-Attention beschreiben unterschiedliche Berechnungseigenschaften. Ersteres bezeichnet mehrere Köpfe, Letzteres die Herkunft von Query, Key und Value aus derselben Sequenz. Beide können zusammen auftreten. In der ursprünglichen Architektur wurde MHA auch zwischen Encoder und Decoder eingesetzt. Vaswani et al., §3.2.2–3.2.3.
Siehe auch: Multi-Query Attention teilt einen K/V-Satz zwischen Query-Köpfen, Grouped-Query Attention teilt K/V innerhalb von Gruppen.