Magyarázd el a skálázott pontszorzat figyelmet képletét. Miért osztunk sqrt(d_k)-val?
sobes.tech MI
Válasz az MI-től
A skálázott pontszorzású figyelem egy figyelmi mechanizmus, amely a szekvencia elemeihez súlykoefficienseket számít a kérdések (Q) és kulcsok (K) skaláris szorzatán alapulva. A képlet így néz ki:
[ \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) V ]
Itt:
- Q — kérdőmátrix,
- K — kulcsmátrix,
- V — értékmátrix,
- (d_k) — a kulcsvektorok dimenziója.
A (\sqrt{d_k}) szerinti osztás szükséges a skaláris szorzat eredményének skálázásához. Enélkül az értékek túl nagyok lehetnek magas dimenziókban, ami a softmax függvény nagyon nagy argumentumait eredményezi. Ez a "csökkenő gradiens" problémáját okozza — a softmax nagyon "szigorúvá" válik, szinte egy elem kapja a 1 súlyt, a többi pedig szinte 0, ami rontja a tanulást. A skálázás stabilizálja a gradiensokat és javítja a modell konvergenciáját.