Mechanizm uwagi krok po kroku
🎯 Po co Ci to?
To serce transformera. Jeśli zrozumiesz, że każde słowo „patrzy" na wszystkie inne jednocześnie i że robi to wiele głów naraz, reszta działu składa się w całość.
✅ Czego się nauczysz
Po tej lekcji potrafisz:
- opisać uwagę jako ocenę powiązań między wszystkimi parami tokenów;
- wyjaśnić uwagę wielogłową na przykładzie zdania o Ali i kocie;
- uniknąć mylenia uwagi modelu z ludzką uwagą;
- powiedzieć, czemu to daje paralelizm względem RNN.
🔁 Przypomnij sobie
W RNN informacja z początku zdania musi przejść przez wszystkie kroki. Tu każda para pozycji może „dogadać się" w jednym kroku warstwy.
📘 Co liczy uwaga?
Mechanizm uwagi dla każdego słowa w sekwencji ocenia jego powiązanie (w jakimś aspekcie) z każdym słowem w sekwencji — w tym z samym sobą. Nie ma jednej uwagi: jest ich wiele. Mówimy o uwadze wielogłowej (multi-head attention).
Intuicja z książki: zespół detektywów czyta to samo zdanie z różnych perspektyw. Liczba głów (często od kilkunastu do kilkudziesięciu) to liczba równoległych „perspektyw", których model uczy się z danych.
Weź zdanie:
Ala ma kota, który lubi bawić się na dworze w słoneczny dzień.
Przy czterech głowach możliwe (uproszczone) specjalizacje:
| Głowa | Skupienie |
|---|---|
| 1 | „Ala ma kota" — posiadanie |
| 2 | „kota, który lubi bawić się" — aktywność zwierzęcia |
| 3 | „na dworze" — miejsce |
| 4 | „w słoneczny dzień" — okoliczności |
Nikt nie programuje „głowa 1 = posiadanie". Po treningu różne głowy statystycznie łapią różne typy relacji. Razem dają bogatszą reprezentację niż jedna perspektywa.
Dzięki uwadze model nie tylko korzysta z osadzeń znaczeń słów, ale wyłapuje relacje w całym fragmencie. I robi to równolegle: nie czeka, aż RNN dojdzie do końca.
📐 DEFINICJA — mechanizm uwagi (self-attention): dla każdego elementu sekwencji model liczy wagi istotności względem wszystkich elementów tej samej sekwencji i buduje nową reprezentację jako ich ważoną kombinację.
Po ludzku: każde słowo rozgląda się po zdaniu i waży, kto jest dla niego ważny. Czym to NIE jest: świadome skupienie; to mnożenia i sumowania wektorów.
📐 DEFINICJA — uwaga wielogłowa (multi-head attention): kilka niezależnych „głów" uwagi równolegle; wyniki łączy się w jedną reprezentację.
📘 Opcjonalny szkic Q / K / V
W literaturze każda pozycja produkuje trzy wektory: zapytanie (query — czego szukam), klucz (key — co oferuję), wartość (value — co przekażę, gdy zostanę wybrany). Podobieństwo zapytań do kluczy ustala wagi; mieszanka wartości to nowa reprezentacja. Na maturze / w tym kursie wystarczy intuicja z głów; Q/K/V to ten sam mechanizm w żargonie inżynierskim.
💭 Pomyśl
W zdaniu „Pies gonił kota, bo on był głodny" — do kogo „on"? Jak uwaga może to rozstrzygać bez reguły gramatycznej wpisanej ręcznie?
Podpowiedź
Gramatycznie bywa niejednoznacznie. Model po treningu na miliardach zdań uczy się, że zapytanie zaimka silniej dopasowuje się do klucza „pies" w takich wzorcach. To statystyka, nie dowód logiczny — w nietypowych zdaniach może się mylić.
⚠️ Częsty błąd
Częsty błąd: „Skoro jest uwaga, model rozumie jak człowiek."
Elenchus: Czy operacja „policz wagi z iloczynów wektorów i zrób średnią ważoną" jest tym samym co rozumienie sytuacji przez osobę czytającą książkę?
🌍 Powiązania
- 16.1 — po co wyrzucono RNN.
- 16.4 — uwaga w enkoderze i dekoderze przy tłumaczeniu.
- Część V — granice „rozumienia".
📐 Definicje tej lekcji
- Self-attention — uwaga wewnątrz jednej sekwencji.
- Multi-head — wiele równoległych perspektyw.
- Q / K / V — zapytanie, klucz, wartość (szkic inżynierski).
📌 Najważniejsze w pigułce
- Każdy token waży wszystkie tokeny naraz.
- Wiele głów = wiele typów relacji naraz.
- Paralelizm zamiast pętli RNN.
- Metafora „uwagi" ≠ psychologia.
🎒 Zadania
Zadanie 16.2.1. Dla zdania o Ali wypisz trzecią relację (poza posiadaniem i miejscem), którą mogłaby łapać osobna głowa.
Pokaż rozwiązanie
Np. odniesienie „który" → „kota"; albo czynność „lubi bawić się" z wykonawcą kotem; albo czas/pogoda „w słoneczny dzień".
Zadanie 16.2.2. Wyjaśnij, dlaczego uwaga bywa droższa obliczeniowo niż jeden krok RNN (każdy z każdym), a mimo to trening bywa szybszy na GPU.
Pokaż rozwiązanie
Liczba porównań rośnie z kwadratem długości sekwencji — więcej operacji. Ale są niezależne między pozycjami w warstwie, więc GPU liczy je naraz. RNN ma mniej „równoległych" operacji, lecz długi łańcuch zależności czasowych — wall-clock dłuższy.
🔍 Sprawdź, czy umiesz
- [ ] Opisać self-attention bez wzoru.
- [ ] Wyjaśnić multi-head na przykładzie.
- [ ] Odróżnić metaforę od matematyki.
- [ ] Powiązać z paralelizmem.