5.3 - Arquitectura de una Red Transformer

Lección 3 de la sección “Redes Transformer” del curso Fundamentos de Deep Learning con Python.

Introducción

En la lección anterior vimos varias aplicaciones de las Redes Transformer para la solución de problemas en campos que van desde el procesamiento del lenguaje natural, pasando por la genómica y la biología y llegando incluso a la visión artificial.

En las próximas lecciones veremos en detalle el principio de funcionamiento de cada uno de los elementos que conforman esta arquitectura, y para comenzar en esta lección nos enfocaremos en su estructura general y en las dos principales contribuciones de estas redes: el concepto de “atención” y el procesamiento en paralelo.

Contenido exclusivo suscriptores

Suscríbete para tener acceso al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

El problema a resolver

La Red Transformer propuesta originalmente en el año 2017 buscaba resolver el problema de la traducción de texto de un idioma a otro.

Para esto, los creadores de esta arquitectura desarrollaron una primera etapa de codificación (encargada de procesar la secuencia en su idioma original) seguida por un bloque de decodificación que permite traducir la secuencia al idioma destino. Estos son precisamente los dos principales bloques de una Red Transformer.

La etapa de codificación

Este bloque aprende a detectar la relación entre los diferentes elementos de la secuencia en el idioma original, a través de un mecanismo que se conoce como atención.

Los principales elementos de esta etapa son:

Con estos elementos es posible procesar secuencias en paralelo y muy extensas, logrando a la vez capturar la relación entre los diferentes elementos del texto en el idioma original para su posterior traducción.

La etapa de decodificación

Este bloque es muy similar a la etapa de codificación: comienza con una capa de embedding y con un codificador posicional, y luego usa una combinación de bloques decodificadores, similares a los bloques codificadores vistos anteriormente pero con un elemento adicional: un bloque atencional con enmascaramiento.

A la salida de estos bloques se tiene una pequeña Red Neuronal (capa fully-connected) junto a una función de activación tipo softmax encargada de generar una a una las palabras en el idioma destino.

Contenido exclusivo suscriptores

Recuerda suscribirte para acceder al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

Conclusión

Con esto ya tenemos una idea general de los diferentes elementos que componen una Red Transformer.

Así que a continuación veremos en detalle cada uno de estos elementos, comenzando en la próxima lección con la codificación y en particular hablando del “embedding” de entrada.

Ver todas las lecciones de este curso