Dla każdego kroku t dekodera mechanizm wykonuje trzy operacje: (1) dla każdego ukrytego stanu enkodera h_j i poprzedniego stanu dekodera s_{t-1} oblicza skalarny score wyrównania e_{t,j} = v^T · tanh(W_a · s_{t-1} + U_a · h_j) — jest to mała sieć MLP z jedną warstwą ukrytą; (2) wyniki są normalizowane przez softmax do wag alignment α_{t,j}; (3) wektor kontekstu c_t = Σ_j α_{t,j} · h_j jest podawany do dekodera obok poprzedniego tokenu i stanu, aby wyprodukować następny token. Wszystkie parametry (W_a, U_a, v) są uczone end-to-end razem z enkoderem i dekoderem.
W standardowej architekturze encoder–decoder opartej na RNN całe zdanie źródłowe jest kompresowane do jednego wektora o stałej długości, co stanowi wąskie gardło informacyjne — szczególnie dla długich zdań — i prowadzi do gwałtownego spadku jakości tłumaczenia wraz ze wzrostem długości wejścia.
Mała sieć feed-forward z jedną warstwą ukrytą i aktywacją tanh, która produkuje skalarny score wyrównania dla każdej pary (stan dekodera, stan enkodera).
Oficjalna
Normalizuje wektor scores do rozkładu prawdopodobieństwa po wszystkich pozycjach źródłowych — wagi alignment α_{t,j}.
Ważona suma ukrytych stanów enkodera, podawana do dekodera jako dodatkowe wejście przy generowaniu kolejnego tokenu.
W oryginalnym papierze enkoder jest bidirectional GRU; jego ukryte stany h_j są wejściem do mechanizmu atencji.
Oficjalna
MLP z tanh dla każdej pary (decoder, encoder) jest droższy niż czysty iloczyn skalarny stosowany w Luong/Transformer.
Mechanizm jest osadzony w rekurencyjnym dekoderze — kroki nie mogą być sparalelizowane w czasie, co ogranicza skalowanie na GPU.
Pierwsza wersja papieru wprowadzającego mechanizm atencji w NMT.
Praca przyjęta jako oral na ICLR 2015 — szybkie rozpowszechnienie idei w społeczności.
Luong, Pham i Manning proponują warianty atencji multiplicative (dot, general, concat) jako uproszczenie i wzbogacenie Bahdanau Attention.
Vaswani et al. rezygnują z RNN, opierając całą architekturę wyłącznie na scaled dot-product self-attention — bezpośrednia kontynuacja linii rozpoczętej przez Bahdanau Attention.
Złożoność czasowa: O(T_x · T_y · d). Złożoność przestrzenna: O(T_x · T_y).
Każdy krok dekodera wykorzystuje wszystkie pozycje źródłowe (soft attention).
Ponieważ Bahdanau Attention jest osadzona w rekurencyjnym dekoderze (RNN/GRU), generowanie tokenów jest sekwencyjne; sama operacja atencji w danym kroku t może być wektoryzowana po pozycjach źródłowych, ale kroki dekodera muszą biec po kolei.
Wymiar warstwy ukrytej w sieci scoring (typowo równy wymiarowi stanu enkodera).
Wymiar ukrytych stanów enkodera (RNN/GRU bidirectional).
Operacje są macierzowe, ale sekwencyjność dekodera RNN ogranicza wykorzystanie tensor cores w porównaniu z czystym Transformerem.
Sam mechanizm to małe MLP + softmax — działa na praktycznie dowolnym akceleratorze obsługującym standardowe operacje sieci neuronowych.