Sequence to sequence (seq2seq) es una arquitectura de redes neuronales, introducida en 2014, que mapea una secuencia de entrada a una secuencia de salida de longitud potencialmente diferente mediante un par de redes acopladas: un codificador que comprime la entrada en una representación de longitud fija, y un decodificador que genera la secuencia de salida a partir de esa representación, un elemento a la vez. Seq2seq estableció el patrón codificador-decodificador que se convirtió en la base de la traducción automática neuronal y motivó directamente el desarrollo del mecanismo de atención y, más tarde, de la arquitectura transformador.
Arquitectura
En la formulación original, tanto el codificador como el decodificador se implementan como redes neuronales recurrentes, utilizando más comúnmente unidades LSTM para mitigar los problemas de desvanecimiento del gradiente de los diseños recurrentes más simples. El codificador procesa una secuencia de entrada, como una frase en un idioma de origen, un token a la vez, actualizando un estado oculto interno, y pasa su estado oculto final al decodificador como un resumen de toda la entrada. El decodificador genera entonces los tokens de salida uno a uno de manera autorregresiva, usando su propia salida anterior como entrada para predecir el siguiente token, continuando hasta que produce un marcador designado de fin de secuencia.
Orígenes
La arquitectura fue introducida en el artículo de 2014 "Sequence to Sequence Learning with Neural Networks" por Ilya Sutskever, junto con Oriol Vinyals y Quoc Le en Google, demostrando resultados sólidos en traducción automática de inglés a francés usando un codificador-decodificador LSTM multicapa. Una formulación estrechamente relacionada fue publicada aproximadamente al mismo tiempo por Kyunghyun Cho y sus colegas, quienes también introdujeron la unidad recurrente cerrada como una alternativa simplificada a la LSTM dentro del mismo marco codificador-decodificador.
Integración del mecanismo de atención
Una limitación clave del diseño original de seq2seq era su dependencia de un único vector de longitud fija para resumir toda la secuencia de entrada, lo que degradaba el rendimiento en frases más largas al comprimirse y perderse información. Este cuello de botella motivó a Dzmitry Bahdanau y sus colegas a introducir el mecanismo de atención en 2015, permitiendo que el decodificador mirara hacia atrás a todos los estados ocultos del codificador y ponderara dinámicamente qué partes de la entrada eran más relevantes al generar cada token de salida, mejorando sustancialmente la calidad de la traducción en secuencias largas y estableciendo la atención como un componente estándar de los modelos de secuencias.
Legado
Seq2seq con atención se convirtió en la arquitectura dominante para los sistemas de traducción automática neuronal, incluido el cambio de Google Translate en 2016 a un sistema completamente neuronal, antes de que los componentes recurrentes fueran finalmente eliminados por completo en la arquitectura transformador de 2017, cuyo título "Attention Is All You Need" hace referencia directa al mecanismo que la investigación de seq2seq había demostrado ser tan efectivo. El marco general codificador-decodificador que seq2seq estableció, mapeando una secuencia a otra, sigue siendo conceptualmente central en el procesamiento del lenguaje natural moderno, subyaciendo a tareas que van desde el resumen hasta la generación de código, aunque los bloques recurrentes de la arquitectura original han sido casi por completo reemplazados por diseños basados en atención dentro del aprendizaje profundo.