Del RNN al Transformer
El artículo «Attention Is All You Need» (2017) introdujo el Transformer, una arquitectura que eliminó por completo las conexiones recurrentes (RNN, LSTM) y convolucionales. En su lugar se basa únicamente en un mecanismo llamado atención.
Un Transformer no «entiende» el lenguaje de forma mágica: resuelve la ambigüedad con álgebra lineal y geometría — productos punto, softmax y combinaciones ponderadas de vectores.
RNN (antes)
Leen el texto palabra por palabra (secuencia temporal): para entender la palabra 4 deben procesar antes la 1, 2 y 3.
Defecto: no se entrenan en paralelo (lento) y les cuesta relacionar palabras lejanas.
Transformer (ahora)
Procesa todas las palabras a la vez (en paralelo) y calcula de golpe la relación directa entre cualquier par de palabras, sin importar la distancia.
La idea de fondo. El vector de entrada x es cualquier cosa que pueda codificarse como números. Cada palabra se representa como un vector (embedding); a partir de ahí, todo es geometría.
Estructura general: codificador y decodificador
El Transformer tiene dos bloques. El codificador (encoder) convierte la frase de entrada en una representación matemática abstracta; el decodificador (decoder) genera, una a una, las palabras de salida.
Codificador (encoder)
Pila de N=6 capas idénticas. Cada capa tiene 2 subcapas: (1) autoatención multi-head y (2) red feed-forward por posición. Con Add & Norm.
Decodificador (decoder)
Pila de N=6 capas. Además de las 2 subcapas, inserta una tercera: atención multi-head sobre la salida del encoder.
El corazón: atención Q · K · V
El mecanismo central es la Atención de Producto Punto Escalada (Scaled Dot-Product Attention). A cada palabra se le asignan tres vectores:
Query
Lo que la palabra está buscando.
Key
La etiqueta de identidad de cada palabra, para ver si coincide con la búsqueda.
Value
El contenido real de la información de la palabra.
Fórmula. Los pesos de atención son α = softmax( Q·K / √d ). Suman 1 (son probabilidades). La salida es un promedio ponderado de los V de todas las palabras usando α como pesos. El √d escala el producto punto para estabilizar.
Atención en vivo 🎯
Elige la palabra de enfoque (Query). Calculamos softmax(Q·K/√d) sobre «The bank of the river» y mostramos cuánto atiende a cada palabra.
Multi-head, posición y feed-forward
Multi-Head Attention (×8)
En vez de calcular la atención una sola vez, el Transformer lo hace 8 veces en paralelo («cabezas»). ¿Por qué? Una palabra puede tener múltiples relaciones gramaticales a la vez. Cada cabeza tiene sus propias matrices de proyección; al final se concatenan y proyectan.
Positional Encoding
Como todo se procesa en paralelo, el modelo no sabe el orden de las palabras. Se generan ondas de senos y cosenos y se suman a los embeddings: cada palabra recibe una «coordenada» de posición.
Feed-Forward (ReLU)
Tras la atención, cada palabra pasa de forma independiente por una pequeña red de dos capas con activación ReLU. Procesa la información recién extraída.
Add & Norm (residual)
Para que los datos no se degraden al pasar por tantas capas, el modelo suma la entrada de la capa a su salida y luego normaliza (conexiones residuales).
Ejemplo práctico: la palabra «banco»
Analizamos «The bank of the river» con 2 cabezas (h=2). El vector de valor se obtiene con V = Wᵥ · x, una simple multiplicación matriz × vector.
Calcula V = Wᵥ · x 🧮
Con el embedding x de «banco» y la matriz aprendida Wᵥ. Cambia x y observa cómo cambia V. (Valores del ejemplo: x=[1, 2] → V=[0.5, 1.0].)
La salida_final = [1.6, 3.3]
Es la nueva representación de «banco» en esta frase. Cada número fundió lo que vieron las dos cabezas:
1.6 = 1.5 + 0.1 → sobre todo la Cabeza 1 (sentido «río»).
3.3 = 0.9 + 2.4 → sobre todo la Cabeza 2 (rol «sustantivo con artículo»).
Cómo se «lee»
El significado no está en cada número suelto, sino en la posición del vector en el espacio. El mismo «banco», en una frase sobre dinero, caería en otro punto del plano. Esa diferencia de posición es cómo el modelo distingue «banco del río» de «banco de dinero».
salida_final no es el final del modelo: es la entrada de la siguiente capa. El Transformer apila muchas capas de atención; cada una refina los vectores. Solo al final, una capa de salida los usa para la tarea concreta (predecir la siguiente palabra, traducir, clasificar sentimiento).
Componentes del Transformer
| Componente | Qué hace | Idea clave |
|---|---|---|
| Self-Attention (Q,K,V) | Cada palabra busca (Q), se identifica (K) y aporta contenido (V). | α = softmax(Q·K/√d); salida = Σ α·V |
| Multi-Head (×8) | Varias atenciones en paralelo capturan relaciones distintas. | concatenar + proyectar |
| Positional Encoding | Da a cada palabra su posición en la frase. | senos y cosenos, se suman al embedding |
| Feed-Forward | Procesa cada posición de forma independiente. | 2 capas + ReLU |
| Add & Norm | Estabiliza el paso por muchas capas. | conexión residual + normalización |
En una frase: el Transformer reemplaza la recurrencia por atención en paralelo. Con Q·K mide similitud, con softmax reparte pesos, y con V combina información — reescribiendo cada palabra según su contexto.
Referencia: Vaswani et al., «Attention Is All You Need» (2017).
Escanea y responde desde tu móvil
Cada estudiante recibe 10 preguntas al azar de un banco de 80. Al terminar verás tu calificación final y podrás descargar tu boleta para enviarla al docente.
- Escanea el QR con la cámara del teléfono.
- Escribe tu nombre y responde las 10 preguntas.
- Pulsa Calificar → revisa aciertos y errores.
- Tu resultado se envía automáticamente al panel del docente (y puedes descargarlo como respaldo).
Evaluación: 10 preguntas aleatorias
Seleccionadas al azar de un banco de 80. Para aprobar necesitas 7 de 10. Puedes reintentar con un nuevo conjunto.
Calificaciones en vivo
Se actualiza automáticamente conforme los estudiantes envían su evaluación. Docente: MSc. Freddy León Cruz.
| # | Estudiante | Nota | % | Resultado | Fecha | Acción |
|---|---|---|---|---|---|---|
| Aún no hay respuestas. Comparte el QR con tus estudiantes. | ||||||