L'attention des transformers

chaque mot pose une question, tous les mots répondent, et la réponse est une moyenne pondérée

1 · DÉFINITION

$$\mathrm{Attention}(Q,K,V)=\mathrm{softmax}\!\Big(\frac{QK^\top}{\sqrt{d_k}}\Big)V, \qquad Q=XW_Q,\ \ K=XW_K,\ \ V=XW_V$$
$$\text{pour une requête } q_i :\quad \alpha_{ij}=\frac{\exp\!\big(q_i^\top k_j/(\sqrt{d_k}\,T)\big)}{\sum_{l}\exp\!\big(q_i^\top k_l/(\sqrt{d_k}\,T)\big)}, \qquad o_i=\sum_j\alpha_{ij}\,v_j$$

2 · À TOI : DÉPLACE LA REQUÊTE

requêtes et clés (\(d_k=2\)) : glisse la requête \(q_i\) du mot choisi
valeurs : la sortie \(o_i\) est le barycentre des \(v_j\) de poids \(\alpha_{ij}\)

Clique un mot (barres ou ligne de la matrice) pour choisir la requête. Tourner \(q_i\) change les mots qui répondent ; l'éloigner de l'origine rend l'attention plus tranchée. Pointillé : la droite des clés qui auraient le même score que la meilleure. Flèches ← → : tourner, ↑ ↓ : allonger. Les vecteurs sont fixés à la main (\(d=2\)) pour être lisibles, comme s'ils sortaient de \(W_Q,W_K,W_V\) appris.

3 · RAPPELS

4 · CE QUE PRODUIT L'ATTENTION