Sobes.tech
Middle — Senior

Explica la fórmula de atención por producto punto escalado. ¿Por qué dividir por sqrt(d_k)?

sobes.tech AI

Respuesta de la IA

La atención por producto punto escalada es un mecanismo de atención que calcula los coeficientes de peso para los elementos de una secuencia en función de los productos escalares de las consultas (Q) y las claves (K). La fórmula es:

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

Aquí:

  • Q — matriz de consultas,
  • K — matriz de claves,
  • V — matriz de valores,
  • (d_k) — dimensión de los vectores de claves.

La división por (\sqrt{d_k}) es necesaria para escalar el resultado del producto escalar. Sin este paso, los valores pueden volverse demasiado grandes en dimensiones altas, lo que lleva a argumentos muy grandes en la función softmax. Esto causa el problema de "gradientes que se atenúan" — softmax se vuelve muy "estricto", casi un elemento recibe peso 1, y los demás casi 0, lo que deteriora el entrenamiento. La escalación estabiliza los gradientes y mejora la convergencia del modelo.