Sieci neuronowe od podstaw do nowoczesnej AI · Mechanizm uwagi i Transformer
Multi-head attention i positional encoding
Mechanizm uwagi i Transformer
Wprowadzenie
Multi-head attention rozszerza pojedynczą operację scaled dot-product na h równoległych "głów". Wejście X projektowane jest h razy do trzech reprezentacji (Q, K, V), każda o wymiarze d_k = d_v = d_model / h, każda głowa wykonuje swój własny scaled dot-product, a wyjścia są konkatenowane i przepuszczane przez końcową projekcję W_O ∈ R^{h·d_v × d_model}. Motywacja (Vaswani et al. 2017): jedna głowa musiałaby uśredniać wszystkie typy relacji w jednym rozkładzie uwagi. h głów daje sieci możliwość uczenia się różnych ról jednocześnie — jedna głowa śledzi koreferencje, inna pozycje względne, jeszcze inna zgodność syntaktyczną. Empirycznie wiele głów jest redundantnych (Voita et al. 2019, Michel et al. 2019: znaczna część głów może być przycięta bez utraty BLEU), ale h>1 daje wyraźny zysk nad h=1. Drugie zagadnienie tej lekcji: pure self-attention jest permutation-equivariant, więc bez sygnału pozycyjnego model traktuje "kot zjadł rybę" i "rybę zjadł kot" identycznie. Positional encoding rozwiązuje to dodając do embeddingu informację o pozycji. Vaswani et al. wybrali sinusoidalne kodowanie (deterministyczne, ekstrapolowalne) — dla pos i wymiaru 2i: PE(pos, 2i)=sin(pos/10000^{2i/d}), PE(pos, 2i+1)=cos(...). BERT i GPT-2 używają learned positional embeddings (tabela parametrów). Nowsze (T5, LLaMA, Mistral) korzystają z relative position bias albo Rotary Position Embeddings (RoPE, Su et al. 2021), które kodują pozycję bezpośrednio w Q i K przez rotację w przestrzeni kompleksowej — dają lepsze własności ekstrapolacji do dłuższych kontekstów. ALiBi (Press 2022) idzie jeszcze dalej: bez żadnych embeddingów, tylko liniowy bias w score zależny od odległości |i-j|.