Attention Visualizer
Über diese App
Self-Attention sichtbar: Query, Keys, softmax(QKᵀ/√d)·V, fünf spezialisierte Köpfe, Matrix-Heatmap mit kausaler Maske, zweite Schicht und eine Rechnung von Hand mit drei Tokens.
Wie Attention rechnet
Self-Attention ist der Kern des Transformers. Jedes Token bringt drei Vektoren mit: eine Query („was suche ich?“), einen Key („was biete ich an?“) und einen Value („mein Inhalt“). Die Query wird per Skalarprodukt mit den Keys aller erlaubten Tokens verglichen, durch √d_k geteilt und per Softmax in Gewichte umgerechnet, die sich zu 1 addieren. Die Ausgabe ist der gewichtete Mittelwert der Values: Attention(Q, K, V) = softmax(QKᵀ/√d_k)·V. In GPT-artigen Modellen verbietet eine kausale Maske den Blick auf spätere Tokens.
Was die App zeigt
In der 3D-Ansicht steht ein Beispielsatz als Reihe von Tokens; Bögen zeigen die Attention-Zeile des gewählten Query-Tokens, ihre Dicke ist das Gewicht. Fünf idealisierte Heads lassen sich einzeln schalten: Vorgänger, Satzanfang als Senke, Syntax, Bezug (etwa „es“ → „Tier“) und Inhaltswörter. Eine Heatmap zeigt die ganze Matrix, mit kausaler Maske ist das obere Dreieck gesperrt. Eine zweite Schicht mischt bereits gemischte Vektoren. Der Modus „Von Hand rechnen“ rechnet das Beispiel „the cat sat“ mit d_k = 2 in sechs Schritten exakt nach.
Selbst ausprobieren
Wähle einen der fünf Beispielsätze und wandere mit der Query-Position durch den Satz. Schalte Heads einzeln ein und aus und sieh, wie sich Matrix und Bögen ändern. Nimm die kausale Maske weg: Dann sieht jedes Token auch nach rechts, wie in einem Encoder wie BERT, und die Vorhersage des nächsten Wortes wäre geschummelt. Im Handrechen-Modus ziehst du die Spitze des Query-Vektors und schaltest die Teilung durch √d_k ab; ohne sie werden die Gewichte schärfer.
Häufige Fragen
- Was ist Self-Attention?
- Self-Attention ist ein Mechanismus, mit dem jedes Token einer Folge Informationen aus anderen Tokens derselben Folge aufnimmt. Dazu wird seine Query mit den Keys aller Tokens verglichen, und die Values werden entsprechend gewichtet gemittelt. Das Ergebnis ist ein kontextangereicherter Vektor für jedes Token.
- Warum teilt man in der Attention durch √d_k?
- Skalarprodukte zwischen zufälligen Vektoren wachsen in ihrer Streuung mit der Dimension d_k. Ohne Teilung würden die Scores bei großem d_k sehr groß, und die Softmax würde fast ihr ganzes Gewicht auf ein Token legen. Die Teilung durch √d_k hält die Varianz etwa bei 1 und die Gewichte weicher.
- Was macht die kausale Maske in GPT?
- Die kausale Maske setzt alle Scores für Tokens rechts von der aktuellen Position auf −∞, sodass sie nach der Softmax das Gewicht 0 bekommen. So kann ein Modell beim Training das nächste Wort nicht vorab sehen. Encoder-Modelle wie BERT verzichten darauf und sehen den ganzen Satz.
- Was kann ich in dieser App ausprobieren?
- Du wählst Satz, Query-Token und aktive Heads und siehst die Attention als 3D-Bögen und als Matrix. Du schaltest Maske und zweite Schicht und rechnest im Handrechen-Modus jeden Schritt von den Skalarprodukten bis zur gewichteten Summe nach.
Fach: Neuronale Netze
Mehr aus Neuronale Netze
- Agenten-Schleife
- Backpropagation — Schuld rückwärts
- Basin of Attraction
- Dein Beruf unter KI
- Die Temperatur-Schraube
- Diffusionsmodell — Bilder aus Rauschen (3D)
- Embedding Space Explorer (3D)
- Gradient Descent (3D)
Eine VisuApp von heyprof: interaktiv, kostenlos im Browser, ohne Anmeldung. Was ist eine VisuApp? · Alle Apps