¿Cómo funciona Sequence-to-Sequence - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

¿Cómo funciona Sequence-to-Sequence

Por lo general, una red neuronal para el sequence-to-sequence modelado consta de varias capas, que incluyen:

  • Una capa de integración. En esta capa, la matriz de entrada, que son tokens de entrada codificados de forma dispersa (por ejemplo, con codificación en caliente) se mapean en una capa de características densa. Esto es necesario porque un vector de características de alta dimensión es más capaz de codificar la información relativa a un elemento concreto (palabra que significa corpus de texto) que un vector simple one-hot-encoded. También es una práctica habitual inicializar esta capa de incrustación con un vector de palabras previamente entrenado, como Glove, FastTexto inicializarlo aleatoriamente y aprender los parámetros durante el entrenamiento.

  • Una capa del codificador. Después de que los tokens de entrada se mapeen en un espacio de características de grandes dimensiones, la secuencia pasa por una capa del codificador para comprimir toda la información desde la capa de integración de entrada (o toda la secuencia) en un vector de características de longitud fija. Por lo general, un codificador está formado por redes de RNN tipo R, como una memoria larga y a corto plazo (LSTM) o unidades recurrentes cerradas (). GRU (El blog de Colah lo explica con gran LSTM detalle).

  • Una capa de decodificador. La capa de decodificador toma este vector de características codificado y produce la secuencia de salida de tokens. Esta capa también suele estar construida con RNN arquitecturas (LSTMyGRU).

Se realiza la capacitación de todo el modelo conjuntamente para maximizar la probabilidad de la secuencia de destino una vez proporcionada la secuencia de origen. Sutskever et al. introdujo este modelo por primera vez en 2014.

Mecanismo de atención. La desventaja de un marco de trabajo de codificador-decodificador es que el desempeño del modelo desciende a medida que la longitud de la secuencia de origen aumenta debido al límite de cantidad de información que puede contener el vector de características cifrado de longitud fija. Para resolver este problema, en 2015, Bahdanau et al. propuso el mecanismo de atención. En un mecanismo de atención, el decodificador intenta buscar la ubicación de la secuencia del codificador en la que podría ubicarse la información más importante y utiliza esa información y las palabras decodificadas anteriormente para predecir el siguiente token en la secuencia.

Para obtener más detalles, consulte el documento técnico de enfoques eficaces de traducción automática neuronal basada en atención de Luong, et al. que explica y simplifica los cálculos para diversos mecanismos de atención. Además, el documento técnico de sistema de traducción automática neuronal de Google: reducir la brecha entre la traducción humana y automática de Wu, et al. describe la arquitectura de Google para la traducción automática, que usa conexiones de omisión entre las capas de codificador y decodificador.