0% encontró este documento útil (0 votos)
32 vistas36 páginas

Ransformadores Undamentos Teóricos Y Plicaciones: Jordi de La Torre

El documento explora la arquitectura de los Transformadores, una innovadora red neuronal que utiliza un sistema de auto-atención para procesar datos de manera eficiente en diversas aplicaciones, desde el procesamiento del lenguaje natural hasta la visión por computadora. Se detalla la evolución histórica de los mecanismos de atención y cómo los Transformadores superan las limitaciones de las redes neuronales recurrentes, permitiendo un procesamiento paralelo y mejor manejo de dependencias a largo plazo. Además, se presentan los fundamentos matemáticos y algorítmicos que sustentan esta arquitectura, así como sus aplicaciones prácticas.

Cargado por

yejav78348
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
32 vistas36 páginas

Ransformadores Undamentos Teóricos Y Plicaciones: Jordi de La Torre

El documento explora la arquitectura de los Transformadores, una innovadora red neuronal que utiliza un sistema de auto-atención para procesar datos de manera eficiente en diversas aplicaciones, desde el procesamiento del lenguaje natural hasta la visión por computadora. Se detalla la evolución histórica de los mecanismos de atención y cómo los Transformadores superan las limitaciones de las redes neuronales recurrentes, permitiendo un procesamiento paralelo y mejor manejo de dependencias a largo plazo. Además, se presentan los fundamentos matemáticos y algorítmicos que sustentan esta arquitectura, así como sus aplicaciones prácticas.

Cargado por

yejav78348
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

T RANSFORMADORES :

F UNDAMENTOS TEÓRICOS Y A PLICACIONES

S URVEY

Jordi de la Torre∗
Ph.D. in Computer Science (ML/AI)
Universitat Oberta de Catalunya
Barcelona, ES
[Link]@[Link]

February 18, 2023

A BSTRACT
Los Transformadores son una arquitectura de red neuronal diseñada originalmente para la transfor-
mación de datos para el procesamiento del lenguaje natural que se ha convertido en la herramienta
principal para resolver una amplia variedad de problemas, incluyendo el procesamiento del lenguaje
natural, sonido, imagen, aprendizaje por refuerzo, y otros problemas con datos de entrada heterogé-
neos. Su característica distintiva es su sistema de auto-atención, basado en la atención a la propia
secuencia, que deriva del sistema de atención introducido en los años anteriores en distintas publi-
caciones. Este artículo proporciona al lector el contexto necesario para comprender los artículos de
investigación más recientes y presenta los fundamentos matemáticos y algorítmicos de los elementos
integrantes de este tipo de redes. También se estudian los distintos componentes que conforman esta
arquitectura y las variaciones que pueden existir, así como algunas aplicaciones de los modelos de
transformadores. Este artículo está en español para facilitar la llegada de este conocimiento cientíco
a la comunidad hispanohablante.
A BSTRACT
Transformers are a neural network architecture originally designed for natural language processing
that it is now a mainstream tool for solving a wide variety of problems, including natural language
processing, sound, image, reinforcement learning, and other problems with heterogeneous input data.
Its distinctive feature is its self-attention system, based on attention to one’s own sequence, which
derives from the previously introduced attention system. This article provides the reader with the
necessary context to understand the most recent research articles and presents the mathematical and
algorithmic foundations of the elements that make up this type of network. The different components
that make up this architecture and the variations that may exist are also studied, as well as some
applications of the transformer models. This article is in Spanish to bring this scientic knowledge to
the Spanish-speaking community.

Keywords transformadores · aprendizaje profundo · redes neuronales · inteligencia articial · machine learning


[Link] web:[Link]
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

1 Introducción
Las redes neuronales completamente conectadas son consideradas desde hace décadas aproximadores universales. En
1989, Hornik et al. demostraron que una red con una sola capa oculta y un número suciente de nodos puede aproximar
cualquier función continua con la precisión deseada [1].
A pesar de esta realidad teórica, en la práctica puede ser difícil encontrar el número adecuado de nodos y los valores de
los pesos necesarios para lograr la aproximación deseada.
Para facilitar el proceso de optimización, se han utilizado priores estructurales que restringen el espacio de optimi-
zación a un subconjunto más limitado de los valores esperados. Por ejemplo, las redes convolucionales explotan las
regularidades estadísticas que suelen estar próximas en una imagen, mientras que las redes recurrentes se especializan
en el procesamiento de datos secuenciales, aprovechando las regularidades temporales. Estas arquitecturas, por tanto,
están diseñadas para sacar provecho de las regularidades espaciales y temporales presentes en las señales sensoriales de
nuestro mundo [2].
Sin embargo, estas optimizaciones computacionales también pueden ser una desventaja en algunos casos. Las redes
neuronales recurrentes pueden tener problemas para resolver dependencias de largo alcance debido a limitaciones en la
memoria interna y dicultades con la propagación de gradientes a través de una larga secuencia, lo que puede provocar
un rendimiento insatisfactorio.
Como una solución para abordar estas limitaciones, surgieron los modelos basados en mecanismos de atención,
permitiendo ajustar la relevancia de los atributos.

2 Evolución histórica de los mecanismos de atención


El objetivo de esta sección no es realizar una presentación exhaustiva de todas las modalidades de mecanismos de
atención existentes, pero sí introducir el concepto y para posteriomente presentar la evolución que posteriormente dió
lugar al sistema de auto-atención utilizado en los tranformadores.
En esta sección no se pretende hacer una exposición exhaustiva de todos los mecanismos de atención existentes, sino
más bien introducir el concepto y presentar la evolución que llevó al sistema de .auto-atención", base de diseño de los
transformadores. Dicha arquitectura es de gran importancia y se asemeja a la propuesta de invenciones anteriores como
las redes convolucionales y las redes recurrentes LSTM. Se trata de una arquitectura generalista que permite tratar e
integrar datos de diferentes tipos de forma elegante en la predicción.
El hito más importante de la clase de redes neuronales basadas en mecanismos de atención ha sido la eliminación de la
necesidad de la recurrencia para el tratamiento de datos secuenciales, sustituyendo la representación de las dependencias
de un estado interno de la máquina a un método de atender en paralelo a las partes relevantes del conjunto de la
secuencia. Básicamente convertir la dependencia temporal en una espacial, codicando la temporalidad como una parte
adicional de la entrada.
La evolución histórica de las ideas que llevaron al estado del arte actual en lo referente a atención, empieza alrededor de
2014. El interés por dotar de elementos explicativos a los modelos predictivos, llevó al diseño de sistemas basados en
atención como modo de identicar los objetos presentes en imágenes que tenían más importancia para la realización
de las predicciones de la red neuronal. En 2015 se propone la utilización de estos mecanismos en una aplicación de
procesamiento del lenguaje natural (NLP), concretamente para la traducción de texto [3]. Hasta ese momento se habían
utilizado arquitecturas codicador-decodicador en las que la primera parte de la red se encargaba de codicar en un
vector interno la frase de entrada en el idioma original y a continuación el decodicador la traducía al lenguaje objetivo.
Los autores de esta nueva propuesta conjeturaron y demostraron experimentalmente que la utilización de información
de los estados internos del codicador, y no únicamente del vector interno nal, mejoraba los resultados de rendimiento.
A partir de esa primera propuesta se genera una nueva corriente de investigación en ese sentido, que lleva a que en
2017 se presente un artículo que cambió denitivamente el paradigma de diseño hacia una nueva arquitectura. En el
artículo Attention is all you need. [4], se presenta una propuesta radical en la que se elimina totalmente la recurrencia,
para diseñar una red formada por la combinación de módulos de auto-atención, normalización y capas completamente
conectadas, denominada por los autores red de transformadores, consiguiendo resultados al nivel del estado del arte,
eliminando las complejidades asociadas al entrenamiento de las redes neuronales recurrentes.
Desde su presentación en 2017, las redes de transformadores han seguido siendo objeto de intensa investigación y
desarrollo en una amplia variedad de aplicaciones, incluyendo el procesamiento del lenguaje natural, la visión por
computador, el control de sistemas, y más. Este enfoque ha revolucionado no solo el campo del procesamiento del
lenguaje natural - que históricamente ha sido uno de los más desaantes para el aprendizaje profundo - sino también el

2
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

procesamiento de otras señales, como las imágenes, que hasta ahora eran dominio exclusivo de las redes neuronales
convolucionales.

3 Retos que plantea la arquitectura de las redes neuronales recurrentes

Las redes recurrentes surgieron para tratar con datos secuenciales, permitiendo la entrada en el orden de la secuencia y
adaptándose a sus características. Estas redes pueden mantener un estado interno que reeja las dependencias de corto,
medio o largo alcance en la entrada. El objetivo es que la red recuerde y establezca relaciones entre estas dependencias
para predecir salidas futuras.
Este tipo de redes se utilizan como módulo dentro de modelos para abordar problemas de los siguientes tipos:

1. Modelos vector-secuencia: A partir de un vector de tamaño jo de entrada se genera una secuencia de
dimensión arbitraria. Un ejemplo sería el etiquetado de imágenes, donde la entrada es una imagen y la salida
un texto explicativo.
2. Modelos secuencia-vector: La entrada es un vector de dimensión arbitraria y la salida uno de dimensión ja.
Un ejemplo sería el análisis de sentimiento, donde a partir de una secuencia de entrada de dimensión variable
se genera un valor binario que indica si el sentimiento de esa secuencia es positivo o negativo.
3. Modelos secuencia-secuencia: Tanto la entrada como la salida son secuencias de dimensión variable. Un
ejemplo sería por ejemplo la traducción de un texto desde un idioma a otro distinto.

La práctica ha demostrado que las arquitecturas basadas en redes neuronales recurrentes, diseñadas para resolver los
problemas arriba mencionados, no solo requieren más épocas de entrenamiento que las redes convolucionales, sino que
también presentan diversos inconvenientes. Estos están relacionados con la alta profundidad de las redes implementadas,
que conlleva problemas para resolver las dependencias de largo alcance, la explosión y cancelación de gradientes, así
como dicultades para la paralelización del cómputo.
Si bien arquitecturas como las LSTM [5] supusieron un avance muy signicativo para la incorporación de dependencias
de largo alcance, estas siguen presentando algunos problemas con las dependencias de muy largo alcance.

Figura 1: Diagrama básico representativo de una red recurrente con celdas LSTM.

El desplegamiento de las redes que es necesario realizar durante el entrenamiento, suele incrementar las probabilidades
de explosión y cancelación de gradientes, con los subsecuentes efectos sobre la optimización.
Cuando las secuencias de entrada son largas, es necesario desplegar la red en toda su extensión para calcular los
gradientes asociados al tratamiento de cadena. Esto incide, no únicamente en el punto anterior (gradientes), sino también
en las necesidades de recursos computacionales requeridos para tu tratamiento (tiempo y espacio).

4 Arquitectura de los Transformadores

La arquitectura de los transformadores fue creada para superar los desafíos de las redes recurrentes mencionados
anteriormente, eliminando la recurrencia y procesando todos los elementos de la secuencia simultáneamente. Gracias a
los mecanismos de atención, los elementos distantes pueden conectarse directamente, lo que minimiza los problemas
con los gradientes. Además, los transformadores resuelven el problema de la profundidad de la red utilizando los
mismos mecanismos introducidos en [6], ya que también son redes residuales. Por otro lado, el entrenamiento, en la
práctica, demuestra requerir menos épocas y, para cada una de ellas, el tratamiento en paralelo de la computación es
mucho más sencillo de implementar.

3
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

4.1 El mecanismo de auto-atención

El mecanismo de auto-atención es el núcleo fundamental y distintivo de la arquitectura de los transformadores.


Comprender su funcionamiento es clave para adentrarse en las especicidades de la arquitectura.

4.1.1 Denición formal

Sea X una secuencia de entrada formada por ℓX elementos, cada uno de ellos de dimensión de , X ∈ Rde ×ℓX . Sea Z
una secuencia de denominada de contexto formada por ℓZ elementos, cada uno de ellos de dimensión de , Z ∈ Rde ×ℓZ .
Sean (Wq ∈ Rdattn ×dX , bq ∈ Rdattn ), (Wk ∈ Rdattn ×dZ , bk ∈ Rdattn ) y (Wv ∈ Rdout ×dZ , bv ∈ Rdout ) tres
pares de matriz-vector representativos de tres transformaciones lineales aplicables a la secuencia de entrada X y a la
secuencia de contexto Z.
Sean Q, K y V las matrices obtenidas después de aplicar las transformaciones lineales referidas, donde Q =
Wq X + bq 1T ∈ Rdattn ×ℓX , K = Wk Z + bk ∈ Rdattn ×ℓZ y V = Wv Z + bv ∈ Rdout ×dZ .
Sea S la función de similaridad, denida en este caso como S = √ 1 KT Q ∈ RℓZ ×ℓX .
dattn

Entonces, la ecuación de atención de la secuencia de entrada X sobre la secuencia de contexto Z se puede expresar
como:

Ṽ = V · softmax(S) donde Ṽ ∈ Rdout ×ℓX (1)

La función sof tmax reere a la aplicación de la función de normalización softmax por cada la de la matriz. Por lo
tanto, cada elemento de la matriz depende de todos los otros elementos pertenecientes a la misma la.
Cuando secuencia de entrada y contexto coinciden, esto es X = Z entonces hablamos de atención a la propia secuencia
o, más breve, auto-atención.
El algoritmo 1 muestra en versión algorítmica como se calcula la auto-atención.

Algorithm 1 Esquema básico de atención con una única consulta (versión secuencial)
Entrada: e ∈ Rdin , la representación token de entrada actual
Entrada: et ∈ Rdin , representación vectorial de los tokens de contexto t ∈ [T ]
Salida: ṽ ∈ Rdout , representación vectorial de la combinación de token y contexto.
Parámetros: Wq , Wk ∈ Rdattn ×din , bq , bk ∈ Rdattn , parámetros de proyección lineal de consulta y clave.
1) q ← Wq e + bq
2) ∀t : kt ← Wk et + bk
Parámetros: Wv ∈ R dout ×din
, bv ∈ R dout
parám. de proy. lineal 3) ∀t : vt ← Wvexp
et + bv √
(q T kt / dattn )
4) ∀t : αt ←  exp √
(q T ku / dattn )
u
 T
5) return ṽ = t=1 αt vt

Como se indica en la versión algorítmica presentada en 1, éste cálculo se realiza para todos los elementos de la secuencia.
Con el objetivo de optimizar en tiempo la computación, es de interés paralelizar la computación en la medida de lo
posible. Una forma de hacerlo es mediante la conguración matricial del algoritmo. En la gura 4.1.1 se muestra
mediante diagrama de bloques las operaciones matriciales necesarias para llevar a cabo el proceso. El módulo Máscara,
que se muestra en el diagrama y se marca como opcional, es una operación que, de ser necesario, permite anular el
efecto de parte de las secuencias. El algoritmo 2 es la versión matricial alternativa al algoritmo 1 que permite explotar
las posibilidades de cálculo en paralelo y, por tanto, acelerar la computación.
La operación de enmascarado permite el diseño de estrategias de entrenamiento alternativas para resolver problemas
distintos utilizando la misma arquitectura. El sistema de auto-atención sin máscara trata a toda la secuencia como
contexto Z = X, (M ask ≡ 1) dando lugar a transformadores con contextos bidireccionales. Aplicando máscaras a los
elementos de la secuencia situados a uno de los lados, tenemos los transformadores de contexto unidireccional mientras
que en aquellos en los que tenemos dos secuencias de entrada, es posible aplicar la secuencia cruzada enmascarando los
elementos de una de las secuencias de entrada usando como contexto a la otra.

4
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

Q K V

Mult. Matriz

Escalado

Máscara (opc.)

Softmax

Mult. Matriz

Figura 2: Diagrama de bloques representativo de las operaciones matriciales involucradas en los cálculos de la atención

Algorithm 2 V̂ ← atencion(X, Z|Wqkv , M ask) (versión matricial)


/* Calcula un (único) cabezal de atención con máscara */
Entrada: Entrada: X ∈ RdX ×ℓX y Z ∈ RdZ ×ℓZ , representaciones vectoriales de las secuencias principal y de
contexto
Salida: Ṽ ∈ Rdout ×ℓX , representación vectorial actualizada de X, recogiendo la información de la secuencia Z
Parámetros: Wqkv , consistente en: Wq ∈ Rdattn ×dX , bq ∈ Rdattn ; Wk ∈ Rdattn ×dZ , bk ∈ Rdattn ; Wv ∈
Rdout ×dZ , bv ∈ Rdout .
Hiperparámetros: M ask ∈ {0, 1}ℓZ ×ℓX
1) Q ← Wq X + bq 1T [[Query ∈ Rdattn ×ℓX ]]
T
2) K ← Wk Z + bk 1 [[Key ∈ Rdattn ×ℓZ ]]
T
3) V ← Wv Z + bv 1 [[Value ∈ Rdout ×ℓZ ]]
T
4) S ← K Q [[Score ∈ RℓZ ×ℓX ]]
5) ∀tz , tx , if ¬M ask[tz , tx ] then S[tz , tx ] ← −∞

6) return V̂ = V · sof tmax(S/ dattn )

Informalmente, el transformador utiliza una serie de características de la secuencia de entrada para realizar una
combinación ponderada de ellas basándose en su similitud. Los pesos asignados a cada característica se calculan a partir
de la similitud entre los pares de características de entrada. Este proceso se repite varias veces con los datos de la capa
anterior. En la primera capa, se comparan los pares de características, y en las siguientes capas se comparan pares de
pares, y así sucesivamente. A medida que se profundiza en la red, el número de características combinadas aumenta
exponencialmente, lo que permite obtener diferentes formas de combinación de todas las características de la secuencia
en las capas nales.

4.1.2 Analogía con las bases de datos


Los nombres originales utilizados para denir las transformaciones lineales usadas en el cálculo de la auto-atención
hacen referencia a una analogía conceptual con las consultas propias de las bases de datos relacionales.
En una base de datos tenemos consultas (queries, Q), claves (keys, K) y valores (values, V). Al realizar un consulta Q
sobre un conjunto de claves K1 , K2 , ... KN , la base de datos reporta como resultado una serie de valores V1 , V2 , ... VN .
El mecanismo de atención de los transformadores viene a ser una versión probabilística de este proceso. Una función de
similaridad compara la clave Q con cada una de las claves K. El resultado es un vector que puede ser interpretado como

5
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

la similaridad de la consulta Q con cada una de las claves K. Esta valor sirve posteriormente para calcular un peso que
se utiliza a continuación para calcular el valor nal, como una combinación lineal de los valores de entrada. La función
de similaridad puede ser denida de distintos modos (ver ecuación 2). Es una decisión de diseño el escoger una u otra.
Como hemos observado en las ecuaciones y algoritmos presentados en el apartado anterior, los transformadores que
estudiaremos utilizan como función de similaridad el producto escalar escalado.

producto escalar
 T

 Q Ki
 QT K i
producto escalar escalado


 d
si = f (Q, Ki ) = QT W Ki producto escalar general (2)
W T + WK
T
similaridad aditiva

 Ki
 Q



otros kernels, etc.

Calculada la similaridad, obtenemos para una consulta concreta Q, una valor por clave, esto es, un vector de dimensión
igual al número de claves. Valores altos de similaridad indican un alto grado de coincidencia. Por tanto, como la intención
es crear una función de búsqueda probabilística, se utiliza ese valor para calcular la probabilidad de coincidencia
aplicando una función softmax (ver ecuación 3), obteniendo como resultado una probabilidad del valor de la posición i
para pareja consulta-clave determinada.

exp (si )
ωi =  (3)
j exp(sj )

Finalmente, se obtendrá un conjunto de valores como combinación lineal de los valores fuente y el peso de cada uno de
ellos en la comparación entre consulta-clave (ver ecuación 4).


A= ωi Vi (4)

4.1.3 Auto-atención múltiple

El mecanismo que hemos descrito en las secciones anteriores permite realizar una transformación utilizando el súper-
conjunto (Q, K, V ) desde el espacio inicial Rn×d para obtener como resultado un valor perteneciente al espacio
Rn×dv .
Una forma de ampliar las capacidades del sistema es aplicar varias transformaciones en paralelo del mismo tipo, pero
con súper-conjuntos (Q, K, V ) distintos. Cada uno de ellos reportando un valor distinto situado en el espacio Rn×dv .
En la ecuación 5 se muestra la ecuación utilizada para calcular la atención múltiple.

M = Concathi=1 [Di (Qi , Ki , Vi )] WO (5)

Si el número de bloques de atención paralelos n se escoge de forma tal que n = ddv entonces las dimensiones del
espacio de salida serán iguales a las del espacio de entrada Rn×d . WO es una matriz que realiza una transformación
lineal posterior a la concatenación y permitiría eventualmente la modicación de las dimensiones del espacio de salida,
en caso de que en el diseño pudiera ser de interés.
La utilización del mecanismo de atención múltiple permite aplicar simultáneamente diferentes transformaciones a los
pares de atributos de entrada, lo que aumenta tanto la diversidad como la complejidad de las comparaciones. Además,
permite mantener la dimensión del espacio de trabajo, lo que puede resultar útil en arquitecturas que emplean bloques
de la misma naturaleza apilados unos sobre otros.
El algoritmo 3 muestra la versión algorítmica del proceso.

6
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

Algorithm 3 V̂ ← atencion_multicabezal(X, Z|Wqkv , M ask) (versión matricial)


/* Calcula la atención multi-cabezal (con máscara) */
Entrada: X ∈ RdX ×ℓX y Z ∈ RdZ ×ℓZ , representaciones vectoriales de las secuencias principal y de contexto
Salida: Ṽ ∈ Rdout ×ℓX , representación vectorial actualizada de X, recogiendo la información de la secuencia Z
Parámetros: Wqkv , consistente en: Wq ∈ Rdattn ×dX , bq ∈ Rdattn ; Wk ∈ Rdattn ×dZ , bk ∈ Rdattn ; Wv ∈
Rdout ×dZ , bv ∈ Rdout .
Hiperparámetros: M ask ∈ {0, 1}ℓZ ×ℓX
1) Para h ∈ [H]:
2) Y h ← atencion(X, Z|Wqkv h
, M ask)
h 1 2 H
3) Y ← [Y ; Y ; ...; Y ]
4) return V̂ = Wo Y + bo 1T

4.2 Transformadores

Llegados a este punto estamos en condiciones de presentar la arquitectura del transformador. Como ya hemos indicado
con anterioridad, este nuevo paradigma de diseño de red neuronal se introdujo con la publicación de [4] y se planteó
para su aplicación en sistemas de traducción automática.

Figura 3: Arquitectura del Transformador introducida en “Attention is all you need” [4]

7
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

En la gura 4.2 se muestra el diagrama de los bloques integrantes de la red de transformadores tal como fue publicado
por primera vez en [4]. Cada elemento de la secuencia de entrada se convierte en una representación numérica (input
embedding) para posteriormente combinarse (suma en este caso) con una función que codica la posición del elemento
en la secuencia (positional encoding). Este valor sirve de entrada a una pila de N bloques denominados codicadores.
Los atributos fruto de la codicación serán una de las entradas que alimentarán a la red de decodicadores. El objetivo
de esta red es predecir la siguiente palabra y, para ello, utiliza no únicamente la información procedente de cadena de la
entrada a través del codicador, sino también todos los elementos de la cadena de salida producidos hasta el momento.
En las secciones siguientes vamos a describir con detalle cada una de las partes integrantes de la arquitectura, agrupán-
dolos en sus elementos constitutivos de mayor nivel.

4.2.1 Notación
Sea V un conjunto nito denominado vocabulario, denotado como [NV ] := {1, ..., NV }. Puede estar formado por
letras o palabras completas, aunque típicamente está formado por partes constituyentes de palabras denominadas tokens.
Sea x ≡ x[1 : ℓ] ≡ x[1]x[2]...x[ℓ] ∈ V ∗ una secuencia de tokens, por ejemplo una frase, un parágrafo o un documento.
Siguiendo la notación matemática y en contra de lo establecido en algunos lenguajes de programación como C o python,
el primer índice de matrices y vectores utilizados en este módulo será el uno. X[1 : ℓ], por ejemplo, reere a la cadena
de caracteres que va desde el primero hasta el elemento ℓ ambos incluidos.
′ ′
Para una matriz M ∈ Rd×d , escribimos M [i, :] ∈ Rd para referirnos a la la i y M [:, j] ∈ Rd para la columna j.
Usamos la convención matriz × columna más común en matemáticas en vez de la × matriz más típica de la mayoría
de la literatura de transformadores, esto es, las matrices están traspuestas.

4.2.2 Tratamiento de entrada


En la gura 4.2.2 se muestra el proceso de tratamiento de entrada propio del transformador. El texto se alimenta a
un tokenizador la función del cual es particionar la secuencia en sus elementos constituyentes. Cada elemento es
representado por un vector ortogonal que tiene un 1 en la posición del diccionario identicativa del elemento y ceros
en el resto. A continuación se realiza una transformación lineal para comprimir la representación inicial en un vector
denso de dimensión menor. Finalmente, mediante un operador, que suele ser la suma (pero nada impide que pudiera ser
por ejemplo la concatenación u otro distinto), se añade la información referente a la posición que ocupa el elemento
dentro de la secuencia. La representación numérica de la secuencia ya está lista para ser alimentada a los bloques de
procesamiento siguientes.

Texto

Tokenizador

Embedding
Codicación
(palabra) Diccionario

Embedding
Operador
(posición et al.)

Entrada
procesada

Figura 4: Figura 4.2.2. Esquema típico de las operaciones necesarias para convertir una entrada de texto a formato
necesario para ser tratado por el transformador

La capa de entrada se encarga del preprocesamiento de los datos para adecuarlos a un formato que sea interpretable por
el transformador. Los transformadores se diseñaron inicialmente como forma alternativa de tratamiento de los datos

8
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

secuenciales. El primer paso para el tratamiento de este tipo de datos es la partición de la secuencia en sus elementos
constitutivos. Este proceso es conocido habitualmente como tokenización. Esta partición se puede hacer de muchos
modos: a nivel de palabra, partes de palabra o bien carácteres.
En los diseño actuales de transformadores lo más habitual es utilizar particiones a nivel de partes de palabra. Muchas
palabras están constituidas por distintos monemas (unidades mínimas de signicado). Particionar a nivel de palabra
tiene el inconveniente de que muchas de las unidades elementales de signicado no se separan. Esto suele ser un
inconveniente que diculta el funcionamiento de modelos interpretativos del lenguaje.
De entrada se podría conjeturar que una separación a nivel de carácter permitiría al modelo reconstruir las unidades
mínimas de signicado. Los artículos publicados indican explícitamente, que los resultados prácticos, al menos hasta el
momento, indican que la partición a nivel de carácter es demasiado agresiva, con resultados signicativamente inferiores
a los obtenidos utilizando particiones a nivel de partes de palabra.
Entre los particionadores más típicos utilizados con Transformadores tenemos BPE (Byte Pair Encoding) [7], Unigram
[8] y WordPiece [9]. La diferencia existente entre estos se basa en la estrategia seguida para escoger los pares de
caracteres a concatenar para elegir cada una de las subpalabras para formar el diccionario.
Cada modelo pre-entrenado está diseñado para ser usado con un diccionario especíco derivado del particionador
escogido.
Para el caso de los transformadores para el tratamiento de imagen, la propuesta existente hasta el momento, consiste en
particionar la imagen en trozos no superpuestos de dimensiones reducidas y alimentarlos secuencialmente.
Si bien la preparación de las entradas descritas son los modos actuales establecidos de hacerlo, no existe una razón
para que esto pueda ser de otro modo. Por lo tanto, es posible que en el futuro puedan surgir maneras alternativas de
codicar las entradas.

Algorithm 4 Embedding de un token


Entrada: v ∈ V = ∼ [NV ], identicador del token (p.e. one-hot)
Salida: e ∈ Rde , la representación vectorial de un token
Parámetros: We ∈ Rde ×NV , la matriz de embedding
retorna: e = We [:, v]

Algorithm 5 Embedding de la posición


Entrada: ℓ ∈ ℓmax , posición del token dentro de la secuencia
Salida: ep ∈ Rde , la representación vectorial de la posición
Parámetros: Wp ∈ Rde ×ℓmax , la matriz de embeddings de posición
retorna: ep = Wp [:, ℓ]

4.2.3 Codicadores
El codicador está integrado por un cabezal de auto-atención múltiple seguido de una red completamente conectada.
Ambas capas forman parte de una red residual y, por lo tanto, integran a continuación de cada una de esas dos capas la
suma de la entrada y su normalización.
En la gura 4.2.3 se muestra el diagrama de bloques de los elementos integrantes de un codicador.

4.2.4 Decodicadores
El decodicador es un bloque integrado por un cabezal de auto-atención múltiple que recibe como entradas los elementos
de la cadena de salida de la red del transformador desplazados una posición. Para asegurar que la predicción se realiza
usando únicamente la información precedente, pero no la posterior, integra una matriz de enmascarado que permite
anular el efecto de los elementos posteriores de la cadena de salida.
A continuación de este primer bloque, existe un segundo que recibe como entrada la salida del primero así como la salida
procedente de la codicación de la cadena de entrada. La salida de este bloque se alimenta a una capa completamente
conectada. Todas estas etapas son también capas residuales y están seguidas de su correspondiente suma con la entrada
y normalización. La red de decodicación apila en serie N elementos de este tipo.

9
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

Entradas

K Q V

Atención

Sum & Norm

RNCC

Sum & Norm

Salidas

Figura 5: Esquema típico de los elementos integrantes de un codicador. La red de codicación integra varios de estos
elementos en serie. La salida de uno sirve de entrada para el siguiente.

En la gura 4.2.4 se muestra el diagrama de bloques de los elementos integrantes de un decodicador.

4.2.5 Tratamiento de salida

En la capa de salida es necesario realizar una conversión desde el espacio de representación interna hasta el de
representación externa (ver gura 4.2.5). Es la transformación inversa a la operación de embedding, donde pasamos del
vector representativo del diccionario a una representación interna.
Existen dos formas de llevar a cabo la conversión: la primera es tratar a la capa como independiente, realizando el
aprendizaje de los pesos de conversión, mientras que la segunda es utilizar para la matriz inversa del embedding, sin
realizar un aprendizaje independiente.
En [4] se utiliza la estrategia denida en [10] de ligar la transformación de la capa de entrada a la capa de salida. Uno de
los pasos inciales para preparar las entradas, pasa por convertir la representación one-hot de su posición en el diccionario,
por una representación "densa"de las dimensiones del modelo. Este paso se hace mediante una transformación lineal
que reduce las dimensiones desde las del diccionario a la interna de trabajo del modelo. La idea presentada en [10] y
utilizada posteriormente en [4], pasa por utilizar la misma matriz de transformación tanto para las entradas como para
las salidas. Siendo esto así, el clasicador de salida pasa a ser una transformación lineal con los mismos pesos que la de
la entrada.
El algoritmo 6 muestra la versión algorítmica del proceso.

10
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

Salida
desplazada

K Q V

Máscara + Atención

Salida del
último Sum & Norm
codicador

K Q V

Atención

Sum & Norm

RNCC

Sum & Norm

Salidas

Figura 6: Esquema típico de los elementos integrantes de un decodicador. La red de decodicación integra varios de
estos elementos en serie. La salida de uno sirve de entrada para el siguiente. A todos ellos se alimenta la salida de la red
de codicadores

Algorithm 6 Embedding inverso


/* Convierte la representación interna de la red en un elemento */
Entrada: e ∈ Rde , representación interna de un elemento
Salida: p ∈ ∆(V ), vector que contiene la representación distribución de probabilidad sobre el conjunto de elementos
integrantes del vocabulario
Parámetros: Wu ∈ RNV ×de , matriz de embedding inversa
return p = sof tmax(Wu e)

4.2.6 Normalización de capas


Las capas de normalización están presentes como bloque constituyente tanto en los codicadores como en los decodi-
cadores. Su nalidad es el control explícito de la media y la varianza de la activación de cada neurona.

11
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

Capa oculta
(embedding)

Clasicador

Salida

Figura 7: Esquema típico de las operaciones necesarias para convertir la última capa oculta del transformador en una
salida

El algoritmo 7 muestra de forma detallada el proceso que tiene lugar en dichas capas.

Algorithm 7 ê ← normalizacion_de_capa(e|γ, β)
/* Normaliza las activaciones e de la capa */
Entrada: e ∈ Rde , activaciones de entrada sin normalizar
Salida: ê ∈ Rde , activaciones normalizadas
Parámetros: γ, β ∈ Rde , vector de escalado y desplazamiento
de
1) m ← i=1 e[i]/de
de
2) v ← i=1 (e[i] − m)2 /de
3) return ê = e−m √
v
⊙ γ + β, donde ⊙ denota multiplicación componente-componente

5 Tipos de Transformadores

En la sección anterior se ha introducido la arquitectura del transformador mostrando el diagrama original introducido
en [4]. Como ya hemos indicado con anterioridad, la propuesta inicial se hizo como medio alternativo de resolución de
problemas de traducción de secuencia a secuencia y representa el primero de los tipos de modelos posibles de transfor-
madores. En este apartado presentaremos modicaciones de la arquitectura original que surgieron posteriormente y que
han dado lugar a subfamilias de transformadores especializadas en la resolución de problemas distintos. Actualmente
podemos distinguir entre tres tipos de modelos o arquitecturas: los auto-regresivos, los de auto-codicación y los de
conversión de secuencia-a-secuencia.

5.1 Transformadores secuencia-a-secuencia

Los modelos de secuencia-a-secuencia utilizan dos unidades básicas de diseño denominadas codicadores y decodica-
dores. Su nalidad es la conversión de una secuencia de entrada en otra distinta. Sus aplicaciones principales están
relacionadas con la traducción, resumen y respuesta a preguntas. El modelo original es un ejemplo de este tipo de
aplicaciones. T5 [11] sería un ejemplo presentado después del artículo general de la misma arquitectura usada para
resolver otro tipo de tareas más especícas.
El algoritmo 8 recoge los detalles de implementación de lo que sería un transformador de secuencia-a-secuencia.

12
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

Algorithm 8 P ← transf ormadorCD(x | θ)


/* Transformador codicador/decodicador o de secuencia-a-secuencia */
Entrada: z, x ∈ V ∗ , dos secuencias de identicadores de tokens
Salida: P ∈ (0, 1)NV ×longitud(x) , t de P representa Pˆθ (x[t + 1] | x[1 : t], z)
Hiperparámetros: ℓmax , Lenc , Ldec , H, de , dmlp , df ∈ N
Parámetros: θ que incluye a:
We ∈ Rde ×NV , Wp ∈ Rde ×ℓmax , matrices de embedding de token y posición
Para l ∈ [Lenc ]:
W enc qkv,l , auto-atención de la capa l
γ 1l , β 1l , γ 2l , β 2l ∈ Rde , dos conjuntos de normalización de capas
W lmlp1 ∈ Rdmlp ×de , blmlp1 ∈ Rdmlp , W lmlp2 ∈ Rdmlp ×de , blmlp2 ∈ Rdmlp
Para l ∈ [Ldec ]:
e/d
W dec qkv,l , W qkv,l , auto-atención y auto-atención cruzada de la capa l
γ 3l , β 3l , γ 4l , β 4l , γ 5l , β 5l ∈ Rde , tres conjuntos de normalización de capas
W lmlp3 ∈ Rdmlp ×de , blmlp3 ∈ Rdmlp , W lmlp4 ∈ Rdmlp ×de , blmlp4 ∈ Rdmlp
W u ∈ RNV ×de , matriz inversa de embedding
/* Codicación de la secuencia de contexto */
1 ℓz ← longitud(z)
2 para t ∈ [ℓz ] : et ← W e [:, z[t]] + W p [:, t]
3 Z ← [e1 , e2 , ..., el ]
4 para ℓ = 1, 2, ..., Lenc hacer
5 Z ← Z + atencion_multicabezal(Z | W enc qkv,l , M ask ≡ 1)
6 para t ∈ [ℓZ ] : Z[:, t] ← normalizacion(Z[:, t] | γ 1l , β 1l )
7 Z ← Z + W lmlp2 ReLU(W lmlp1 Z + blmlp1 1T ) + blmlp2 1T
8 para t ∈ [ℓZ ] : Z[:, t] ← normalizacion(Z[:, t] | γ 2l , β 2l )
9 fpara
/* Decodicación de la primera secuencia condicionada por el contexto */
10 ℓX ← longitud(X)
11 para t ∈ [ℓX ] : et ← W e [:, x[t]] + W p [:, t]
12 X ← [e1 , e2 , ..., el ]
13 para i = 1, 2, ..., Ldec hacer
14 X ← X + atencion_multicabezal(X | W dec ′ ′
qkv,l , M ask[t, t ] = [[t ≤ t ]])
3
15 para t ∈ [ℓX ] : X[:, t] ← normalizacion(X[:, t] | γ l , β l ) 3
e/d
16 X ← X + atencion_multicabezal(X, Z | W qkv,l , M ask ≡ 1)
17 para t ∈ [ℓX ] : X[:, t] ← normalizacion(X[:, t] | γ 4l , β 4l )
18 X ← X + W lmlp4 ReLU(W lmlp3 X + blmlp3 1T ) + blmlp4 1T
19 fpara
20 return P = sof tmax(Wu X)

En la gura 5.1 representa el diagrama funcional típico representativo de esta arquitectura. Este diagrama es equivalente
al de la gura 4.2, mostrando los elementos constitutivos al más alto nivel, esto es: los bloques de tratamiento de la
secuencia de entrada, los codicadores, decodicadores y nalmente la capa de clasicación y salida.
En la gura 5.1 mostramos un ejemplo de una secuencia típica de entrada y otra de salida. Las secuencias mostradas
serían un ejemplo de una traducción de una secuencia inicial en griego clásico a otra secuencia en español. Al modelo
se le entraría la primera y se obtendría como salida la segunda.
En el algoritmo 9 se muestra lo que sería el código necesario para realizar la optimización del modelo utilizando un
conjunto de datos de entrada.

13
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

Entrada

Codicadores
en serie

Salidas Decodicadores
anteriores en serie

Clasicador

Salida
siguiente

Figura 8: Arquitectura típica del modelo de transformador de secuencia-a-secuencia

ἓν οἶδα ὅτι οὐδὲν οἶδα

Sólo sé , que nada sé

Figura 9: Ejemplo de un conjunto de entrada y salida común de un modelo secuencia-a-secuencia. En este caso sería un
modelo de traducción de griego clásico al español.

Algorithm 9 θ̂ ← entrenamientoCD(z 1:Ndata , x1:Ndata , θ)


/* Entrenamiento de un transformador de secuencia-a-secuencia */
Entrada: (z n , xn )Nn=1 , un conjunto de datos de parejas de secuencias
data

Entrada: θ, valores de partida de los parámetros del transformador


Salida: θ̂, valor de los parámetros después del entrenamiento
Hiperparámetros: Nepochs ∈ N, η ∈ (0, ∞)
1 para i = 1, 2, ..., Nepochs hacer
2 para n = 1, 2, ..., Ndata hacer
3 ℓ ← longitud(xn )
4 Pθ ← transf ormador_de_codif icadores_decodif icadores(z n , xn | θ)
ℓ−1
5 loss(θ) = − t=1 logP (θ)[xn [t + 1], t]
6 θ ← θ − η∇loss(θ)
7 fpara
8 fpara
9 retorna: θ̂ = θ

5.2 Transformadores bidireccionales o de auto-codicación

Los modelos de auto-codicación son aquellos que están pre-entrenados para la corrección de entradas corrompidas
articialmente. Esto se hace para entrenar al modelo en la reconstrucción del texto original. Este tipo de modelos se
corresponden con la parte del codicador de la arquitectura original en el sentido que no utilizan máscaras para anular
el efecto del texto posterior. Estos modelos construyen una representación bidireccional de la frase en su totalidad y
pueden ser posteriormente ser entrenados para resolución de tareas especícas como la generación de texto, aunque su
aplicación principal es la clasicación de frases. Un ejemplo típico de estos modelos sería BERT [9].

14
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

El algoritmo 10 recoge los detalles de implementación de lo que sería un transformador bidireccional, esto es un
transformador formado únicamente por codicadores.

Algorithm 10 P ← codif icador(x | θ)


/* Transformador formado por codicadores, bidireccional o auto-codicador */
Entrada: x ∈ V ∗ , una secuencia de identicadores de tokens
Salida: P ∈ (0, 1)NV ×longitud(x) , donde cada columna de P es una distribución sobre todo el vocabulario
Hiperparámetros: ℓmax , L, H, de , dmlp , df ∈ N
Parámetros: θ que incluye a:
We ∈ Rde ×NV , Wp ∈ Rde ×ℓmax , matrices de embedding de token y posición
Para l ∈ [L]:
W qkv,l , parámetros de auto-atención de la capa l
γ 1l , β 1l , γ 2l , β 2l ∈ Rde , dos conjuntos de normalización de capas
W lmlp1 ∈ Rdmlp ×de , blmlp1 ∈ Rdmlp , W lmlp2 ∈ Rdmlp ×de , blmlp2 ∈ Rdmlp
W f ∈ Rdf ×de , bf ∈ Rdf , γ, β ∈ Rdf , proyección lineal y normalización nal
W u ∈ RNV ×de , matriz inversa de embedding
1 ℓ ← longitud(x)
2 para t ∈ [ℓ] : et ← W e [:, x[t]] + W p [:, t]
3 X ← [e1 , e2 , ..., el ]
4 para ℓ = 1, 2, ..., L hacer
5 X ← X + atencion_multicabezal(X | W qkv,l , M ask ≡ 1)
6 para t ∈ [ℓ] : X[:, t] ← normalizacion(X[:, t] | γ 1l , β 1l )
7 X ← X + W lmlp2 GELU(W lmlp1 X + blmlp1 1T ) + blmlp2 1T
8 para t ∈ [ℓ] : X[:, t] ← normalizacion(X[:, t] | γ 2l , β 2l )
9 fpara
10 X ← GELU(W f X + bf 1T )
11 para t ∈ [ℓ] : X[:, t] ← normalizacion(X[:, t] | γ, β)
12 return P = sof tmax(Wu X)

Algorithm 11 θ̂ ← entrenamientoC(x1:Ndata , θ)
/* Entrenamiento mediante modelización mediante máscara */
Entrada: {xn }N n=1 , un conjunto de datos de secuencias
data

Entrada: θ, valores de partida de los parámetros del transformador


Salida: θ̂, valor de los parámetros después del entrenamiento
Hiperparámetros: Nepochs ∈ N, η ∈ (0, ∞), pmask ∈ (0, 1)
1 para i = 1, 2, ..., Nepochs hacer
2 para n = 1, 2, ..., Ndata hacer
3 ℓ ← longitud(xn )
4 para t = 1, 2, ..., ℓ hacer
5 x̃n [t] ← enmascara_token o xn [t] aleatoriamente con probabilidad pmask o 1 − pmask
6 fpara
7 T̃ ← {t ∈ [ℓ] : x̃n [t] = enmascara_token}
8 P (θ) ← transf  ormador_de_codif icadores(x̃n | θ)
10 loss(θ) = − t∈T̃ logP (θ)[xn [t], t]
11 θ ← θ − η∇loss(θ)
12 fpara
13 fpara
14 retorna: θ̂ = θ

La red de codicación apila en serie L elementos del mismo tipo. La salida de cada bloque sirve de entrada para el
siguiente. Las dimensiones de la transformación se mantienen, por lo que entrada y salida tienen el mismo tamaño.

15
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

Entradas

Codicadores
en serie

Clasicador

Salida

Figura 10: Arquitectura típica del modelo de transformador auto-codicador

Protágoras , el ? diálogo Socrático último

? , el último diálogo Socrático Protágoras

Protágoras , el último diálogo ? Socrático

Figura 11: Ejemplo de entradas y salidas típicas de los modelos de auto-codicación. En este caso se presentan tres
entradas posibles con sus valores de salida esperados

BERT-b BERT-l XLNet-l RoBERTa-l DistillBERT-b ALBERT-l


Arquitectura
nparam 108 × 106 340 × 106 340 × 106 355 × 106 66 × 106 18 × 106
Tparam 432 MB 1360 MB 1360 MB 1420 MB 264 MB 72 MB
ℓmax 512 512
Lenc 12 24 24 24 6 24
H 12 16 16 16 12 16
dattn 64 64 64 64 8
de 768 1024 1024 1024 128
dmlp 3072 4096 4096 512
NV 30522
centrada WordPiece
Entrenamiento
Tdatos 16 GB 16 GB 113 GB 160 GB 16 GB 16 GB
ntokens 3,3 × 109 3,3 × 109 33 × 109 3,3 × 109
ratiocompr 30,5 9,7 97,0 50,0
Optimizador Adam
BS 8000
Rendimiento
GLUE base +15 % +20 % −3 % +25 %
Cuadro 1: Características de algunos de los primeros modelos bidireccionales más conocidos

5.3 Transformadores auto-regresivos

Los modelos auto-regresivos son aquellos que a partir de una secuencia de entrada inicial generan nuevas salidas que
a su vez se incorporan a la secuencia inicial como entrada para generar nuevas salidas. Su principal aplicación es la

16
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

generación de texto, aunque es posible ajustarlos con un entrenamiento posterior para adaptarlos a la resolución de
problemas especícos. Un ejemplo de este tipo de modelos sería la familia de GPT.
El algoritmo 12 recoge los detalles de implementación de lo que sería un transformador auto-regresivo, esto es un
transformador formado únicamente por decodicadores.

Algorithm 12 P ← transf ormadorD(x | θ)


/* Transformador formado por decodicadores o auto-regresivo */
Entrada: x ∈ V ∗ , una secuencia de identicadores de tokens
Salida: P ∈ (0, 1)NV ×longitud(x) , donde la columna t de P representa Pˆθ (x[t + 1] | x[1 : t])
Hiperparámetros: ℓmax , L, H, de , dmlp , df ∈ N
Parámetros: θ que incluye a:
We ∈ Rde ×NV , Wp ∈ Rde ×ℓmax , matrices de embedding de token y posición
Para l ∈ [L]:
W qkv,l , parámetros de auto-atención de la capa l
γ 1l , β 1l , γ 2l , β 2l ∈ Rde , dos conjuntos de normalización de capas
W lmlp1 ∈ Rdmlp ×de , blmlp1 ∈ Rdmlp , W lmlp2 ∈ Rdmlp ×de , blmlp2 ∈ Rdmlp
W f ∈ Rdf ×de , bf ∈ Rdf , γ, β ∈ Rdf , proyección lineal y normalización nal
W u ∈ RNV ×de , matriz inversa de embedding
1 ℓ ← longitud(x)
2 para t ∈ [ℓ] : et ← W e [:, x[t]] + W p [:, t]
3 X ← [e1 , e2 , ..., el ]
4 para ℓ = 1, 2, ..., L hacer
5 para t ∈ [ℓ] : X[:, t] ← normalizacion(X[:, t] | γ 1l , β 1l )
6 X ← X + atencion_multicabezal(X | W qkv,l , M ask[t, t′ ] = [[t ≤ t′ ]])
7 para t ∈ [ℓ] : X[:, t] ← normalizacion(X[:, t] | γ 2l , β 2l )
8 X ← X + W lmlp2 GELU(W lmlp1 X + blmlp1 1T ) + blmlp2 1T
9 fpara
10 para t ∈ [ℓ] : X[:, t] ← normalizacion(X[:, t] | γ, β)
11 return P = sof tmax(Wu X)

Igual que en los codicadores, la red de decodicación apila en serie N elementos del mismo tipo. La salida de cada
bloque sirve de entrada para el siguiente. Las dimensiones de la transformación se mantienen, por lo que entrada y
salida tienen el mismo tamaño.

Salidas
anteriores

Decodicadores
en serie

Clasicador

Salida
siguiente

Figura 12: Arquitectura de transformador auto-regresivo

En el algoritmo 13 se muestra el conjunto de operaciones que se llevan a cabo en un bucle de entrenamiento.

17
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

Protágoras , el último

Protágoras , el último diálogo

Protágoras , el último diálogo Socrático

Figura 13: Ejemplo de entradas y salidas típicas de los modelos auto-regresivos. En este caso se presentan tres entradas
posibles con sus respectivas salidas esperadas

GPT-1 GPT-2 GPT-3


Arquitectura
nparam 117 × 106 1,5 × 109 175 × 109
Tparam 468 MB 6 GB 700 GB
ℓmax 512 1024 2048
Ldec 12 48 96
H 12 12 96
dattn 64 128
dmlp 3072
NV 40478 50257 50257
centrada BPE BPE BPE
de 768 1600 12288
Entrenamiento
Tdatos 1 GB 40 GB 2 TB
ntokens 25 × 107 10 × 109 499 × 109
ratiocompr 2,13 6,66 2,85
Optimizador Adam Adam Adam
BS 64 512 3,2 × 106
Cuadro 2: Características de los modelos autoregresivos de la familia GPT.

Algorithm 13 θ̂ ← entrenamientoD(x1:Ndata , θ)
/* Entrenamiento para predicción de siguiente token */
Entrada: {xn }N n=1 , un conjunto de datos de secuencias
data

Entrada: θ, valores de partida de los parámetros del transformador


Salida: θ̂, valor de los parámetros después del entrenamiento
1 para i = 1, 2, ..., Nepochs hacer
2 para n = 1, 2, ..., Ndata hacer
3 ℓ ← longitud(xn )
4 Pθ ← transf ormador_de_decodif icadores(xn | θ)
ℓ−1
5 loss(θ) = − t=1 logP (θ)[xn [t + 1], t]
6 θ ← theta − η∇loss(θ)
7 fpara
8 fpara
9 retorna: θ̂ = θ

18
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

Algorithm 14 θ̂ ← inf erencia_tranf ormadorD(x, θ̂)


/* Predicción usando un modelo entrenado */
Entrada: θ̂, parámetros entrenados
Entrada: x ∈ V ∗ , una secuencia de entrada
Salida: y ∈ V ∗ , predicción de la continuación de la secuencia de entrada
Hiperparámetros: ℓgen ∈ N, τ ∈ (0, ∞)
1 ℓ ← longitud(x)
2 para n = 1, 2, ..., ℓgen hacer
3 P ← transf ormador_de_decodif icadores(x | θ̂)
4 p ← P [:, ℓ + i − 1]
5 muestrea un token y de q ∼ p1/τ
6 x ← [x, y]
7 fpara
8 retorna y = x[ℓ + 1 : ℓ + ℓgen ]

Algorithm 15 θ̂ ← inf erencia_transf ormadorCD(x, θ̂)


/* Predicción usando un transformador secuencia-a-secuencia */
Entrada: θ̂, parámetros entrenados
Entrada: z ∈ V ∗ , una secuencia de entrada
Salida: x̂ ∈ V ∗ , predicción de la secuencia de salida
Hiperparámetros: τ ∈ (0, ∞)
1 x̂ ← [bos_token]
2 y←0
3 mientras y ̸= eos_token hacer
4 P ← transf ormador_CD(z, x̂ | θ̂)
5 p ← P [:, longitud(x̂)]
5 muestrea un token y de q ∼ p1/τ
6 x̂ ← [x̂, y]
7 fpara
8 retorna x̂

6 Transformadores para procesamiento del lenguaje natural (NLP)


6.1 Desarrollos previos: embeddings

Previo a la introducción de los algoritmos basados en transformadores es importante hacer mención a un conjunto de
algoritmos que se crearon en los años anteriores, concretamente a los algoritmos de creación de embeddings.
En el contexto de NLP un embedding es una representación matemática del signicado de las palabras. Esta transforma-
ción parte del supuesto que es posible representar el conocimiento en un espacio vectorial multi-dimensional. De esta
manera cualquier palabra del lenguaje tendrá una transformación en ese espacio. A los vectores representativos de las
palabras se les denomina embeddings.
En los años anteriores a la introducción de los transformadores se realizaron multitud de publicaciones deniendo
distintos métodos para realizar dicha transformación. Entre los más conocidos tenemos a Word2Vec [12], GloVe [13],
FastText [14], entre otros.
Estos algoritmos realizan la transformación utilizando una red neuronal poco profunda. Estre las propiedades más
destacadas de estos algoritmos están las siguientes:

• Similaridad entre palabras de sinónimas o semejantes: En el espacio transformado palabras de signicado


similar convergen en ubicaciones similares. Así por ejemplo, palabras como ’coche’, ’vehículo’ o ’furgo-
neta’ están relativamente más cercanas entre ellas de otras como ’luna’, ’espacio’ o ’árbol’, entendiendo la
proximidad como una similaridad calculada como distancia euclidiana o similaridad del coseno, por ejemplo.
• Codicación de relaciones lingüísticas entre palabras: Una característica cuando menos sorprendente de
estas transformaciones es la codicación de algunas relaciones entre palabras como transformaciones lineales.

19
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

Por ejemplo, la transformación lineal entre ’hombre’ y ’mujer’ es similar a la necesaria entre ’rey’ y ’reina’, ’tío’
y ’tía’ o ’actor’ y ’actriz’, generalizando por tanto esa transformación como una transformación de género. Así,
esto habilita la posibilidad de realizar operaciones con resultados aproximados como − →−−
rey
−−−→ −−−→
hombre + mujer ≈
−−→ −−→ −−−−→ −−−−−−→ −−−→
reina o como París − Francia + Alemania ≈ Berlín

Las limitaciones de estos métodos proceden de la propia naturaleza de su diseño. Al estar entrenados para codicar el
signicado de las palabras aisladas, no codican el contexto. Una posibilidad para integrar el contexto, en el entorno de
las redes neuronales, pasó por utilizar los embeddings como transformaciones previas a la entrada a las redes neuronales
recurrentes, con el objetivo que éstas se encargaran de codicar el contexto como medio de resolución de problemas de
procesamiento natural concretos.
Los transformadores suponen un paso más allá. El objetivo de los mismos pasa por realizar un aprendizaje de inicio a n.
Las transformaciones del embedding pasan a formar parte de la propia red y son aprendidas en tiempo de entrenamiento,
quedando integradas como parte de la red global como los parámetros de auto-atención de la primera capa.

6.2 Inicios de los Transformadores para NLP

Las publicaciones iniciales que marcaron la evolución posterior de los transformadores se circunscriben en el ámbito
del procesamiento natural. Presentamos a continuación, en orden cronológico, un breve resumen de aquellas que
consideramos más relevantes para la denición de este paradigma de diseño así como las aportaciones más signicativas
de cada una de estas publicaciones.
Introducción de la arquitectura. [4]
ULMFiT (Universal Language Model Fine-tuning for Text Classication): Los autores presentan una solución para
resolver cualquier tarea de NLP mediante aprendizaje por transferencia. Introdujo la idea de general-domain, aprendizaje
no supervisado seguido de ne-tuning. Introdujeron también otras técnicas ampliamente utilizadas posteriormente en
otros trabajos como slanted triangular learning rate schedules (akas warm-up). [15]
GPT [16] y GPT-2 [17] (Generative Pre-Trained Transformers) Se presenta una arquitectura formada únicamente por
decodicadores. (haciendo esto de esta forma se pierde la naturaleza autoregresiva/unidireccional del modelo??¿¿??) La
mayor contribución de estas publicaciones es que demostraron el valor de entrenar modelos de enorme tamaño.
BERT [9] (Bidirectional Encoder Representations from Transformers) Los autores usa únicamente codicadores para
preentrenar representaciones bidireccionales de texto no etiquetado. Estos modelos son anados posteriormente con
segundo entrenamiento, añadiendo únicamente una capa de salida adicional, para resolver aplicaciones especícas. Este
modelo supuso un antes y un después en la resolución de problemas de NLP.
RoBERTa [18] (Robustly Optimized BERT Approach) Los autores proponen una arquitectura idéntica a BERT
introduciendo una serie de mejoras del procedimiento de entrenamiento. Básicamente, es un BERT con un entrenamiento
mejorado.
T5 [11] (Text-to-Text Transfer Transformer) Las principales contribuciones de este trabajo son, por una parte, la
reformulación de la forma de reportar los resultados sustituyendo el enfoque numérico por un enfoque textual y por otra,
el estudio sistemático de la contribución de la función objetivo, arquitecturas, conjuntos de datos, transfer approaches y
otros factores en los resultados obtenidos en un conjunto de tareas canónicas de NLP.

6.3 Tipos de representaciones aprendidas por los Transformadores

Vamos a intentar clasicar los distintos tipos de representaciones que es posible conseguir dependiendo del tipo de
transformador que se entrene.

1. Representaciones contextuales vs no-contextuales: Word2Vec o FastText son no contextuales mientras que


todos los procedentes delos transformadores son textuales.
2. Unidireccional vs Bidireccionales

6.4 Escalado de tamaño en las capacidades de los transformadores

Explicar lo de las emerging properties

20
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

7 Transformadores para Visión (ViT)

En las secciones anteriores hemos estudiado los transformadores en su aplicación de referencia, el procesamiento del
lenguaje natural. Después de los prometedores resultados obtenidos en dicho campo, algunos autores empezaron a
considerar la posibilidad de usar dicha arquitectura en otros campos como la visión.
Desde su introducción, se demostró que el rendimiento de los modelos ViT es comparable al de arquitecturas especiali-
zadas como son las redes convolucionales para aplicaciones típicas de visión por computador como la clasicación de
imágenes [19], detección de objetos [20], segmentación semántica [21], colorización de la imagen [22], visión de bajo
nivel [23] y comprensión de video [24], por citar algunas. Además, recientes investigaciones indican que los errores de
predicción de ViTs son más consistentes con las de los humanos que las redes convolucionales [25].
El funcionamiento de los ViT es similar a un transformador convencional. La única diferencia esencial radica en la
naturaleza de la señal de entrada, que en vez de ser una secuencia de palabras, es una imagen. La problemática radica,
por tanto, en cómo tratar la entrada para que sea gestionable por el modelo; esto es, adaptar el tokenizador para trabajar
con imágenes. Una de las primeras propuestas realizadas en la bibliografía, con muy buenos resultados, consiste en
particionar la imagen en partes disjuntas más pequeñas y alimentarlas a la red de forma secuencial. Cada parte tiene las
mismas dimensiones (16x16, por ejemplo en [19]) y actúa de forma equivalente a lo que sería la codicación de un
elemento en una secuencia. A este vector se le añade un embedding para codicar la posición que ocupa en la imagen,
al estilo de lo que se realiza con las secuencias de texto para ubicar cada elemento.

Figura 14: Diagrama del proceso de partición, secuenciación y embedding de una imagen para su procesado en el
transformador de visión (adaptado de [26])

En [27] se puede encontrar un exhaustivo compendio de todas las referencias existentes hasta el momento relativas a
transformadores para visión. Si bien el objetivo principal de la arquitectura de los transformadores es conseguir un
tratamiento generalista para datos heterogéneos, no todas las publicaciones existentes van en ese sentido. Así podemos
encontrar artículos que modican los sistemas de atención para conseguir las propiedades de localidad semejantes al de
las redes convolucionales mediante el uso de atención local o jerárquica, conceptos que describiremos en el capítulo
dedicado a los transformadores multi-modales. Otras utilizan como entrada del transformador, atributos representativos
de la imagen procedentes de redes convolucionales pre-entrenadas. Aunque se aleja del objetivo de este módulo el
presentar la miriada de variaciones existentes publicadas que están alejadas del espíritu generalista de la arquitectura,
realizaremos una presentación general de las propuestas realizadas hasta el momento al respecto. Hay que tener en
cuenta que los transformadores, en general, y para visión en particular, son una arquitectura novel, por tanto no madura,
que seguro que estará sujeta a grandes innovaciones futuras. Independientemente del interés que pueda suscitar una
aplicación particular, el objetivo de este módulo está destinado a explicar aquellas arquitecturas más generalistas que
funcionen bien en un amplio abanico de circunstancias. En las secciones que siguen intentaremos presentar aquellas
arquitecturas que cumplen ese cometido para las aplicaciones de visión en los campos de clasicación, detección y
segmentación. Para aplicaciones más especícas se puede consultar la extensa bibliografía.

7.1 Clasicación

Hasta el momento se puede decir que hay hasta seis formas distintas de abordar la contribución de los transformadores
en la resolución de problemas de clasicación que enumeramos a continuación:

1. Adaptación directa de la arquitectura original [19]. La imagen original se dispone como un conjunto de partes
más pequeñas no superpuestas (patches) que son tratadas como elementos de una secuencia.

21
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

2. Transformador de atributos procedentes de una red convolucional [28]. Los atributos extraídos de una capa
intermedia de una red CNN pre-entrenada son alimentados a un transformador para mejorar sus capacidades de
representación. La ventaja de este enfoque es que los elementos de la secuencia inicial ya separan y codican
la información, que es combinada y perfeccionada por el transformador. De esta manera se aprovechan los
priores estructurales de la CNN para facilitar el trabajo posterior.
3. Destilación del conocimiento de una convolucional pre-entrenada [29]. Una red CNN actúa como maestra
de una red basada en transformadores. El proceso de aprendizaje consigue transferir los sesgos inductivos a
la red aprendiz mediante destilación del conocimiento [30]. Sorprendentemente, la red aprendiz basada en
transformadores acaba obteniendo mejores resultados predictivos que los de la red convolucional de la que
deriva.
4. Transformador con atención localizada [27] y Transformadores jerárquicos . Es un transformador con módulos
de atención adaptados para funcionar de forma localizada. A partir la partición de la imagen de entrada en
elementos más pequeños que en ViT original [19] (4x4 en vez de 16x16), estás se alimentan a matrices de
auto-atención que combinan únicamente las particiones más próximas. Una vez calculada la atención, se
recombina con las atenciones circundantes mediante una capa de fusión. Las capas siguientes aplican el mismo
modelo se atención localizada desplazando las particiones combinadas. De esta forma se consigue combinar
la información con las zonas adyacentes. En [31], [32] se utilizan aproximaciones similares basadas en un
tratamiento jerárquico donde los módulos de atención son modicados para integrar una progresiva reducción
del espacio de cálculo.

En la gura 7.1 se muestra la evolución temporal del estado del arte para clasicación de imágenes (benchmark
Imagenet). Se puede observar como a mediados del 2022 los modelos con mejor rendimiento están basados en
transformadores (ViT-G/14, 1843M de parámetros, 91,0 % [33]) seguido muy de cerca de uno basado en redes
convolucionales (EfcientNet-L2, 480M de parámetros, 90,2 % [34]). Para hacer comparativos los resultados buscamos
un transformador con un número similar de parámetros. Encontramos que DaViT-H, con 362M consigue también un
90,2 % [33]. A partir de estos resultados se puede concluir que la arquitectura de los transformadores, a pesar de no
disponer de priores estructurales, consigue obtener resultados de clasicación parejos e incluso mejores de rendimiento
respecto a las CNNs más competitivas, con una complejidad computacional similar. En contrapartida cabe indicar que
para conseguir estos resultados es necesario someter a las redes de transformadores a procesos de optimización más
prolongados y con conjuntos de datos grandes. Una alternativa cuando no se dispone de sucientes datos etiquetados es
utilizar una etapa previa de aprendizaje semi-supervisado [35].

100

ViT-G/14
90 NoisyStudent (EfficientNet-L2)
FixResNeXt-101 32x48d
AmoebaNet-A
ResNeXt-101 64x4
TOP 1 ACCURACY

80 Inception V3

VGG-19

MSRA
70
Five Base + Five HiRes
AlexNet

60

50
2014 2016 2018 2020 2022

Other models State-of-the-art models

Figura 15: Estado del arte de los modelos de clasicación de imagen [36])

22
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

7.2 Detección

Cuando referimos al uso de transformadores para detección en imágenes debemos realizar una distinción de inicio entre
las aplicaciones que utilizan un enfoque de transformador de extremo-a-extremo, de aquellas que lo usan únicamente
como backbone para extracción de atributos pero utilizan un bloque nal de detección convencional (por ejemplo
RetinaNet [37] o Mask R-CNN [38]).
Los backbone mencionados vienen a ser transformadores pre-entrenados en tareas de clasicación que se utilizan como
extractor de atributos para alimentar a un cabezal de detección. Para un compendio de los modelos que utilizan este tipo
enfoque se puede consultar la bibliografía [27].
En lo que respecta a los transformadores de extremo-a-extremo, en el momento de la redacción de este capítulo,
existen dos paradigmas distintos para abordar el problema de detección: uno sería la familia de modelos derivados de
la arquitectura DETR [39] y el otro basado en modelos derivados de Pix2Seq [40]. Estudiamos a continuación las
características denitorias de cada uno de ellos.

7.2.1 DETR: DEtection with TRansformer


En la gura 7.2.1 se muestra esquemáticamente la arquitectura de detección DETR. La imagen de entrada se particiona,
secuencia y alimenta a un transformador secuencia-a-secuencia. El tokenizador está formado por una red convolucional
que extrae los atributos de la imagen original para posteriormente entrar en el transformador codicador. La originalidad
de esta propuesta viene en la parte de decodicación. Esta, por una lado recibe los datos procedentes de la codicación
y por otro, una secuencia de entrada. Esta representa la propuesta de objetos a detectar. A su paso por la red de
decodicación se combina con la información de la imagen dando como resultado la secuencia de salida. Si la red ha
cumplido su función, la secuencia de salida contendrá la representación interna de la detección de los objetos presentes
en la imagen. La secuencia de elementos de salida tiene la misma cardinalidad que la de entrada y alimenta a una red
neuronal independiente para cada elemento de la que deriva la clase y el cuadro delimitador los elementos detectados.
El tamaño de la secuencia del decodicador determina el número máximo de elementos que es posible detectar. En
el artículo original, el número máximo de objetos es de 100. El modelo prevé una clase especial para indicar la no
presencia de objeto para cada posición. En DETR la secuencia de entrada está formada por números aleatorios que
sirven como prior para la detección de los objetos. A pesar de la naturaleza aleatoria del prior de DETR los resultados
obtenidos son muy buenos. Trabajos publicados posteriormente han intentado mejorar las capacidades predictivas de
la red anando los priores de la secuencia de entrada (SMCA [41], Conditional DETR [42], Anchor DETR [43],
DAB-DETR [44], Efcient DETR [45], Dynamic DETR [46]).

Figura 16: Figura 7.2.1. Arquitectura del transformador DETR especializado en detección [39])

Un punto clave del diseño de esta arquitectura es el diseño de una función de pérdida que permita la optimización
eciente de la red durante el aprendizaje supervisado, esto es la comparación de los valores predichos con los reales.
Para comprender la dicultad del problema, podemos ver el ejemplo indicado en la tabla 3. Observamos como las
clases predichas y reales no necesariamente se van a encontrar en la misma posición. Además, el ordenamiento de las
predicciones tampoco garantiza la coincidencia, pues será frecuente el caso en que el modelo no sea capaz de predecir
todos los elementos o que lo haga de forma errónea. Este problema se resuelve calculando la función de pérdida para
todas las agrupaciones posibles entre valores verdaderos y predichos, escogiendo aquella combinación donde la pérdida
es menor. [39], [47].
La función de pérdida calculada con el emparejamiento bipartito es la que se muestra en la ecuación 6.

N

σ̂ = argmin Lmatch (yi , ŷσ(i) ),
σ∈GN i (6)
Lmatch (yi , ŷσ(i) ) = −⊮{ci ̸=∅} p̂σ(i) (ci ) + ⊮{ci ̸=∅} Lbox (bi , b̂σ(i) )

Una vez hecho el emparejamiento óptimo, para llevar a cabo la optimización de la red, se utiliza la función de pérdida
húngara (eq. 7).

N

LH (yi , ŷσ(i) ) = [−log p̂σ̂i (ci ) + ⊮{ci ̸=∅} Lbox (bi , b̂σ(i) )] (7)
i=1

23
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

Real Predicho
Clase Desde Hasta Clase Desde Hasta
vaso (100, 200) (200, 300) sin objeto (20, 40) (10,0)
botella (300, 200) (400, 300) vaso (98, 198) (210,310)
bol (100, 200) (200, 300) sin objeto (20, 40) (10,0)
portátil (100, 200) (200, 300) sin objeto (20, 40) (10,0)
ratón (100, 200) (200, 300) sin objeto (20, 40) (10,0)
silla (500, 400) (700, 500) bolsa (460, 560) (510, 599)
bolsa (450, 550) (500, 600) sin objeto (20, 40) (10,0)
sin objeto (0, 0) (0, 0) sin objeto (20, 40) (10,0)
sin objeto (0, 0) (0, 0) botella (20, 40) (10,0)
sin objeto (0, 0) (0, 0) sin objeto (20, 40) (10,0)
Cuadro 3: Ejemplo de valor real y predicho en una red de detección

7.2.2 Pix2Seq

En la gura 7.2.2 se muestra un esquema del funcionamiento de Pix2Seq. Utiliza un nuevo paradigma consistente en un
mapeo directo entre la imagen a tratar y la salida de secuencia de texto, donde se codican clase y cuadro delimitador
de todos los elementos detectados. Es una solución elegante con resultados de rendimiento similares a los obtenidos por
DETR e incluso en algunas circunstancias mejores (por ejemplo en la detección de objetos pequeños).
Utiliza una red de transformadores formada por codicadores y decodicadores resolviendo de forma auto-regresiva.
La parte de codicación puede ser o bien un transformador o una red convolucional. El codicador extrae los atributos
de interés de la imagen para alimentarlos a la red de decodicadores que los convierten junto con los comandos
procedentes de la secuencia de entrada en una salida textual. Se genera un elemento cada vez condicionado a los
atributos suministrador por el codicador y a los elementos de la secuencia generados hasta el momento.

Figura 17: Tipología de E/S del transformador Pix2Seq especializado en detección [39])

La naturaleza textual de la salida simplica los cálculos requeridos de la función de pérdida con respecto a DETR. El
formato esperado de la salida es un conjunto de elementos de la forma [x_min], [y_min], [x_max], [y_max], [clase],
... [EOS], donde EOS sería el indicador de nal de secuencia que aparece después de la salida de todos los cajetines
delimitadores presentes en la imagen. Durante el entrenamiento la ordenación de los elementos en la secuencia de
predicción se hace de forma aleatoria. Se optimiza mediante la función de pérdida típica de log-likelihood utilizada por
los transformadores auto-regresivos de NLP (eq. 8).

L

max ω j logP (ỹ j | x, y 1:j−1 ) (8)
j=1

donde x es una imagen determinada, y y ỹ las secuencias de entrada y objetivo respectivamente asociadas con x y L
la longitud de la secuencia. ω j es un peso preestablecido para el elemento j de la secuencia. En el caso de Pix2Seq,
ω j = 1, ∀j

24
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

7.3 Segmentación

Segmentación es el término genérico que se utiliza para referirse en realidad a tres problemas distintos: segmentación
semántica, segmentación de instancias y segmentación panóptica. La segmentación semántica es el problema consistente
en asignar a cada píxel de una imagen una clase. Este tipo de segmentación es el más sencillo pues no requiere de la
separación entre objetos distintos pertenecientes a una misma clase. En la segmentación panóptica y en la segmentación
de instancias el objetivo es más complejo pues, no únicamente pretenden separar clases sino también objetos. La
diferencia entre ambas es que la panóptica identica cada píxel con una única clase, mientras que la de instancias
permite que un píxel esté asociado a más de una clase, teniendo en cuenta la superposición de objetos.
Las propuestas para resolver los problemas de segmentación utilizando transformadores han estado y están sometidos
a una profunda evolución. Podemos distinguir entre dos enfoques: por un lado la segmentación directa a partir de la
información de los píxeles de la imagen y por otra la construcción de representaciones internas basadas en objetos, para
inferir posteriormente las máscaras de segmentación.
Las propuestas iniciales basadas en el método directo son una extensión del ViT para la resolución de tareas de
segmentación (véase SETR [21]). Esta primera aproximación sirvió para demostrar la viabilidad de la arquitectura
para la resolución de este tipo de problemas, aunque con unos costes computacionales elevados. Posteriormente, se
presentaron propuestas basadas en la representación interna de objetos con arquitecturas derivadas de la arquitectura de
detección DETR presentada en la sección anterior. Las primeras propuestas requerían de clase, cuadro delimitador y
máscara. Las posteriores son capaces de derivar máscara y clase directamente sin la necesidad de cuadro delimitador.
Presentaremos en esta sección la arquitectura Mask2Former [48], como un ejemplo de una arquitectura madura que
permite resolver con una única arquitectura las tres tareas segmentación: semántica, de instancias y panóptica.
En la gura 7.3 se muestra el esquema representativo del transformador de segmentación MaskFormer (válido también
para Mask2Former).

Figura 18: Transformador MaskFormer. Arquitectura especializada en segmentación de imágenes. [49])

Podemos observar que consta de un backbone, que puede ser tanto una red convolucional o como un ViT, del que se
extraen los atributos representativos de la imagen. Éstos se alimentan a un decodicador de píxeles y a un transformador
decodicador. El decodicador de píxeles es una FPN (Feature Pyramid Network) [50], pero podría ser cualquier otra
arquitectura que sea capaz de transformar atributos a imagen (ejemplo alternativo podría ser una U-NET [51]). El
transformador decodicador, al estilo del DETR genera una secuencia de salida a partir de una secuencia de entrada
utilizando la representación interna de los objetos presentes en la imagen procedente del backbone. A partir de la misma,
un MLP que genera la predicción de clases para cada objeto así como una representación interna de la máscara, que
combinada con la información procedente de la salida del descodicador de píxeles, da como resultado las predicciones
de las máscaras para cada uno de los objetos. Al igual que con DETR existe una clase especial para identicar aquellas
clases en las que no se ha detectado objeto y para las que, por tanto, la segmentación reportada no debe tenerse en
cuenta. El número máximo de máscaras que la red es capaz de detectar es un valor de diseño de la arquitectura y está
limitado por el tamaño de la secuencia de objetos.

8 Transformadores para Audio


Los transformadores también se están convirtiendo en el estándar de facto para el tratamiento de señales de audio, espacio
hasta el momento ocupado por las redes convolucionales y anteriormente por la redes recurrentes. Las posibilidades
en este campo son muy amplias y diversas. La arquitectura usada es la misma que en las aplicaciones anteriormente
presentadas para otro tipo de señales, siendo el hecho distintivo el tokenizador utilizado para transformar la señal de
entrada en una representación interna manejable por la red.

8.1 Señales de audio, tratamiento y tokenización

Las entradas de texto e imagen son tipos de datos más intuitivos de aprehender. Para el caso del sonido parece más
complejo el modo de expresión numérica. Realizaremos una explicación de la naturaleza de las señales de audio para
intentar comprender mejor cómo se realiza la preparación para su utilización en aplicaciones de predicción automática.
Una señal viene a ser la evolución temporal de una variable física que puede ser medida. En el caso del audio estaríamos
reriéndonos a variaciones de la presión del aire en un determinado punto. Para tratar digitalmente estas señales es
necesario, primeramente el almacenarlas. Esto se hace inicialmente capturando esta información temporal realizando
un muestreo, esto es, registrando el valor de la propiedad física con una frecuencia pre-establecida. Esta frecuencia de

25
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

muestreo puede variar, pero un valor habitual para sonido puede ser, por ejemplo, 44,1 kHz, esto es 44100 muestras por
segundo. Una vez capturada esta información, se dispone de la representación digital de la señal de audio y se está en
condiciones de ser tratarla digitalmente.
Del análisis matemático conocemos el Teorema de Fourier que viene a decir que toda señal periódica denida en un
intervalo temporal nito, independientemente de su forma, puede ser aproximada por la suma de señales senoidales.
Cada una de estas señales constituyentes está denida por únicamente dos variables: amplitud y frecuencia. Dichas
variables pueden ser mostradas grácamente en lo que se denomina un espectro de frecuencias. Así es posible representar
la misma señal de dos formas distintas: atendiendo al dominio temporal o al dominio de frecuencia. A la transformación
entre un dominio y el otro se la denomina Transformada de Fourier [52]. El algoritmo FFT (Fast Fourier Transform)
[53] permite llevar a cabo de manera eciente dicha transformación en un entorno digital.
Lo presentado hasta ahora aplica a señales periódicas, pero el habla o la música no son periódicas, ¿qué ocurre entonces
en estos casos? La solución pasa por denir una longitud de ventana en la que se trata la señal como periódica y para
la cual se calcula su espectro. Llevando a cabo este cálculo para ventanas consecutivas superpuestas, obtenemos una
representación en dominio de frecuencia de la señal no periódica. A este gráco se le denomina espectrograma. El
espectrograma graca Frecuencia vs Tiempo. Cada punto del mismo se representa la amplitud en color en decibelios.
Los decibelios vienen a representar la amplitud en escala logarítmica. Se utiliza dicha escala debido a que la percepción
de los cambios de sonido en humanos está más alineada con ese orden de escala.
Al igual que pasa con la amplitud, los humanos no percibimos las frecuencias de manera lineal. Nuestro oído está mejor
adaptado a percibir las diferencias para bajas frecuencias (sonidos graves). Una persona sana es capaz de distinguir
sin problemas la diferencia entre una señal a 500 Hz de una de 1000 Hz, pero le será mucho más difícil hacerlo entre
una de 10 000 Hz y una de 10 500 Hz a pesar de que la diferencia entre ambas es la misma. En 1937 se propuso la
escala de MEL [54] que pretendía linealizar la percepción de la diferencia frecuencias introduciendo una nueva unidad
denominada pitch de MEL. El gráco resultante de representar la amplitud en decibelios en un gráco bidimensional
de pitch vs tiempo es más representativo, linealmente, de la percepción del sentido del oído en el ser humano. A este
gráco se le denomina Espectrograma de MEL. Suele ser el espectrograma más habitual en los modelos de aprendizaje
automático. La linealidad del gráco con la percepción auditiva humana enfatiza la información relevante y facilita el
procesamiento posterior de la señal.
Llegados a este punto podemos entender que una de las representaciones más habituales de las señales de audio para el
aprendizaje automático sea el Espectrograma de MEL. Al ser una matriz de dos dimensiones que suele tener un tamaño
mayor del gestionable directamente por el transformador, un tokenizador habitual (otros también son posibles) consiste
en aplicar convoluciones que reduzcan su tamaño al espacio interno de la arquitectura.

8.2 Ejemplos de transformadores de audio

A continuación se presenta una muestra de las muchas otras aplicaciones de audio que utilizan transformadores:

• Whisper [55] Es un transformador secuencia-a-secuencia multi-lenguaje que a partir de una fuente de audio
que contenga una conversación, devuelve la secuencia de texto asociada.
• Wav2Vec 2.0 [56] Es un transformador con una nalidad similar a BERT pero que en vez de utilizar secuencias
de texto trabaja directamente con secuencias de audio. Utiliza una red convolucional como codicador de
atributos que posteriormente se alimentan al transformador. Realiza un aprendizaje no supervisado para
obtener representaciones internas de secuencias de audio. El modelo puede ser posteriormente anado con
relativamente pocos datos para resolver problemas especícos.
• SepFormer [57] Es una red de transformadores especializada en la separación de voces de una fuente de
audio.

9 Transformadores multi-modales
Hasta ahora hemos visto la potencialidad de los transformadores para el aprendizaje automático utilizando datos de
una única naturaleza. Debido a sus capacidades generalistas para resolver problemas de áreas hasta ahora inconexas es
lógico hipotetizar que dicha arquitectura potencialmente puede ser capaz de gestionar problemas que requieran entradas
de distinta naturaleza al mismo tiempo. Un ejemplo claro de agente de este tipo son los animales y las personas, que
integran información procedente de hasta cinco sentidos distintos.
Las arquitecturas multi-modales son aquellas capaces de gestionar entradas de distinta naturaleza, por ejemplo imagen
y texto.

26
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

Desde el punto de vista de la geometría topológica, el espacio generado por la arquitectura de los transformadores es
equivalente a de un grafo completamente conectado [58]. Esto no es así en otras arquitecturas, donde las interconexiones
del grafo están limitadas a su espacio más restringido. Los transformadores, por tanto, disponen de un espacio de
modelado más general y exible [59]. Esto representa una ventaja cuando se requiere combinar entradas de distinta
naturaleza. Los priores estructurales que pueden ser útiles para facilitar la optimización para un determinado tipo de
datos, pueden ser un inconveniente cuando se usan junto con otras entradas de distinta naturaleza.
A continuación se describen los puntos diferenciales que existen entre una arquitectura multi-modal y la tradicional.

9.1 Entradas multi-modales

La primera función que realiza un transformador es la conversión de los datos de entrada en un tensor de dimensión
interna denida, que se mantiene constante en su avance por las distintas capas. La tokenización, transforma los
elementos de entrada en un vector intermedio al que posteriormente se le aplica una transformación matemática que,
normalmente reduce su dimensiones con objetivo de alcanzar las internas de proceso. En entradas textuales es habitual
utilizar un tokenizador que convierte cada elemento de la cadena de entrada en un vector ortogonal de dimensión igual
a la del diccionario. Esta operación es seguida de una transformación lineal con el objetivo de alcanzar la dimensión
interna de trabajo. En el caso de imagen, una estrategia consiste en tokenizar mediante la partición de la imagen en partes
no superpuestas de tamaño predenido, seguido de una transformación lineal de la misma para alcanzar la dimensión de
trabajo [19]. Otro tipo de estrategias de tokenización consisten en el uso de redes especializadas para derivar atributos
que son alimentados al transformador [60]. En el caso del video, existen diversas estrategias: en [61] la tokenización
consiste en seleccionar clips de duración predeterminada, a unos fps pre-establecidos a los que seguidamente se les
pasa a través de una red convolucional tridimensional para generar unos atributos que son posteriormente adaptados
hasta conseguir las dimensiones internas de trabajo. Otras estrategias publicadas incluyen la tokenización mediante
selección en los clips de puntos tridimensionales de interés seguida por una transformación lineal [62]; tokenización en
mediante la partición de las imágenes integrantes aplicada al conjunto del clip seguida de una proyección lineal [63];
entre otros. En el caso del audio, se pueden utilizar también distintas estrategias que dependen en parte del objetivo que
se pretende conseguir. Una de ellas consiste, como hemos descrito anteriormente, en utilizar el espectograma MEL
(u otros derivados) seguido de una proyección lineal o del cálculo de atributos mediante una red convolucional [64],
[62], [63]. En la bibliografía [59] se pueden encontrar ejemplos de módulos preparatorios para otro tipo de datos más
especícos como podrían ser esquemas de bases de datos SQL, nubes de puntos tridimensionales, datos tabulares, poses
humanas, registros electrónicos de salud, conjunto de órdenes posibles a las que responde un robot, entre otros muchos.

9.2 Variantes de auto-atención en un contexto multi-modal

Una vez se dispone de la representación interna de las distintas señales de entrada, se plantea el dilema de cómo
encontrar el modo más efectivo de combinarlas en la capa de auto-atención para obtener los mejores resultados. A
pesar de que puedan tener la mismas dimensiones, debido a su diferente naturaleza, puede ser necesario adaptar las
transformaciones a cada uno de los distintos modos. Las estrategias más habituales para calcular la auto-atención en
esta primera etapa son: la suma temprana, la concatenación temprana, la jerárquica y la cruzada.
La suma temprana (g. 9.2) consiste en la suma de los vectores procedentes de las distintas fuentes como paso previo a
un único sistema de auto-atención común.
La concatenación temprana (g. 9.2) genera un vector como concatenación de los distintos modos que se alimenta al
módulo de auto-atención.
La auto-atención jerárquica (g. 9.2 y 9.2) se realiza en dos pasos, en uno se aplican transformaciones distintas a cada
señal y en el otro una única que las combina.
La auto-atención cruzada (g. 9.2) utiliza canales de auto-atención independientes donde la matriz de Query de los
canales actúa sobre el otro canal y no sobre el propio.
La auto-atención cruzada seguida de concatenación (g. 9.2) actúa en dos fases, una primera en que se aplica una
auto-atención cruzada y posteriormente se aplica una auto-atención convencional sobre la concatenación de los vectores
procedentes de la operación original.

9.3 Arquitecturas multi-modales

El objetivo de estas estrategias es la consecución de una representación interna que integre de la manera más adecuada
posible la información relevante procedente de cada uno de los modos de entrada. El sistema de auto-atención escogido
determina las características de la arquitectura. Así hablamos de arquitecturas de canal único, multi-canal o híbridas.

27
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

Capa del Transformador

Q K V

Figura 19: Atención por suma temprana. La información procedente de dos canales distintos se suma antes de ser
procesada por el canal de auto-atención

Capa del Transformador

Q K V

Figura 20: Atención por concatenación. La información procedente de dos canales distintos se procesa en la misma
capa de auto-atención

Las arquitecturas de canal único son las derivadas del uso de los sistemas de auto-atención de suma y concatenación
temprana y disponen de un canal de tratamiento único de los datos. Las arquitecturas multi-canal son las derivadas del
uso de los sistemas de auto-atención cruzada y dan lugar a canales múltiples de tratamiento diferenciado de los datos.
Finalmente, las arquitecturas híbridas, derivadas de sistemas de auto-atención jerárquica y cruzada con concatenación
combinan partes de las dos anteriores.

10 Aplicaciones de los transformadores multi-modales


En esta sección podremos algunos de los trabajos publicados hasta el momento que utilizan transformadores multi-
modales.

• MMBT [76] es una arquitectura multi-modal que integra imagen y texto para obtener una representación
interna que puede ser utilizada para realizar tareas de clasicación.
• VideoBERT [61] es una arquitectura multi-modal con una nalidad similar a BERT pero utilizando video
como fuente de datos.
• Med-BERT [77] una arquitectura multi-modal que utiliza registro de salud estructurados para representación
de la salud de pacientes y a partir de la misma poder predecir enfermedades.
• Gato [78] es una arquitectura multi-modal con un objeto generalista. A partir de datos procedentes de diversas
fuentes: imagen, texto y acciones propias de un robot es capaz de resolver hasta 604 tareas distintas, entre
las cuales se encuentran jugar a multitud de juegos de Atari, hacer de chatbot, comandar un brazo articulado,

28
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

Capa del Transformador

Q K V

Capa del Transformador Capa del Transformador

Q K V Q K V

Figura 21: Atención jerárquica multi-canal a mono-canal. La información procedente de canales distintos se procesa en
una primera etapa en canales de atención independientes para posteriomente procesarse en conjunto en la etapa nal.

Capa del Transformador Capa del Transformador

Q K V Q K V

Capa del Transformador

Q K V

Figura 22: Atención jerárquica mono-canal a multi-canal. La información procedente de canales distintos se procesa en
una primera etapa en conjunto para posteriomente procesarse en la etapa nal de manera independiente.

29
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

Capa del Transformador Capa del Transformador

V K Q Q K V

Figura 23: Atención cruzada. La información procedente de dos canales distintos se procesa en la misma capa de
auto-atención

Capa del Transformador

Q K V

Capa del Transformador Capa del Transformador

V K Q Q K V

Figura 24: Atención cruzada seguida de concatenación. La información procedente de dos canales distintos se procesa
en la misma capa de auto-atención y posteriormente es combinada en un canal único.

etiquetar el contenido de una imagen, entre otras muchas. Todo ello utilizando una única arquitectura basada en
transformadores. Es la primera aplicación generalista que integra imagen, procesamiento del lenguaje natural,
aprendizaje por refuerzo y control de robots en un único agente.

30
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

Auto-atención Formulación Referencias


Suma temprana [65]

Z ← T f (αZ (A) βZ (B) )
[66]
Concatenación temprana Z ← T f (C(Z (A) , Z (B) ) [61]
[67]
[68]
[69]
Jerárquica multi → mono-canal Z ← T f3 (C(T f1 (Z (A) ), T f2 (Z (B) )) [70]
Z (A) ← T f2 (T f1 (C(Z (A) , Z (B) )))
Jerárquica mono → multi-canal [71]
Z (B) ← T f3 (T f1 (C(Z (A) , Z (B) )))

Z (A) ← M HSA(QB , KA , VA )
Cruzada [60]
Z (B) ← M HSA(QA , KB , VB )
[72]
Z (A) ← M HSA(QB , KA , VA )

Cruzada más concatenación Z (B) ← M HSA(QA , KB , VB ) [73]
Z ← T f (C(Z (A) , Z (B) ))
[74]
[75]
Cuadro 4: Variantes de auto-atención de interacción/fusión de canales multi-modales. α y β son pesos. Att: Atención; C
: Concatenación; Tfs: Capas de transformador. N(A) y N(B) longitudes de secuencia de dos canales A y B de distinto
modo. M HSA(Q, K, V ) Función de auto-atención multicabezal

11 Resumen
En este módulo hemos presentado la arquitectura de red neuronal Transformadores, la cual tiene la capacidad de
reemplazar a arquitecturas especializadas como redes convolucionales, recurrentes y de grafos. Esta arquitectura no solo
puede funcionar en el campo especíco del procesamiento del lenguaje natural, para el cual fue diseñada originalmente,
sino que también ha demostrado funcionar al máximo nivel para el tratamiento de otro tipo de señales especícas,
así como para la resolución de problemas que combinan datos de distintas fuentes, lo que la convierte en un agente
generalista para la resolución de problemas.
La arquitectura de los Transformadores ha demostrado funcionar muy bien en áreas como la visión por computador,
el procesamiento del lenguaje natural, el tratamiento de señales de audio, la predicción de series temporales y el
aprendizaje por refuerzo, entre otras.
En el módulo se ha presentado una descripción rigurosa del algoritmo de la arquitectura y se han mostrado aplicaciones
en distintas áreas, desde su aplicación de origen en el procesamiento del lenguaje natural, el procesamiento de imágenes
y sonidos y hasta su uso en aplicaciones multi-modales.
Conocer los detalles de implementación de la arquitectura de los Transformadores es de gran importancia, ya que puede
ser una solución general para la mayoría de los problemas de ciencia de datos.

31
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

Notación
La notación matemática de este módulo es la misma que la utilizada en [79]. A efectos prácticos la reproducimos a
continuación.
Símbolo Tipo Explicación
[N ] := {1, ..., N } conjunto de enteros 1, 2, ..., N − 1, N
i, j ∈N índices enteros genéricos
V ∼
= [NV ] vocabulario
NV ∈N ∞ tamaño del vocabulario
V∗ = ℓ=0 V ℓ conjunto de secuencias de tokens; p.e. palabras y documentos
ℓmax ∈N longitud máxima de la secuencia de tokens
ℓ ∈ [ℓmax ] longitud de la secuencia de tokens
t ∈ [ℓ] índice del token dentro de una secuencia
d... ∈N dimensión de varios vectores
x ≡ x[1 : ℓ] ≡ x[1]x[2]...x[ℓ] ∈ V ℓ secuencia de tokens primaria
z ≡ z[1 : ℓ] ≡ z[1]z[2]...z[ℓ] ∈ V ℓ secuencia de tokens de contexto

M [i, j] ∈R entrada Mi,j de la matriz M ∈ Rd×d
d′ d×d′
M [i, :] ≡ M [i] ∈ R la i de la matriz M ∈ R

M [:, j] ∈ Rd columna j de la matriz M ∈ Rd×d
e R de
representación vectorial / representación vectorial (embedding) de un token
X Rde ×ℓX codicación de la secuencia de tokens primaria
Z Rde ×ℓZ codicación de la secuencia de tokens de contexto
Mask RℓZ ×ℓX matriz de enmascarado, determina el contexto de atención para cada token
L, Lenc , Ldec N número de capas de red (codicación y decodicación)
l ∈ [L] índice de la capa de la red
H N número de cabezales de atención
h ∈ [H] índice del cabezal de atención
Ndata ∈N (i.i.d.) tamañp de la muestra
n ∈ [Ndata ] índice de la secuencia de muestra
η ∈ (0, ∞) ratio de aprendizaje
τ ∈ (0, ∞) temperatura, controla la diversidad en tiempo de inferencia
Símbolo Tipo Explicación
We ∈ Rde ×NV matriz de embeddings de los tokens
Wp ∈ Rde ×ℓmax matriz de embeddings de posición
Wu ∈ RNV ×de matriz de conversión de embedding a token
Wq ∈ Rdattn ×dX parámetros de la matriz de consulta
bq ∈ Rdattn sesgo de consulta
Wk ∈ Rdattn ×dZ parámetros de la matriz de clave
bk ∈ Rdattn sesgo de clave
Wv ∈ Rdout ×dZ parámetros de la matriz de valor
bv ∈ Rdattn sesgo de valor
Wqkv colección de parámetros de una capa de atención
Wo ∈ Rdout ×Hdmid parámetros de la matriz de salida
bo ∈ Rdout sesgo de salida
W colección de parámetros de una capa de multi-atención
Wmlp ∈ Rd1 ×d2 parámetros de una MLP del transformador
bmlp ∈ R d1 sesgo correspondiente a una MLP del transformador
γ ∈ R de parámetro de escalado de la capa de normalización
β ∈ R de parámetro de offset de la capa de normalización
θ, θ̂ ∈ Rd colección de todos los parámetros del transformador

32
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

Referencias
[1] Kurt Hornik, Maxwell Stinchcombe, and Halbert White. Multilayer feedforward networks are universal approxi-
mators. Neural networks, 2(5):359–366, 1989.
[2] Yani Andrew Ioannou. Structural priors in deep neural networks. PhD thesis, University of Cambridge, 2018.
[3] Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio. Neural machine translation by jointly learning to align
and translate. arXiv preprint arXiv:1409.0473, 2014.
[4] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and
Illia Polosukhin. Attention is all you need. Advances in neural information processing systems, 30, 2017.
[5] Sepp Hochreiter and Jürgen Schmidhuber. Long short-term memory. Neural computation, 9(8):1735–1780, 1997.
[6] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In
Proceedings of the IEEE conference on computer vision and pattern recognition, pages 770–778, 2016.
[7] Philip Gage. A new algorithm for data compression. C Users Journal, 12(2):23–38, 1994.
[8] Taku Kudo. Subword regularization: Improving neural network translation models with multiple subword
candidates. arXiv preprint arXiv:1804.10959, 2018.
[9] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. Bert: Pre-training of deep bidirectional
transformers for language understanding. arXiv preprint arXiv:1810.04805, 2018.
[10] Or Press and Lior Wolf. Using the output embedding to improve language models. arXiv preprint ar-
Xiv:1608.05859, 2016.
[11] Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei
Li, Peter J Liu, et al. Exploring the limits of transfer learning with a unied text-to-text transformer. J. Mach.
Learn. Res., 21(140):1–67, 2020.
[12] Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, and Jeff Dean. Distributed represen-
tations of words and phrases and their compositionality. In C.J. Burges, L. Bottou, M. Welling,
Z. Ghahramani, and K.Q. Weinberger, editors, Advances in Neural Information Processing Systems, vo-
lume 26. Curran Associates, Inc., 2013. URL [Link]
[Link].
[13] Jeffrey Pennington, Richard Socher, and Christopher D Manning. Glove: Global vectors for word representation.
In Proceedings of the 2014 conference on empirical methods in natural language processing (EMNLP), pages
1532–1543, 2014.
[14] Armand Joulin, Edouard Grave, Piotr Bojanowski, Matthijs Douze, Hérve Jégou, and Tomas Mikolov. [Link]:
Compressing text classication models. arXiv preprint arXiv:1612.03651, 2016.
[15] Jeremy Howard and Sebastian Ruder. Universal language model ne-tuning for text classication. arXiv preprint
arXiv:1801.06146, 2018.
[16] Alec Radford, Karthik Narasimhan, Tim Salimans, and Ilya Sutskever. Improving language understanding with
unsupervised learning. 2018.
[17] Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei, Ilya Sutskever, et al. Language models are
unsupervised multitask learners. OpenAI blog, 1(8):9, 2019.
[18] Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke
Zettlemoyer, and Veselin Stoyanov. Roberta: A robustly optimized bert pretraining approach. arXiv preprint
arXiv:1907.11692, 2019.
[19] Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner,
Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, et al. An image is worth 16x16 words:
Transformers for image recognition at scale. arXiv preprint arXiv:2010.11929, 2020.
[20] Xizhou Zhu, Weijie Su, Lewei Lu, Bin Li, Xiaogang Wang, and Jifeng Dai. Deformable detr: Deformable
transformers for end-to-end object detection. arXiv preprint arXiv:2010.04159, 2020.
[21] Sixiao Zheng, Jiachen Lu, Hengshuang Zhao, Xiatian Zhu, Zekun Luo, Yabiao Wang, Yanwei Fu, Jianfeng Feng,
Tao Xiang, Philip HS Torr, et al. Rethinking semantic segmentation from a sequence-to-sequence perspective with
transformers. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages
6881–6890, 2021.
[22] Manoj Kumar, Dirk Weissenborn, and Nal Kalchbrenner. Colorization transformer. arXiv preprint ar-
Xiv:2102.04432, 2021.

33
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

[23] Hanting Chen, Yunhe Wang, Tianyu Guo, Chang Xu, Yiping Deng, Zhenhua Liu, Siwei Ma, Chunjing Xu, Chao
Xu, and Wen Gao. Pre-trained image processing transformer. In Proceedings of the IEEE/CVF Conference on
Computer Vision and Pattern Recognition, pages 12299–12310, 2021.
[24] Anurag Arnab, Mostafa Dehghani, Georg Heigold, Chen Sun, Mario Lučić, and Cordelia Schmid. Vivit: A
video vision transformer. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages
6836–6846, 2021.
[25] Shikhar Tuli, Ishita Dasgupta, Erin Grant, and Thomas L Grifths. Are convolutional neural networks or
transformers more like human vision? arXiv preprint arXiv:2105.07197, 2021.
[26] Lukáš Picek, Milan Šulc, Jiří Matas, Jacob Heilmann-Clausen, Thomas S Jeppesen, and Emil Lind. Automatic
fungi recognition: Deep learning meets mycology. Sensors, 22(2):633, 2022.
[27] Yang Liu, Yao Zhang, Yixin Wang, Feng Hou, Jin Yuan, Jiang Tian, Yang Zhang, Zhongchao Shi, Jianping Fan,
and Zhiqiang He. A survey of visual transformers. arXiv preprint arXiv:2111.06091, 2021.
[28] Bichen Wu, Chenfeng Xu, Xiaoliang Dai, Alvin Wan, Peizhao Zhang, Zhicheng Yan, Masayoshi Tomizuka,
Joseph Gonzalez, Kurt Keutzer, and Peter Vajda. Visual transformers: Token-based image representation and
processing for computer vision. arXiv preprint arXiv:2006.03677, 2020.
[29] Hugo Touvron, Matthieu Cord, Matthijs Douze, Francisco Massa, Alexandre Sablayrolles, and Hervé Jégou.
Training data-efcient image transformers & distillation through attention. In International Conference on
Machine Learning, pages 10347–10357. PMLR, 2021.
[30] Geoffrey Hinton, Oriol Vinyals, Jeff Dean, et al. Distilling the knowledge in a neural network. arXiv preprint
arXiv:1503.02531, 2(7), 2015.
[31] Li Yuan, Yunpeng Chen, Tao Wang, Weihao Yu, Yujun Shi, Zi-Hang Jiang, Francis EH Tay, Jiashi Feng, and
Shuicheng Yan. Tokens-to-token vit: Training vision transformers from scratch on imagenet. In Proceedings of
the IEEE/CVF International Conference on Computer Vision, pages 558–567, 2021.
[32] Wenhai Wang, Enze Xie, Xiang Li, Deng-Ping Fan, Kaitao Song, Ding Liang, Tong Lu, Ping Luo, and Ling Shao.
Pyramid vision transformer: A versatile backbone for dense prediction without convolutions. In Proceedings of
the IEEE/CVF International Conference on Computer Vision, pages 568–578, 2021.
[33] Mingyu Ding, Bin Xiao, Noel Codella, Ping Luo, Jingdong Wang, and Lu Yuan. Davit: Dual attention vision
transformers. arXiv preprint arXiv:2204.03645, 2022.
[34] Hieu Pham, Zihang Dai, Qizhe Xie, and Quoc V Le. Meta pseudo labels. In Proceedings of the IEEE/CVF
Conference on Computer Vision and Pattern Recognition, pages 11557–11568, 2021.
[35] Zejia Weng, Xitong Yang, Ang Li, Zuxuan Wu, and Yu-Gang Jiang. Semi-supervised vision transformers. arXiv
preprint arXiv:2111.11067, 2021.
[36] Top 1 accuracy in imagenet image classication. [Link]
image-classification-on-imagenet. Accessed: 2022-09-21.
[37] Tsung-Yi Lin, Priya Goyal, Ross Girshick, Kaiming He, and Piotr Dollár. Focal loss for dense object detection. In
Proceedings of the IEEE international conference on computer vision, pages 2980–2988, 2017.
[38] Kaiming He, Georgia Gkioxari, Piotr Dollár, and Ross Girshick. Mask r-cnn. In Proceedings of the IEEE
international conference on computer vision, pages 2961–2969, 2017.
[39] Nicolas Carion, Francisco Massa, Gabriel Synnaeve, Nicolas Usunier, Alexander Kirillov, and Sergey Zagoruyko.
End-to-end object detection with transformers. In European conference on computer vision, pages 213–229.
Springer, 2020.
[40] Ting Chen, Saurabh Saxena, Lala Li, David J Fleet, and Geoffrey Hinton. Pix2seq: A language modeling
framework for object detection. arXiv preprint arXiv:2109.10852, 2021.
[41] Peng Gao, Minghang Zheng, Xiaogang Wang, Jifeng Dai, and Hongsheng Li. Fast convergence of detr with
spatially modulated co-attention. In Proceedings of the IEEE/CVF International Conference on Computer Vision,
pages 3621–3630, 2021.
[42] Depu Meng, Xiaokang Chen, Zejia Fan, Gang Zeng, Houqiang Li, Yuhui Yuan, Lei Sun, and Jingdong Wang.
Conditional detr for fast training convergence. In Proceedings of the IEEE/CVF International Conference on
Computer Vision, pages 3651–3660, 2021.
[43] Yingming Wang, Xiangyu Zhang, Tong Yang, and Jian Sun. Anchor detr: Query design for transformer-based
detector. In Proceedings of the AAAI Conference on Articial Intelligence, volume 36, pages 2567–2575, 2022.

34
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

[44] Shilong Liu, Feng Li, Hao Zhang, Xiao Yang, Xianbiao Qi, Hang Su, Jun Zhu, and Lei Zhang. Dab-detr: Dynamic
anchor boxes are better queries for detr. arXiv preprint arXiv:2201.12329, 2022.
[45] Zhuyu Yao, Jiangbo Ai, Boxun Li, and Chi Zhang. Efcient detr: improving end-to-end object detector with dense
prior. arXiv preprint arXiv:2104.01318, 2021.
[46] Xiyang Dai, Yinpeng Chen, Jianwei Yang, Pengchuan Zhang, Lu Yuan, and Lei Zhang. Dynamic detr: End-to-end
object detection with dynamic attention. In Proceedings of the IEEE/CVF International Conference on Computer
Vision, pages 2988–2997, 2021.
[47] Russell Stewart, Mykhaylo Andriluka, and Andrew Y Ng. End-to-end people detection in crowded scenes. In
Proceedings of the IEEE conference on computer vision and pattern recognition, pages 2325–2333, 2016.
[48] Bowen Cheng, Ishan Misra, Alexander G Schwing, Alexander Kirillov, and Rohit Girdhar. Masked-attention
mask transformer for universal image segmentation. In Proceedings of the IEEE/CVF Conference on Computer
Vision and Pattern Recognition, pages 1290–1299, 2022.
[49] Bowen Cheng, Alex Schwing, and Alexander Kirillov. Per-pixel classication is not all you need for semantic
segmentation. Advances in Neural Information Processing Systems, 34:17864–17875, 2021.
[50] Tsung-Yi Lin, Piotr Dollár, Ross Girshick, Kaiming He, Bharath Hariharan, and Serge Belongie. Feature pyramid
networks for object detection. In Proceedings of the IEEE conference on computer vision and pattern recognition,
pages 2117–2125, 2017.
[51] Olaf Ronneberger, Philipp Fischer, and Thomas Brox. U-net: Convolutional networks for biomedical image
segmentation. In International Conference on Medical image computing and computer-assisted intervention,
pages 234–241. Springer, 2015.
[52] Ronald Newbold Bracewell and Ronald N Bracewell. The Fourier transform and its applications, volume 31999.
McGraw-Hill New York, 1986.
[53] Henri J Nussbaumer. The fast fourier transform. In Fast Fourier Transform and Convolution Algorithms, pages
80–111. Springer, 1981.
[54] Stanley Smith Stevens, John Volkmann, and Edwin Broomell Newman. A scale for the measurement of the
psychological magnitude pitch. The journal of the acoustical society of america, 8(3):185–190, 1937.
[55] Alec Radford, Jong Wook Kim, Tao Xu, Greg Brockman, Christine McLeavey, and Ilya Sutskever. Robust speech
recognition via large-scale weak supervision.
[56] Alexei Baevski, Yuhao Zhou, Abdelrahman Mohamed, and Michael Auli. wav2vec 2.0: A framework for
self-supervised learning of speech representations. Advances in Neural Information Processing Systems, 33:
12449–12460, 2020.
[57] Cem Subakan, Mirco Ravanelli, Samuele Cornell, Mirko Bronzi, and Jianyuan Zhong. Attention is all you need
in speech separation. In ICASSP 2021-2021 IEEE International Conference on Acoustics, Speech and Signal
Processing (ICASSP), pages 21–25. IEEE, 2021.
[58] Michael M Bronstein, Joan Bruna, Taco Cohen, and Petar Veličković. Geometric deep learning: Grids, groups,
graphs, geodesics, and gauges. arXiv preprint arXiv:2104.13478, 2021.
[59] Peng Xu, Xiatian Zhu, and David A Clifton. Multimodal learning with transformers: A survey. arXiv preprint
arXiv:2206.06488, 2022.
[60] Jiasen Lu, Dhruv Batra, Devi Parikh, and Stefan Lee. Vilbert: Pretraining task-agnostic visiolinguistic representa-
tions for vision-and-language tasks. Advances in neural information processing systems, 32, 2019.
[61] Chen Sun, Austin Myers, Carl Vondrick, Kevin Murphy, and Cordelia Schmid. Videobert: A joint model for video
and language representation learning. In Proceedings of the IEEE/CVF International Conference on Computer
Vision, pages 7464–7473, 2019.
[62] Hassan Akbari, Liangzhe Yuan, Rui Qian, Wei-Hong Chuang, Shih-Fu Chang, Yin Cui, and Boqing Gong. Vatt:
Transformers for multimodal self-supervised learning from raw video, audio and text. Advances in Neural
Information Processing Systems, 34:24206–24221, 2021.
[63] Arsha Nagrani, Shan Yang, Anurag Arnab, Aren Jansen, Cordelia Schmid, and Chen Sun. Attention bottlenecks
for multimodal fusion. Advances in Neural Information Processing Systems, 34:14200–14213, 2021.
[64] Yan-Bo Lin, Hung-Yu Tseng, Hsin-Ying Lee, Yen-Yu Lin, and Ming-Hsuan Yang. Exploring cross-video and
cross-modality signals for weakly-supervised audio-visual video parsing. Advances in Neural Information
Processing Systems, 34:11449–11461, 2021.

35
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY

[65] Kirill Gavrilyuk, Ryan Sanford, Mehrsan Javan, and Cees GM Snoek. Actor-transformers for group activity
recognition. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages
839–848, 2020.
[66] Peng Xu and Xiatian Zhu. Deepchange: A large long-term person re-identication benchmark with clothes change.
arXiv e-prints, pages arXiv–2105, 2021.
[67] Daya Guo, Shuo Ren, Shuai Lu, Zhangyin Feng, Duyu Tang, Shujie Liu, Long Zhou, Nan Duan, Alexey
Svyatkovskiy, Shengyu Fu, et al. Graphcodebert: Pre-training code representations with data ow. arXiv preprint
arXiv:2009.08366, 2020.
[68] Bowen Shi, Wei-Ning Hsu, Kushal Lakhotia, and Abdelrahman Mohamed. Learning audio-visual speech
representation by masked multimodal cluster prediction. arXiv preprint arXiv:2201.02184, 2022.
[69] Renjie Zheng, Junkun Chen, Mingbo Ma, and Liang Huang. Fused acoustic and text encoding for multimodal
bilingual pretraining and speech translation. In International Conference on Machine Learning, pages 12736–
12746. PMLR, 2021.
[70] Ruilong Li, Shan Yang, David A Ross, and Angjoo Kanazawa. Ai choreographer: Music conditioned 3d dance
generation with aist++. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages
13401–13412, 2021.
[71] Junyang Lin, An Yang, Yichang Zhang, Jie Liu, Jingren Zhou, and Hongxia Yang. Interbert: Vision-and-language
interaction for multi-modal pretraining. arXiv preprint arXiv:2003.13198, 2020.
[72] Heeseung Yun, Youngjae Yu, Wonsuk Yang, Kangil Lee, and Gunhee Kim. Pano-avqa: Grounded audio-visual
question answering on 360deg videos. In Proceedings of the IEEE/CVF International Conference on Computer
Vision, pages 2031–2041, 2021.
[73] Md Kamrul Hasan, Sangwu Lee, Wasifur Rahman, Amir Zadeh, Rada Mihalcea, Louis-Philippe Morency, and
Ehsan Hoque. Humor knowledge enriched transformer for understanding multimodal humor. In Proceedings of
the AAAI Conference on Articial Intelligence, volume 35, pages 12972–12980, 2021.
[74] Xunlin Zhan, Yangxin Wu, Xiao Dong, Yunchao Wei, Minlong Lu, Yichi Zhang, Hang Xu, and Xiaodan
Liang. Product1m: Towards weakly supervised instance-level product retrieval via cross-modal pretraining. In
Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 11782–11791, 2021.
[75] Yao-Hung Hubert Tsai, Shaojie Bai, Paul Pu Liang, J Zico Kolter, Louis-Philippe Morency, and Ruslan Salakhut-
dinov. Multimodal transformer for unaligned multimodal language sequences. In Proceedings of the conference.
Association for Computational Linguistics. Meeting, volume 2019, page 6558. NIH Public Access, 2019.
[76] Douwe Kiela, Suvrat Bhooshan, Hamed Firooz, Ethan Perez, and Davide Testuggine. Supervised multimodal
bitransformers for classifying images and text. arXiv preprint arXiv:1909.02950, 2019.
[77] Laila Rasmy, Yang Xiang, Ziqian Xie, Cui Tao, and Degui Zhi. Med-bert: pretrained contextualized embeddings
on large-scale structured electronic health records for disease prediction. NPJ digital medicine, 4(1):1–13, 2021.
[78] Scott Reed, Konrad Zolna, Emilio Parisotto, Sergio Gomez Colmenarejo, Alexander Novikov, Gabriel Barth-
Maron, Mai Gimenez, Yury Sulsky, Jackie Kay, Jost Tobias Springenberg, et al. A generalist agent. arXiv preprint
arXiv:2205.06175, 2022.
[79] Mary Phuong and Marcus Hutter. Formal algorithms for transformers. arXiv preprint arXiv:2207.09238, 2022.

36

También podría gustarte