🧩 MÓDULO 3: Piezas del rompecabezas — Embeddings, Posición y Atención Multi-Cabeza

Duración estimada de este módulo: 1.5–2 horas
Objetivo: Entender cómo se construye la representación inicial de las palabras, por qué es crucial saber su posición en la oración, y cómo el Transformer "mira" el texto desde múltiples perspectivas simultáneamente.


Lección 3.1 — ¿Qué es un "embedding"? La traducción de palabras a números inteligentes

Antes de que el Transformer pueda aplicar el mecanismo de atención, necesita convertir las palabras en algo que las computadoras entiendan: números.

Pero no cualquier número. No se trata de asignar un ID arbitrario (como "gato = 1", "perro = 2"). Eso no captura significado.

Aquí es donde entran los embeddings.

🔹 Definición simple:
Un embedding es una representación vectorial densa de una palabra (o token), donde palabras con significados o usos similares tienen vectores similares.

Ejemplo:

  • "rey" → [0.85, -0.2, 0.67, ...]
  • "reina" → [0.82, -0.18, 0.65, ...]
  • "mesa" → [-0.3, 0.9, 0.1, ...]

"rey" y "reina" están cerca en el espacio vectorial. "mesa" está lejos.


Lección 3.2 — Analogía del "mapa semántico"

Imagina que todas las palabras del idioma están ubicadas en un mapa gigante de significados.

  • En el "barrio de animales" están: perro, gato, elefante, jirafa.
  • En el "barrio de emociones": feliz, triste, emocionado, aburrido.
  • En el "barrio de objetos": silla, mesa, lámpara, ventana.

Un embedding es como las coordenadas GPS de una palabra en ese mapa.

Cuando el modelo ve la palabra "gato", no ve la letra 'g' o 'a'. Ve su vector: un punto en ese mapa semántico. Y gracias a eso, puede razonar:

"Si 'gato' está cerca de 'perro', y 'perro' suele ir con 'correa', quizás 'gato' también tenga algo que ver con 'correa'... aunque no exactamente igual."

Este mapa no se programa a mano. ¡Se aprende automáticamente durante el entrenamiento!


Lección 3.3 — ¿Cómo se generan los embeddings?

Hay dos formas principales:

1. Embeddings estáticos (pre-entrenados)

Como Word2Vec o GloVe. Se entrenan una vez en grandes corpus de texto y luego se usan como capa fija. Tienen la limitación de que cada palabra tiene un solo vector, sin importar el contexto.

"banco" siempre tiene el mismo vector, aunque signifique "financiero" o "de parque".

2. Embeddings contextuales (dinámicos)

¡Aquí es donde brilla el Transformer! En lugar de asignar un vector fijo, el modelo genera un embedding específico para cada contexto.

En "fui al banco a depositar", "banco" tendrá un vector cercano a "dinero".
En "me senté en el banco del parque", tendrá un vector cercano a "madera" o "descanso".

Esto se logra combinando:

  • El embedding inicial (lookup en una tabla de embeddings).
  • La codificación posicional (ver siguiente lección).
  • Y luego, capas de atención que refinan el vector según el contexto.

Lección 3.4 — El problema de la posición: ¿Y si todas las palabras se procesan a la vez?

Aquí viene un desafío clave:

Si el Transformer procesa todas las palabras simultáneamente... ¿cómo sabe cuál va primero, cuál en medio, y cuál al final?

¡Las posiciones importan!

"El perro mordió al hombre" ≠ "El hombre mordió al perro"

En las RNNs, el orden estaba implícito en la secuencia de procesamiento. En el Transformer, no.

Solución: Codificación posicional (Positional Encoding)


Lección 3.5 — Codificación posicional: darle "GPS temporal" a cada palabra

La idea es simple: añadir al embedding de cada palabra una señal numérica que indique su posición en la secuencia.

Pero no cualquier señal. No se usa un contador simple (posición 1, 2, 3...) porque eso no escala bien y no captura relaciones relativas ("la palabra 5 está cerca de la 6").

La solución en el Transformer original: funciones sinusoidales.

🔹 Fórmula (solo para referencia):

Para una posición pos y una dimensión i del vector:

PE(pos, 2i)   = sin(pos / 10000^(2i/d_model))
PE(pos, 2i+1) = cos(pos / 10000^(2i/d_model))

Donde d_model es la dimensión del embedding (por ejemplo, 512 o 768).


Lección 3.6 — Analogía de las "ondas de radio"

Imagina que cada posición en la oración emite una "frecuencia única", como una estación de radio.

  • Posición 1: emite en frecuencia A
  • Posición 2: emite en frecuencia B
  • ...
  • Posición 100: emite en frecuencia Z

Cada palabra recibe su embedding semántico + su "onda de posición".

Cuando el modelo suma ambos, obtiene un vector que dice:

"Soy la palabra 'banco', y estoy en la posición 5 de la oración."

Y lo más inteligente: estas funciones sinusoidales permiten que el modelo aprenda relaciones relativas.

"La palabra en la posición 5 puede aprender que la palabra en la posición 6 está 'cerca', aunque nunca haya visto una oración de 100 palabras durante el entrenamiento."


Lección 3.7 — Atención multi-cabeza: ¿Por qué una "mirada" no es suficiente?

Imagina que estás analizando una obra de teatro.

  • Un crítico literario mira los temas, metáforas y simbolismo.
  • Un director mira las emociones, pausas y entonaciones.
  • Un diseñador de vestuario mira los trajes, colores y texturas.

Todos están viendo la misma obra... pero desde perspectivas distintas. Y todas son válidas.

Eso es lo que hace el mecanismo de atención multi-cabeza (Multi-Head Attention).

En lugar de calcular una sola matriz de atención, el Transformer calcula varias "cabezas" de atención en paralelo, cada una con sus propias matrices de Query, Key y Value aprendidas.


Lección 3.8 — ¿Cómo funciona la atención multi-cabeza?

  1. El vector de cada palabra se proyecta en h espacios diferentes (por ejemplo, 8 cabezas).
  2. En cada espacio, se calcula una atención independiente (con sus propias Q, K, V).
  3. Cada cabeza "aprende" a enfocarse en un tipo diferente de relación:
    • Una cabeza puede enfocarse en relaciones sintácticas (sujeto-verbo).
    • Otra en relaciones semánticas (sinónimos, antónimos).
    • Otra en referencias (pronombres → sustantivos).
  4. Los resultados de todas las cabezas se concatenan y se proyectan de nuevo a un solo vector.

🔹 Resultado: El modelo no tiene una sola forma de "mirar" la oración. Tiene múltiples lentes, cada uno especializado.


Lección 3.9 — Ejemplo visual (descrito) de atención multi-cabeza

Imagina la oración:

"La científica que descubrió la vacuna recibió un premio."

  • Cabeza 1 (sintáctica): Conecta "científica" con "descubrió" y "recibió" → relaciones de acción.
  • Cabeza 2 (semántica): Conecta "científica" con "vacuna" y "premio" → relaciones de logro/campo.
  • Cabeza 3 (referencial): Conecta "que" con "científica" → resolución de pronombres relativos.

Cada cabeza aporta una pieza del rompecabezas. Juntas, dan una comprensión completa.


✍️ Ejercicio de reflexión 3.1

Toma la oración: "El músico que tocó el violín emocionó a la audiencia."
Imagina tres "cabezas de atención" distintas. Describe qué palabras conectaría cada una y por qué. Usa categorías como: sintaxis, semántica, emoción, instrumento, etc.


📊 Diagrama conceptual 3.1 — Embedding + Posición + Atención Multi-Cabeza

Palabra: "científica"
Embedding: [0.7, -0.3, 0.5, ...] → "significado base"
Posición 3: [0.1, 0.05, -0.2, ...] → "onda sinusoidal para pos=3"
Vector inicial = Embedding + Posición → [0.8, -0.25, 0.3, ...]

Proyectado a 3 cabezas:
Cabeza 1: Q1, K1, V1 → atención a verbos
Cabeza 2: Q2, K2, V2 → atención a objetos
Cabeza 3: Q3, K3, V3 → atención a premios/logros

Salidas de cabezas:
Cabeza 1: [0.6, 0.1, ...]
Cabeza 2: [-0.2, 0.8, ...]
Cabeza 3: [0.4, 0.5, ...]

Concatenado: [0.6, 0.1, -0.2, 0.8, 0.4, 0.5, ...]
Proyectado final: [0.55, 0.3, 0.45, ...] → representación final enriquecida

🧠 Conclusión del Módulo 3

El Transformer no empieza de cero. Construye su comprensión en capas:

  1. Embeddings le dan significado semántico inicial.
  2. Codificación posicional le da conciencia del orden.
  3. Atención multi-cabeza le permite mirar el texto desde múltiples ángulos simultáneamente.

Es como un equipo de expertos analizando un texto: cada uno aporta su perspectiva, y el resultado es una comprensión mucho más rica y matizada que la de un solo analista.

Ahora que entendemos las piezas fundamentales, es momento de ensamblarlas: ¿cómo se organizan estas piezas para formar un Transformer completo? ¿Qué diferencias hay entre un codificador y un decodificador? ¿Por qué BERT y GPT, aunque ambos usan Transformers, funcionan de formas tan distintas?

Eso lo veremos en el próximo módulo.


Course Info

Course: AI-course2

Language: ES

Lesson: Module3