mechanizm uwagi

Mechanizm uwagi to technika w sieciach neuronowych, która pozwala modelowi skupić się na najbardziej istotnych częściach danych wejściowych podczas generowania danych wyjściowych.

Mechanizm uwagi to technika stosowana głównie w modelach głębokiego uczenia, szczególnie w zadaniach typu sekwencja-do-sekwencji, takich jak tłumaczenie maszynowe, streszczanie tekstu i opisywanie obrazów. Rozwiązuje on ograniczenie tradycyjnych modeli (jak podstawowe RNN), które mają trudności z obsługą długich sekwencji wejściowych poprzez kompresję wszystkich informacji do wektora kontekstu o stałym rozmiarze. Uwaga pozwala modelowi dynamicznie skupiać się na określonych częściach sekwencji wejściowej podczas generowania każdej części sekwencji wyjściowej. Architektonicznie obejmuje obliczanie 'wyników uwagi' między bieżącym stanem dekodera a każdym elementem zakodowanej sekwencji wejściowej. Wyniki te są następnie normalizowane (często za pomocą funkcji softmax) w celu uzyskania 'wag uwagi'. Suma ważona elementów wejściowych, wykorzystująca te wagi, tworzy wektor kontekstu, który jest specyficzny dla bieżącego kroku dekodowania. Pozwala to modelowi 'zwracać uwagę' na najbardziej istotne informacje wejściowe, poprawiając wydajność w zadaniach wymagających zrozumienia zależności długodystansowych. Kompromisy obejmują zwiększoną złożoność obliczeniową i zużycie pamięci w porównaniu do modeli bez uwagi, ale zyski w dokładności i zdolność do obsługi dłuższych sekwencji są często znaczące.

        graph LR
  Center["mechanizm uwagi"]:::main
  Pre_deep_learning["deep-learning"]:::pre --> Center
  click Pre_deep_learning "/terms/deep-learning"
  Pre_linear_algebra["linear-algebra"]:::pre --> Center
  click Pre_linear_algebra "/terms/linear-algebra"
  Rel_transformer_architecture["transformer-architecture"]:::related -.-> Center
  click Rel_transformer_architecture "/terms/transformer-architecture"
  Rel_context_window["context-window"]:::related -.-> Center
  click Rel_context_window "/terms/context-window"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Sprawdzenie wiedzy

1 / 3

🧒 Wyjaśnij jak 5-latkowi

To tak, jakbyś czytał długą historię i spoglądał z powrotem na konkretne zdanie, które przeczytałeś wcześniej, aby pomóc sobie zrozumieć, co dzieje się teraz.

🤓 Expert Deep Dive

Mechanizmy uwagi fundamentalnie usprawniają modelowanie sekwencji, umożliwiając pobieranie informacji o zmiennej długości i zależnych od kontekstu. Architektonicznie wprowadzają paradygmat zapytanie-klucz-wartość (QKV). Bieżący stan dekodera zazwyczaj służy jako zapytanie, podczas gdy stany ukryte kodera działają jako klucze i wartości. Wynik zgodności między zapytaniem a każdym kluczem określa wagę uwagi za pomocą funkcji punktacji (np. iloczyn skalarny, addytywny). Ten rozkład wag pozwala modelowi obliczyć wektor kontekstu jako sumę ważoną wartości, skutecznie pobierając istotne informacje. Samouwaga (self-attention), stosowana w Transformerach, stosuje ten mechanizm nie tylko między enkoderem a dekoderem, ale także wewnątrz samej sekwencji wejściowej, pozwalając modelowi ważyć znaczenie różnych słów względem siebie. Ta możliwość równoległego obliczenia i zdolność do wychwytywania zależności długodystansowych bez rekurencji są kluczowymi zaletami architektonicznymi. Podatności mogą wynikać z ataków adwersarialnych manipulujących wzorcami uwagi lub uprzedzeń nauczonych na zniekształconych rozkładach danych.

🔗 Powiązane terminy

Wymagana wiedza:

📚 Źródła