Multi-Head Attention
Jedno zestawienie informacji może zbyt mocno mieszać różne relacje w zdaniu. Przy tłumaczeniu przydatne mogą być jednocześnie powiązania między osobami, czasem i formą gramatyczną. Chcemy pozwolić modelowi obliczać kilka różnych sposobów łączenia tego samego kontekstu.
Multi-Head Attention (MHA) wykonuje kilka obliczeń attention, zwanych głowicami. Każda używa własnych wyuczonych przekształceń opisów query, key i value: list liczb służących do dopasowania i przekazywania informacji. Wszystkie mogą pracować na tych samych tokenach, czyli kawałkach tekstu.
W ilustracyjnym modelu trzy głowice zwracają po cztery liczby. Ich wyniki zestawia się obok siebie w listę dwunastu liczb, a następnie wspólnie przekształca. Nie jest to zwykłe głosowanie ani średnia trzech odpowiedzi.
Konstrukcja pozwala uzyskać różne wzorce mieszania, ale nie przydziela z góry ról „głowica gramatyki” czy „głowica czasu”. To, czego faktycznie nauczyła się głowica, trzeba sprawdzić. Self-attention określa źródło danych, natomiast MHA liczbę równoległych zestawów obliczeń; oba pojęcia mogą występować razem.
Mechanizm i szczegóły
W Transformer poszczególne heads wykonują Scaled Dot-Product Attention. Ich wyniki są następnie łączone przez konkatenację, czyli zestawienie wektorów obok siebie, i przekształcane wspólną projekcją wyjściową. Nie jest to zwykłe uśrednianie wyników. Opis konstrukcji i implementacja: Dive into Deep Learning, §11.5.
Kilka zestawów wag dla tej samej sekwencji
W ilustracyjnym układzie reprezentacja ma 12 współrzędnych, a trzy heads zwracają po cztery. Konkatenacja daje 12 współrzędnych, które projekcja wyjściowa może dalej mieszać. Każda head oblicza własne wagi dla dostępnych pozycji. Nie trzeba dzielić zdania na trzy rozłączne fragmenty: różnią się projekcje reprezentacji, a nie obowiązkowo zbiory tokenów.
Mechanizm umożliwia równoległe wykorzystywanie różnych relacji, ale nie narzuca ról typu „ta head odpowiada za gramatykę”. Konkretne zachowanie wynika z uczenia i wymaga sprawdzenia.
MHA i Self-attention opisują różne cechy obliczenia. Pierwsze mówi o wielu heads, drugie o pochodzeniu query, key i value z tej samej sekwencji. Mogą występować razem. W oryginalnej architekturze MHA zastosowano również między encoderem a decoderem. Vaswani et al., §3.2.2–3.2.3.
Zobacz także: Multi-Query Attention współdzieli jeden zestaw K/V między query heads, a Grouped-Query Attention współdzieli K/V wewnątrz grup.