PASO 4b · INTUICIÓN PURA

Self-Attention sin matemáticas

Vamos a entender la idea con analogías concretas y visualizaciones interactivas. Olvidémonos de fórmulas por un rato.

1. La idea en una sola imagen

Pensá en una conversación grupal donde cada persona tiene que prestar más atención a algunas que a otras. Self-attention funciona exactamente así, pero con las palabras de una frase.

🎮 Mirá cómo cada palabra "se conecta" con las demás

Hacé click en cada palabra para ver a quién le presta atención. El grosor de las líneas representa cuánta atención.

Hacé click en una palabra arriba.
Eso es self-attention en una frase: cada palabra le presta atención a las demás de la frase, pero no a todas por igual. Algunas son más relevantes (gruesas) y otras menos (finas). Después, cada palabra absorbe información de las demás en proporción a esa atención.

2. ¿Por qué necesitamos 3 vectores distintos (Q, K, V)?

Esta es la pregunta más difícil. Vamos a usar una analogía concreta: una app de matchmaking (estilo Tinder o similar).

Tu perfil tiene 3 campos distintos

QQuery

"Lo que estoy buscando"
"Una persona outdoorsy, que ame los animales, vegetariana"

Tu pregunta. Lo que querés encontrar en los otros.

KKey

"Lo que ofrezco / soy"
"Soy un programador introvertido pero curioso, fotógrafo amateur"

Tu "etiqueta" pública. Cómo te describís a otros.

VValue

"Mi personalidad real"
[Historias, opiniones, sentido del humor, conocimientos reales]

Lo que efectivamente compartís cuando alguien se conecta con vos.

Fíjate por qué los 3 SON distintos (no podemos usar 1 solo)

"Lo que busco" puede ser MUY distinto a "lo que soy":
  • Una persona introvertida (Key) puede estar buscando una persona sociable (Query) que la saque de su zona.
  • Tu "etiqueta pública" (K) es un resumen — tu "personalidad real" (V) es mucho más detallada.
  • Si usáramos un solo vector para los 3 roles, el modelo no podría representar estas diferencias.

🎮 Editá tu perfil y mirá quién te matchea

Imaginá que cada "rasgo" es una dimensión del vector. Movés los sliders de tu Query, y la app calcula cuánto matcheás con 3 candidatos (sus Keys ya están fijas).

QLo que VOS buscás

↓ matching con cada candidato ↓

Probá distintos perfiles. Mirá cómo cambia el match con cada candidato. Esto es exactamente lo que hace cada token cuando le presta atención a los otros tokens de una frase.

3. ¿Por qué el producto punto representa "atención"?

En la sección anterior, decimos "cuánto matchea Q con K". Pero ¿cómo se convierte eso en un número? La respuesta es: producto punto. Vamos a verlo visualmente con flechas en 2D.

🎮 Arrastrá las puntas de las flechas para rotarlas

Las dos flechas representan dos vectores (un Query y un Key, por ejemplo). Mové la punta de cualquiera de las dos para cambiar la dirección. El producto punto se calcula en vivo.

Producto punto entre Q y K: +1.00
−1 (opuestos) 0 (sin relación) +1 (idénticos)

Observaciones que vale la pena hacer:

  • Cuando las flechas apuntan en el MISMO sentido → producto punto cerca de +1 (match alto, mucha atención).
  • Cuando son PERPENDICULARES (90°) → producto punto 0 (no hay relación, nada de atención).
  • Cuando apuntan en sentidos OPUESTOS → producto punto cerca de −1 (anti-match, atención negativa que softmax convertirá en casi cero).
El producto punto SÍ es una medida de "qué tan parecidos son": cuanto más alineados están dos vectores, mayor es el número. Por eso, cuando hacemos Q · K en self-attention, lo que sale es literalmente una medida de cuánto matchea la pregunta de Q con la respuesta de K. Después softmax convierte ese número en porcentaje.

4. Juntando todo con "el perro come"

Ahora visualizamos los 3 conceptos juntos. Cada token de la frase tiene:

🎮 Click en una palabra para ver a quién le presta atención

Cómo leer la animación:
  • Cada palabra es un nodo con sus 3 vectores (Q en azul, K en violeta).
  • Cuando hacés click en una palabra, su Q se compara con todas las K (incluida la suya).
  • Las líneas que se dibujan tienen grosor proporcional a la atención.
  • El "color" del nodo después de atender se vuelve una mezcla de los V de los demás, ponderada por la atención.

5. Resumen mental (la idea en 3 líneas)

  1. Cada palabra tiene 3 "perfiles" distintos: una pregunta (Q), una etiqueta (K), y un contenido real (V).
  2. La pregunta de cada palabra se compara con las etiquetas de todas las demás usando producto punto (= medida de alineación).
  3. El producto punto + softmax produce porcentajes de atención. Cada palabra absorbe una mezcla del contenido (V) de las demás, ponderada por su porcentaje de atención.
Una palabra después de self-attention NO ES la misma palabra que antes. Antes era solo "perro". Después es "perro tal como aparece en esta frase, considerando que 'come' es relevante y 'el' es menos importante". Por eso self-attention es tan poderoso: convierte tokens aislados en tokens contextualizados.

Cuando esto te quede sólido, volvé al archivo principal del paso 4 y mirá la parte matemática con los números — ahora deberías poder seguir cada paso del algoritmo con la intuición clara.