Robocikowo>ROBOCIKOWO

Sieci neuronowe od podstaw do nowoczesnej AI · Mechanizm uwagi i Transformer

Self-attention — Query, Key, Value i scaled dot-product attention

Mechanizm uwagi i Transformer

Wprowadzenie

Scaled dot-product attention (Vaswani et al. 2017) to operacja: Attention(Q, K, V) = softmax(Q·K^T / √d_k) · V. Trzy macierze Q, K, V powstają przez liniowe projekcje wejścia X przez uczone wagi W_Q, W_K, W_V — każdy token ma trzy role: pyta (query), jest pytany (key), wnosi treść (value). W self-attention Q, K, V pochodzą z tej samej sekwencji X (różne projekcje); w cross-attention Q z jednej, K i V z drugiej. Trzy kluczowe pytania techniczne: (1) Dlaczego dot-product? — szybki na GPU jako jedna macierz Q·K^T, w odróżnieniu od additive attention Bahdanau, które wymaga osobnego MLP. (2) Dlaczego skalowanie przez √d_k? — bez tego dla dużego d_k iloczyn skalarny ma wariancję rosnącą z d_k, softmax wpada w region nasycenia (≈ argmax), a gradienty zanikają. Skalowanie utrzymuje wariancję ≈ 1, softmax pozostaje "miękki". (3) Dlaczego osobne Q i K, a nie symetryczna matrix? — pozwala wyrazić relacje asymetryczne ("od tego patrz na tamto" ≠ "od tamto patrz na to"). Output to ważona suma value: każdy query patrzy na wszystkie keys, dostaje rozkład prawdopodobieństwa α_i = softmax_i(score), bierze Σ α_i v_i. To różniczkowalny lookup po sekwencji. Złożoność: O(n^2 · d_k) na macierz uwagi, O(n^2) pamięci — fundamentalne ograniczenie skalowania, motywacja FlashAttention (Dao 2022) i wariantów efficient attention.