Transformers y Modelos de Atención · Inteligencia Artificial

Encoder-decoder y posicionamiento

Describir la arquitectura transformer codificador-decodificador y justificar la necesidad de la codificación posicional.

Encoder-decoder y posicionamiento

Devolver el orden a la atención La atención es «ciega al orden»: permutar las palabras no cambiaría su salida. El posicionamiento y la estructura codificador-decodificador devuelven al transformer el sentido de la secuencia.

Visión de conjunto

El codificador convierte la secuencia de entrada en representaciones contextuales ricas. El decodificador genera la salida un token cada vez, consultando al codificador.

Capas apiladas

Bloque del codificador

Cada capa del codificador tiene autoatención (sin máscara, ve toda la entrada) seguida de una red de avance, con residuales y normalización en ambos submódulos.

Bloque del decodificador

El decodificador añade una segunda atención, la cruzada: sus consultas miran a las claves y valores del codificador. Su autoatención va enmascarada para no ver el futuro.

Atención cruzada

Es el puente entre entrada y salida: en traducción, la posición que se genera consulta a toda la frase de origen mediante atención cruzada.

Red de avance

Tras la atención, un pequeño perceptrón multi-capa transforma cada posición por separado, aportando capacidad no lineal. Alterna con la atención capa a capa.

Dos pilas de bloques enfrentadas, teal la izquierda y coral la derecha, unidas por flechas de atención cruzada; debajo, una escalera de señales posicionales ascendentes.
El codificador entiende la entrada, el decodificador genera la salida y la atención cruzada es el puente entre ambos.

Por qué hace falta posición

La atención trata la secuencia como un conjunto: no distingue «el perro muerde al hombre» de «el hombre muerde al perro». Sin señal de posición, el orden se pierde.

Posiciones senoidales

El artículo original inyectó funciones seno y coseno de distintas frecuencias, sumadas a la incrustación. Codifican posición absoluta y relativa de forma determinista.

Incrustaciones aprendidas

Alternativa común: aprender un vector de posición por índice, como una tabla. Suele funcionar mejor con datos abundantes, aunque no generaliza a longitudes no vistas.

Residual y normalización

Cada submódulo va envuelto en suma residual y normalización de capa, que estabilizan el entrenamiento de decenas de capas apiladas.

Entrada y salida en el decodificador

Durante el entrenamiento se usa docencia forzada: se alimenta la salida verdadera desplazada, paralelizando la generación de toda la secuencia.

Errores frecuentes

Ejemplo resuelto: traducir «the cat slept» al español

El codificador procesa la frase inglesa de una vez; el decodificador va generando la española token a token, mirándolo por atención cruzada.

  1. El codificador autoatiende sin máscara las tres palabras de origen y produce sus representaciones.
  2. El decodificador recibe el token de inicio y se autoatiende con máscara causal sobre su salida parcial.
  3. Sus consultas se vuelcan por atención cruzada sobre todo el estado del codificador.
  4. Emite «el» y lo anexa; el proceso se repite con «gato» y «durmió» como prefijos crecientes.
  5. Si la posición «durmió» sale mal, revisas los pesos cruzados: delatan si el decodificador miraba donde debía.

¿Para qué sirve en la realidad?

Traductores automáticos, resumen de documentos largos y asistentes de voz con entrada y salida distintas son herederos directos de este diseño: un bloque entiende, el otro redacta y la atención cruzada los mantiene conectados.

¿Por qué un transformer necesita codificación posicional explícita?

En el decodificador, la autoatención va enmascarada para impedir que cada posición vea tokens futuros.

Encoder-decoder

Resume la entrada en representaciones contextuales
codificador
Genera la salida token a token
decodificador
Atención del decodificador hacia el codificador
cruzada
Señal sumada para recuperar el orden
posicional
Entrenar alimentando la salida verdadera desplazada
docencia forzada

Ordena el paso de información en un transformer de traducción:

Codificar
Autoatender
Cruzar
Generar

Transformer
Arquitectura codificador-decodificador basada solo en atención.

Une cada pieza del transformer original con su función.

Entender y generar por separado

# Transformer codificador-decodificador
## Codificador
### autoatencion sin mascara
### toda la entrada
## Decodificador
### autoatencion causal
### atencion cruzada
## Posicion
### senoidales
### aprendidas
## Estable
### residual
### normalizacion
### red de avance

Modelos secuencia a secuencia
La familia de arquitecturas que transforman una secuencia en otra.

Sin codificación posicional, «a sigue a b» y «b sigue a a» darían la misma representación. ¿Qué dos estrategias de posicionamiento compararías y cuál generaliza a secuencias más largas?