Sobes.tech
Middle — Senior

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.