Explică formula de atenție prin produs scalar scalat. De ce se împarte la sqrt(d_k)?
sobes.tech AI
Răspuns de la AI
Mecanismul de atenție cu produs scalar scalat este un mecanism de atenție care calculează coeficienții de greutate pentru elementele unei secvențe pe baza produselor scalare ale solicitărilor (Q) și cheilor (K). Formula arată astfel:
[ \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) V ]
Aici:
- Q — matricea de solicitări,
- K — matricea de chei,
- V — matricea de valori,
- (d_k) — dimensiunea vectorilor de chei.
Împărțirea la (\sqrt{d_k}) este necesară pentru a scala rezultatul produsului scalar. Fără acest pas, valorile pot deveni prea mari în dimensiuni mari, ceea ce duce la argumente foarte mari pentru funcția softmax. Acest lucru cauzează problema "gradienților care dispar" — softmax devine foarte "rigid", aproape un element primește greutatea 1, iar celelalte aproape 0, ceea ce înrăutățește antrenamentul. Scalarea stabilizează gradientele și îmbunătățește convergența modelului.