====== Attention Mechanism (Mechanismus pozornosti) ====== **Attention mechanism** je technika, která umožňuje neuronové síti zaměřit se na konkrétní, relevantní části vstupních dat při generování výstupu. Místo toho, aby se model snažil komprimovat celou větu do jednoho fixního vektoru (jako to dělaly [[it_encyklopedie:rekurentni_neuronova_sit|RNN]]), "dívá" se v každém kroku na všechna vstupní slova a přiřazuje jim různou váhu (důležitost). Tento koncept byl poprvé představen pro strojový překlad, ale stal se základem pro celou revoluci [[it_encyklopedie:transformer|Transformerů]]. ===== 1. Proč pozornost vznikla? (Problém úzkého hrdla) ===== U starších modelů typu Encoder-Decoder musel kodér (Encoder) "nacpat" význam celé věty do jednoho vektoru pevné délky. U dlouhých vět docházelo ke ztrátě informací. Mechanismus pozornosti tento problém řeší tak, že dekodér má přístup ke **všem** mezistavům kodéru. Pro každé generované slovo si sám "vybere", které slovo ze vstupu je pro něj v danou chvíli nejdůležitější. ===== 2. Jak to funguje: Dotaz, Klíč a Hodnota ===== Moderní mechanismus pozornosti (Scaled Dot-Product Attention) pracuje se třemi vektory pro každý prvek: * **Query (Dotaz - Q):** Co hledám? (Aktuální slovo, které zpracovávám). * **Key (Klíč - K):** Co nabízím? (Index všech slov ve větě, ke kterým se mohu vztáhnout). * **Value (Hodnota - V):** Co je obsahem? (Informace, kterou si odnesu, pokud se shoduje dotaz s klíčem). Výpočet probíhá tak, že se porovná **Dotaz** se všemi **Klíči**, čímž vznikne skóre (váha). Touto váhou se pak vynásobí **Hodnoty**. ===== 3. Self-Attention (Sebepozornost) ===== Zásadním typem je **Self-Attention**. Zde se slova v rámci jedné věty dívají na ostatní slova ve stejné větě, aby pochopila vzájemný kontext. **Příklad:** Mějme větu: //"Pes nepřešel ulici, protože byl příliš **unavený**."// Při zpracování slova "unavený" mechanismus pozornosti přiřadí vysokou váhu slovu "pes". Model tak pochopí, že "unavený" se vztahuje k psovi, nikoliv k ulici. ===== 4. Multi-Head Attention ===== V praxi se nepoužívá jen jedna "hlava" pozornosti, ale hned několik paralelně (**Multi-Head Attention**). Každá hlava se může učit jiné typy vztahů: * Jedna hlava sleduje gramatickou strukturu (podmět - sloveso). * Druhá hlava sleduje věcné souvislosti (kdo, s kým, kde). * Třetí hlava sleduje rýmy nebo specifické vzorce. ===== 5. Hlavní výhody ===== * **Paralelizace:** Na rozdíl od RNN, kde musíte čekat na předchozí slovo, Attention umožňuje zpracovat všechna slova najednou. To dramaticky zrychluje trénování na GPU. * **Dlouhé závislosti:** Pozornost má "přímé spojení" na jakékoliv slovo v minulosti, bez ohledu na to, jak je věta dlouhá. * **Interpretovatelnost:** Můžeme si vykreslit grafy pozornosti a vidět, na co se model při rozhodování skutečně "díval". > **Zajímavost:** Článek z roku 2017, který tento koncept proslavil, se jmenuje **"Attention Is All You Need"**. Autoři v něm dokázali, že k vytvoření špičkového modelu nepotřebujete žádné rekurentní ani konvoluční vrstvy – stačí vám jen mechanismus pozornosti. [[it_encyklopedie:ai_rozcestnik|Zpět na AI rozcestník]]