Sobes.tech
Middle — Senior

Vysvetlite vzorec škálovanej pozornosti skalárneho súčinu. Prečo deliť s sqrt(d_k)?

sobes.tech AI

Odpoveď od AI

Škálovaná bodovo-krížová pozornosť je mechanizmus pozornosti, ktorý vypočíta váhové koeficienty pre prvky sekvencie na základe skalárnych súčinov požiadaviek (Q) a kľúčov (K). Vzorec vyzerá takto:

[ \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) V ]

Tu:

  • Q — matica požiadaviek,
  • K — matica kľúčov,
  • V — matica hodnôt,
  • (d_k) — rozmer vektorov kľúčov.

Delenie (\sqrt{d_k}) je potrebné na škálovanie výsledku skalárneho súčinu. Bez tohto kroku môžu hodnoty v vysokých rozmeroch byť príliš veľké, čo vedie k veľmi veľkým argumentom funkcie softmax. To spôsobuje problém "miznúcich gradientov" — softmax sa stáva veľmi "prísny", takmer jeden prvok dostane váhu 1, ostatné takmer 0, čo zhoršuje učenie. Škálovanie stabilizuje gradienty a zlepšuje konvergenciu modelu.