La atención es un mecanismo que permite a cada palabra en una oración "preguntar" a todas las demás palabras: "¿cuánto debo prestarte atención para entenderme a mí misma?"
Sí, así de literal.
Cada palabra genera una "consulta" (Query).
Cada palabra también tiene una "clave" (Key) y un "valor" (Value).
La magia está en cómo se relacionan.
Imagina que estás en un salón de clase, y el profesor te pide definir la palabra "banco".
Tú (la palabra "banco") puedes preguntarle a todos tus compañeros:
Cada compañero te responde con una puntuación de relevancia (basada en su Key).
Luego, tú tomas las respuestas de los más relevantes (sus Values), las combinas, y formas tu definición contextualizada.
Eso es, en esencia, el mecanismo de atención.
Cada palabra se convierte en tres representaciones vectoriales:
🔹 Proceso simplificado:
Tomemos dos oraciones:
A) "Fui al banco a depositar mi sueldo."
B) "Me senté en el banco del parque a leer."
Cuando el modelo procesa "banco" en la oración A:
En la oración B:
¡Sin reglas, sin diccionarios! Solo atención contextual.
Este es el nombre técnico del mecanismo que acabamos de describir.
La fórmula (solo para referencia, no es necesario memorizarla):
Attention(Q, K, V) = softmax( (Q · K^T) / √d_k ) · V
Donde:
Q · K^T = producto punto entre consultas y claves → puntajes de similitud.√d_k = factor de escalado (para estabilidad numérica).softmax = convierte puntajes en pesos (suman 1).· V = pondera los valores según esos pesos.🔹 Importante: No necesitas entender la fórmula para usar Transformers. Pero sí entender el concepto: cada palabra se redefine en función de su relación con todas las demás.
Elige una palabra ambigua (como "corte", "planta", "llama"). Escribe dos oraciones donde tenga significados distintos. Luego, describe qué otras palabras en cada oración "deberían" tener alta atención con ella, y por qué.
Palabra: "banco"
Query: [0.8, -0.2, 0.5] → "Busco contexto financiero o geográfico"
Palabras vecinas:
- "depositar" → Key: [0.9, 0.1, -0.3] → Compatibilidad ALTA → Valor: [1.0, 0.8, ...]
- "parque" → Key: [-0.7, 0.6, 0.4] → Compatibilidad BAJA → Valor: [0.2, 0.1, ...]
- "sueldo" → Key: [0.85, -0.1, 0.2] → Compatibilidad ALTA → Valor: [0.9, 0.7, ...]
Pesos de atención (post-softmax):
depositar: 0.7
parque: 0.1
sueldo: 0.2
Nuevo vector de "banco" = 0.7 * Valor_depositar + 0.1 * Valor_parque + 0.2 * Valor_sueldo
→ Resultado: vector sesgado hacia "institución financiera"
La atención no es magia — es un mecanismo matemático elegante que permite a las máquinas entender el lenguaje de forma contextual, dinámica y relacional. Es el corazón del Transformer. Y lo mejor: ¡es completamente paralelizable!
Ahora que entendemos la atención, vamos a ver cómo se construye un Transformer completo con sus piezas: embeddings, posición, y atención multi-cabeza.
✅ Hasta aquí, llevamos aproximadamente 2 horas de contenido.
¿Quieres que continúe con Módulo 3: Piezas del rompecabezas — Embeddings, Posición y Atención Multi-Cabeza?
Allí profundizaremos en cómo se codifican las palabras, por qué necesitamos saber su posición, y cómo la "atención multi-cabeza" permite entender múltiples tipos de relaciones al mismo tiempo.
Dime si deseas que siga — lo haré con el mismo nivel de detalle, ejemplos, analogías y código.
¡Perfecto! Continuamos con el mismo nivel de detalle, profundidad pedagógica, analogías cotidianas y preparación para la práctica. Vamos con: