Ransformadores Undamentos Teóricos Y Plicaciones: Jordi de La Torre
Ransformadores Undamentos Teóricos Y Plicaciones: Jordi de La Torre
S URVEY
Jordi de la Torre∗
Ph.D. in Computer Science (ML/AI)
Universitat Oberta de Catalunya
Barcelona, ES
[Link]@[Link]
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 scientic knowledge to
the Spanish-speaking community.
Keywords transformadores · aprendizaje profundo · redes neuronales · inteligencia articial · 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 suciente 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 dicultades 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
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.
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 reeja 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 dicultades para la paralelización del cómputo.
Si bien arquitecturas como las LSTM [5] supusieron un avance muy signicativo 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).
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
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, denida 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:
La función sof tmax reere 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 conguració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
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.
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 denida 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)
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.
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 modicació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
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.
N×
N×
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 codica la posición del elemento
en la secuencia (positional encoding). Este valor sirve de entrada a una pila de N bloques denominados codicadores.
Los atributos fruto de la codicación serán una de las entradas que alimentarán a la red de decodicadores. 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 codicador, 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, reere 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.
Texto
Tokenizador
Embedding
Codicació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 signicado). Particionar a nivel de palabra
tiene el inconveniente de que muchas de las unidades elementales de signicado no se separan. Esto suele ser un
inconveniente que diculta 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 signicado. 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 signicativamente 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
codicar las entradas.
4.2.3 Codicadores
El codicador 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 codicador.
4.2.4 Decodicadores
El decodicador 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 codicació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 decodicación apila en serie N elementos de este tipo.
9
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY
Entradas
K Q V
Atención
RNCC
Salidas
Figura 5: Esquema típico de los elementos integrantes de un codicador. La red de codicación integra varios de estos
elementos en serie. La salida de uno sirve de entrada para el siguiente.
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 denida 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 clasicador 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
codicador
K Q V
Atención
RNCC
Salidas
Figura 6: Esquema típico de los elementos integrantes de un decodicador. La red de decodicació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 codicadores
11
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY
Capa oculta
(embedding)
Clasicador
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 modicaciones 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-codicación y los de
conversión de secuencia-a-secuencia.
Los modelos de secuencia-a-secuencia utilizan dos unidades básicas de diseño denominadas codicadores y decodica-
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
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 codicadores, decodicadores y nalmente la capa de clasicació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
Codicadores
en serie
Salidas Decodicadores
anteriores en serie
Clasicador
Salida
siguiente
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.
Los modelos de auto-codicación son aquellos que están pre-entrenados para la corrección de entradas corrompidas
articialmente. Esto se hace para entrenar al modelo en la reconstrucción del texto original. Este tipo de modelos se
corresponden con la parte del codicador 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 clasicació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 codicadores.
Algorithm 11 θ̂ ← entrenamientoC(x1:Ndata , θ)
/* Entrenamiento mediante modelización mediante máscara */
Entrada: {xn }N n=1 , un conjunto de datos de secuencias
data
La red de codicació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
Codicadores
en serie
Clasicador
Salida
Figura 11: Ejemplo de entradas y salidas típicas de los modelos de auto-codicación. En este caso se presentan tres
entradas posibles con sus valores de salida esperados
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 decodicadores.
Igual que en los codicadores, la red de decodicació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
Decodicadores
en serie
Clasicador
Salida
siguiente
17
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY
Protágoras , el último
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
Algorithm 13 θ̂ ← entrenamientoD(x1:Ndata , θ)
/* Entrenamiento para predicción de siguiente token */
Entrada: {xn }N n=1 , un conjunto de datos de secuencias
data
18
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY
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 signicado 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 deniendo
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:
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 codicar el
signicado de las palabras aisladas, no codican 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 codicar 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.
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 denición de este paradigma de diseño así como las aportaciones más signicativas
de cada una de estas publicaciones.
Introducción de la arquitectura. [4]
ULMFiT (Universal Language Model Fine-tuning for Text Classication): 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
decodicadores. (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 codicadores para
preentrenar representaciones bidireccionales de texto no etiquetado. Estos modelos son anados 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.
Vamos a intentar clasicar los distintos tipos de representaciones que es posible conseguir dependiendo del tipo de
transformador que se entrene.
20
Transformadores: Fundamentos Teóricos y Aplicaciones S URVEY
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 clasicació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 codicación de un
elemento en una secuencia. A este vector se le añade un embedding para codicar 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 modican 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 clasicación, detección y
segmentación. Para aplicaciones más especícas se puede consultar la extensa bibliografía.
7.1 Clasicació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 clasicació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 codican
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 modicados 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 clasicació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 (EfcientNet-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 clasicació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 sucientes 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
Figura 15: Estado del arte de los modelos de clasicació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 clasicació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 denitorias de cada uno de ellos.
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
eciente de la red durante el aprendizaje supervisado, esto es la comparación de los valores predichos con los reales.
Para comprender la dicultad 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 codican 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 codicadores y decodicadores resolviendo de forma auto-regresiva.
La parte de codicación puede ser o bien un transformador o una red convolucional. El codicador extrae los atributos
de interés de la imagen para alimentarlos a la red de decodicadores 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 codicador 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 simplica 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 identica 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).
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 decodicador de píxeles y a un transformador
decodicador. El decodicador 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 decodicador, 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 descodicador 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 identicar 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.
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
rerié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 denida 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á denida 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 eciente 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 denir 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 graca 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.
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 codicador 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 anado 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.
La primera función que realiza un transformador es la conversión de los datos de entrada en un tensor de dimensión
interna denida, 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 predenido, 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.
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.
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
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
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.
• 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 clasicació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
Q K V
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.
Q K V Q K V
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
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
Q K V
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
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 codicación de la secuencia de tokens primaria
Z Rde ×ℓZ codicació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 (codicación y decodicació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] Or 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 unied 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 classication models. arXiv preprint arXiv:1612.03651, 2016.
[15] Jeremy Howard and Sebastian Ruder. Universal language model ne-tuning for text classication. 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 Grifths. 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-efcient 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 classication. [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 Articial 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. Efcient 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 classication 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-identication 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 Articial 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