Sobes.tech
Middle — Senior

Explique a fórmula de atenção por produto escalar escalado. Por que dividir por sqrt(d_k)?

sobes.tech IA

Resposta da IA

A atenção por produto escalar escalada é um mecanismo de atenção que calcula os coeficientes de peso para os elementos de uma sequência com base nos produtos escalares de consultas (Q) e chaves (K). A fórmula é:

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

Aqui:

  • Q — matriz de consultas,
  • K — matriz de chaves,
  • V — matriz de valores,
  • (d_k) — dimensão dos vetores de chaves.

A divisão por (\sqrt{d_k}) é necessária para escalar o resultado do produto escalar. Sem essa etapa, os valores podem ficar demasiado grandes em dimensões altas, levando a argumentos muito grandes na função softmax. Isso causa o problema de "gradientes que desaparecem" — softmax torna-se muito "rígido", quase um elemento recebe peso 1, e os outros quase 0, prejudicando o treino. A escalada estabiliza os gradientes e melhora a convergência do modelo.