Search
Generic filters
Exact matches only
Filter by Custom Post Type
Zkuste vyhledat např.   Gramatika, Čeština, Pravopis

Mechanismus pozornosti

Hello 0

Mechanismus pozornosti (anglicky attention) je způsob, jakým neuronová síť při zpracování jednoho slova zváží, která ostatní slova ve větě jsou pro jeho význam důležitá. Stojí na něm transformer i dnešní jazykové modely typu GPT a BERT. Popsali ho Vaswani a kolektiv v práci Attention Is All You Need z roku 2017.

Pozornost řeší starý problém: význam slova závisí na okolí. Ve větě „koupil jsem si myš k počítači“ určuje slovo „počítač“, že „myš“ není zvíře. Tenhle princip poprvé použil Bahdanau se spoluautory už v roce 2014 pro strojový překlad, transformer ho pak roku 2017 postavil do středu sítě.

Starší sítě, například rekurentní LSTM, četly větu slovo po slovu a vzdálené souvislosti jim unikaly. Pozornost tenhle postup nahradila. Každé slovo se naráz porovná se všemi ostatními a dostane od nich různě silný příspěvek podle toho, jak spolu souvisejí. Podrobný popis celé sítě má samostatné heslo transformerová architektura, tady jde o samotný výpočet pozornosti.

Každý token si spočítá dotaz, klíč a hodnotu

Vstupní text se rozdělí na tokeny a každý token dostane svůj číselný vektor, takzvaný embedding. Z tohoto vektoru si model třemi naučenými maticemi spočítá 3 nové vektory: dotaz (query, Q), klíč (key, K) a hodnotu (value, V).

Přirovnání pomůže. Dotaz je otázka, kterou token klade ostatním: „koho z vás potřebuju?“. Klíč je visačka, kterou se každý token nabízí. Hodnota je obsah, který token předá dál, když si ho někdo vybere. Této variantě, kde Q, K i V pocházejí ze stejné věty, se říká self-attention, tedy pozornost sama na sebe. Trojici Q, K, V převzali autoři z databází, kde se roku 2017 stala základem transformeru.

Skalární součin a softmax určí váhy pozornosti

Model spočítá skalární součin dotazu jednoho tokenu s klíčem každého dalšího. Vyšší součin znamená, že se dvojice k sobě hodí. Tato surová čísla pak projdou funkcí softmax, která je převede na váhy mezi 0 a 1, jež dohromady dávají 1.

Výsledná hodnota tokenu je vážený součet hodnot (V) všech tokenů, kde váhu určila právě softmax. Token si tak přitáhne nejvíc z těch, které jsou pro něj podle klíčů důležité. Celý postup Vaswani roku 2017 popsal jedním vzorcem, kterému se říká scaled dot-product attention.

Attention(Q, K, V) = softmax(Q · Kᵀ / √d_k) · V.

Dělení odmocninou z d_k drží softmax stabilní

Ve vzorci se skalární součin dělí odmocninou z d_k, což je rozměr vektoru klíče. Bez tohoto dělení by u velkých vektorů vycházela hodně velká čísla. Softmax by pak skoro celou váhu 1 přidělil jedinému tokenu a ostatním nechal skoro nulu.

To má praktický důsledek při učení. Když softmax vydá hodnoty blízké 0 a 1, jeho gradient je nepatrný a síť se přestává učit. Dělení odmocninou z d_k drží čísla v rozumném rozsahu a učení běží dál. Autoři proto metodu pojmenovali „scaled“, tedy škálovaná.

Více hlav sleduje víc typů vztahů naráz

Jeden výpočet pozornosti zachytí jeden druh vztahu mezi slovy. Věta jich ale nese víc: kdo s kým souhlasí gramaticky, co na co navazuje významem, co se k čemu vztahuje časově. Proto Vaswani pustil několik výpočtů pozornosti souběžně a každému říká hlava (head).

Původní práce z roku 2017 použila 8 paralelních hlav. Každá má vlastní matice pro Q, K a V, takže se dívá na jiný typ souvislosti. Výstupy hlav se spojí a společně dají bohatší obraz věty. Této variantě se věnuje heslo multi-head attention.

Maskovaná pozornost brání modelu koukat dopředu

Když model text jen čte a rozumí mu, smí se každý token dívat na všechny ostatní, dozadu i dopředu. To využívá enkodér, například v modelu BERT.

Při generování textu je to jinak. Model, který píše slovo po slovu, nesmí vidět slova, která teprve přijdou, jinak by podváděl. Proto se u něj budoucí tokeny zakryjí a jejich váha se nastaví na nulu. Tomu se říká jednosměrná pozornost nebo maskovaná pozornost a používá ji dekodér modelů řady GPT.

Kvadratická náročnost omezuje délku kontextu

Pozornost porovná každý token s každým, takže při 1000 tokenech spočítá zhruba milion dvojic. Výpočet i paměť tak rostou s druhou mocninou délky textu. Odtud plyne, proč mají modely omezené kontextové okno a proč se delší kontext prodražuje.

Právě kvůli této náročnosti vzniká řada úprav, které pozornost zlevňují, třeba tím, že se každý token porovná jen s částí ostatních, jak to dělá model Longformer. Cílem je udržet přínos pozornosti a přitom zvládnout delší vstupy, jaké potřebují dnešní velké jazykové modely.

Nejčastější omyly kolem pozornosti

  • Zaměňování pozornosti za paměť – pozornost neukládá nic natrvalo, během jednoho průchodu jen zváží vztahy mezi tokeny. Co je mimo kontextové okno, model nevidí, podobně jako GPT zapomene starší část chatu.
  • Představa, že hlavy mají pevné role – někdy se tvrdí, že jedna hlava dělá gramatiku a jiná význam. Rozdělení rolí ale není předem dané, model si ho sám najde při učení a u každé z 8 hlav vypadá jinak.
  • Záměna pozornosti a celého transformeru – pozornost je jádro, ale ne celá síť. Kolem ní pracují ještě dopředné vrstvy, normalizace a reziduální spoje s principem převzatým z ResNet, bez nichž by transformerová architektura nefungovala.

S čím se pozornost často nesprávně zaměňuje

Embedding je číselný vektor, který zachycuje význam jednoho tokenu; u modelu BERT má 768 čísel. Pozornost s embeddingy pracuje, ale sama jimi není. Embedding je vstup, pozornost je výpočet, který z nich udělá vektory citlivé na okolí.

Multi-head attention není jiný mechanismus, jen pozornost puštěná v několika hlavách naráz, v základním transformeru jich je 8. Základní jednotkou zůstává jeden výpočet Q, K a V popsaný výše.

Související pojmy

  • Transformer – síť postavená na pozornosti, kterou zavedla práce z roku 2017.
  • Transformerová architektura – celé uspořádání sítě kolem pozornosti.
  • Multi-head attention – pozornost v několika paralelních hlavách.
  • Jednosměrná pozornost – maskovaná varianta pro generování textu.
  • Token – jednotka textu, mezi kterými se pozornost počítá.
  • Embedding – vstupní vektor tokenu, z něhož vznikají Q, K a V.
  • Kontextové okno – rozsah tokenů, přes který pozornost dosáhne.
  • Enkodér – část sítě s obousměrnou pozorností přes celý vstup.
  • Velký jazykový model – model, jehož jádrem je pozornost.
  •  
  •  
  •  
  •  

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

*

Ostatní uživatelé také četli:

Slot7 Casino je místo, kde se dá hrát automaty zdarma i za peníze, a kde si každý najde rytmus, který sedí. Rychlý start v Slot7 Casino Krátké uvedení do děje, ať se nezdržuješ. Slot7 Casino sází na přehlednost a rychlou registraci. Před prvním zatočením v Slot7 Casino Ověření účtu je otázka minut, e-mail dorazí hned....

Ženské jméno Rút je hebrejského původu, vyskytuje se také v Bibli. V hebrejštině se jméno vyskytuje jako Rut a vykládá se jako přítelkyně. Další varianty jména jsou také Rut či Ruth. Kdy slaví Rút svátek?Rút slaví, podle českého občanského kalendáře, svátek 14. března (14.3.).Domácké podoby jména RútRúta,Rútka,Rútička,Rútinka,Rutuška,Rút a statistikaKolik žije v ČR RútK 14. 3....

Nevíte, jak na počítači napsat hranaté závorky? Existují dva základní způsoby, které vám názorně vysvětlím. S hranatými závorkami se setkáte například při psaní výslovnosti nějakého slova. Jak napsat hranatou závorku přes Alt Gr Hranatá závorka zleva Stiskněte pravý Alt + klávesu s písmenem F.   Hranatá závorka zprava Stiskněte pravý ALt + klávesu s písmenem...

Mužské jméno Roman je latinského původu, překládá se jako Říman. Kdy slaví Roman svátek?Roman slaví, podle českého občanského kalendáře, svátek 9. srpna (9.8.).Ženská podoba jména RomanŽenskou podobou jména Roman je Romana.Domácké podoby jména RomanRománek,Romča,Romík,Romek,Romíček.Roman a statistikaKolik žije v ČR Romanů K 9. 9. 2022 žije v České republice 67 754 lidí se jménem Roman.Oblíbenost jména...

Přemýšlíte nad tím, jaký je rozdíl ve slovech sdělit a zdělit? Zásadní. Slovo sdělit pište vždy jen s písmenem s. Správně je sdělitSdělit ve smyslu oznámit někomu něco píšeme vždy se s. Neexistuje zde bohužel žádné pravidlo, podle kterého byste si to mohli zapamatovat. Zkrátka to tak je. Pokud někde uvidíte z, můžete si být...

Egypt je často navštěvovanou destinací na severu Afriky. Je to bývalá země faraonů.  ✅ Egypt – správná varianta. Pravopis si můžeme odvodit od toho, že g je tvrdá souhláska, tudíž píšeme s y.❌ Egipt – nesprávně gramaticky psaná varianta.Skloňování slova Egyptpád – Egyptpád – (bez) Egyptu/Egypta (správné jsou obě varianty, můžeme skloňovat buď podle vzoru hrad nebo...

Harrachov je město a horské středisko v Krkonoších. Rozkládá se pod Čertovou horou v údolí říčky Mumlavy. Leží v okrese Jablonec nad Nisou v Libereckém kraji. Území města přímo sousedí s Polskem, s nímž je spojeno železnicí a silnicí. Město se skládá ze čtyř částí: vlastního Harrachova, Mýtin, Nového Světa a Ryžoviště. Žije zde přibližně 1 300 obyvatel. ✅ Harrachov – ve slově Harrachov se píšou dvě r a na konci v. Zdůvodnit...

Ženské jméno Erika je skandinávského původu. Jedná se o ženský protějšek mužského křestního jména Erik. V japonském přepisu kanji jméno Erika může znamenat blažená, květina a půvab. Latinská podoba Erica znamená vřes. Kdy slaví Erika svátek?Erika slaví, podle českého občanského kalendáře, svátek 2. dubna (2.4.).Mužská obdoba jménaMužská obdoba jména je Erik.Domácí podoby jména ErikaErča,Erička,Erinka.Erika a...

Hodina Země je mezinárodní akce, jejím cílem je upozornit na změnu klimatu poměrně atraktivním způsobem. Během Hodiny Země mají jednotlivci, obce i organizace zhasnout na dobu jedné hodiny (od 20:30 do 21:30) všechna světla. Akce byla založena Světovým fondem na ochranu přírody (WWF). Kdy se Hodina Země koná?Akce se pořádá vždy poslední sobotu v březnu.V...
Načíst dalších 10 článků