🧮 Computational Mathematics

Inicio · Parte 16 — Matemática de Transformers, modelos generativos, grafos y RL

325 — Scaled dot-product attention

experto clase 5 de 20 4 horas demostración scaled_dot_product_attention

Con d = 256 y sin escalar, la softmax se satura y el gradiente desaparece.

Fórmulas

Attention(Q,K,V) = softmax(QKᵀ/√d_k)·V
Var(q·k) ≈ d·σ⁴ con entradas iid
dividir por √d_k devuelve la varianza a escala 1

Desarrollo

La atención escalada calcula la similitud entre cada consulta y cada clave mediante producto escalar, normaliza con softmax y usa los pesos resultantes para promediar los valores. Es un promedio ponderado por similitud, y toda la fórmula cabe en esa frase.

La única parte que no es evidente es el factor 1/√d_k, y su justificación es estadística. Si las componentes de q y k son independientes con varianza σ², el producto escalar de d términos tiene varianza proporcional a d, y por tanto desviación proporcional a √d. Con d = 256 eso son 16 veces más dispersión que con d = 1.

El efecto sobre la softmax es destructivo. Con puntuaciones muy dispersas, la exponencial concentra casi toda la masa en el máximo: la distribución se vuelve prácticamente one-hot, la atención deja de ser un promedio y se convierte en una selección dura. Peor aún, en esa región la softmax tiene gradiente casi nulo y el mecanismo deja de aprender.

Dividir por √d_k cancela exactamente el crecimiento. La comparación numérica lo muestra: con d = 256 sin escalar, un peso se lleva prácticamente todo y otro cae a 8e-06; con la escala, los pesos quedan repartidos y el gradiente fluye. Un solo factor en el denominador es lo que hace entrenable la arquitectura.

Ejemplo trabajado

Puntuaciones y pesos con y sin escala, en dos dimensiones.

d = 8, sin escalar:
  puntuaciones: [ 0,4204 ; −1,9767 ;  1,3619 ;  1,2219]
  pesos:        [0,169955 ; ... ]        repartidos

d = 8, escalado:
  puntuaciones: [ 0,3541 ; −0,3729 ;  2,3033 ;  0,8469]
  pesos:        [0,098585 ; ... ]        repartidos

d = 256, sin escalar:
  puntuaciones: [−9,7106 ; −2,6027 ; 1,9724 ; −15,9423]
  pesos:        [8e-06 ; ...]           ← saturado    ✗

d = 256, escalado:
  puntuaciones: [−0,7502 ; 1,9863 ; 0,3221 ; 0,5716]
  pesos:        [0,043279 ; ...]        repartidos    ✓

Var(q·k) ≈ d·σ⁴ : por eso se divide por √d.

Qué calcula el laboratorio

Atención escalada: por qué existe el 1/√d.

python classes/part-16-matematica-de-transformers-modelos-generativos-grafos-y-rl/325-scaled-dot-product-attention/lab.py
compmath run 325

Salidas del laboratorio (9)

Muestra de la ejecución real

{
  "formula": "softmax(QKᵀ/√d_k)·V",
  "d=8_sin_escalar": {
    "puntuaciones": [
      0.4204,
      -1.9767,
      1.3619,
      1.2219
    ],
    "pesos": [
      0.169955,
      0.015462,
      0.435753,
      0.37883
    ],
    "entropia_bits": 1.580263,
    "peso_maximo": 0.435753
  },
  "d=8_escalado": {
    "puntuaciones": [
      0.3541,
      -0.3729,
      2.3033,
      0.8469
    ],
    "pesos": [
      0.098585,
      0.047653,
      0.692379,
      0.161382
    ],
    "entropia_bits": 1.330663,
    "peso_maximo": 0.692379
  },
  "d=256_sin_escalar": {
    "puntuaciones": [
      -9.7106,
      -2.6027,
      1.9724,
      -15.9423
    ],
    "pesos": [
      8e-06,
      0.010201,
      0.989791,
      0.0
    ],
    "entropia_bits": 0.082274,
    "peso_maximo": 0.989791
  },
  "d=256_escalado": {
    "puntuaciones": [
      -0.7502,
      1.9863,
      0.3221,
      0.5716
    ],
    "pesos": [
      0.043279,
      0.667945,
      0.126469,
      0.162308
    ],
    "entropia_bits": 1.387977,
    "peso_maximo": 0.667945
  },
  "varianza_del_producto_punto": "d·σ⁴ si las entradas son iid"
}

Errores comunes

Dónde se usa

Todos los Transformers, atención en visión y audio, mecanismos de recuperación y modelos de secuencias modernos.

Idea rectora de la parte

Bellman expresa el valor como recompensa inmediata más valor futuro descontado.

Error a evitar

Confundir temperatura alta con mayor calidad en lugar de mayor entropía.

Conexión con IA

Esta parte es la traducción matemática directa de los papers que definen el estado del arte actual.

Bibliografía de la clase

Archivos de la clase