Los transformers son arquitecturas para datos secuenciales que se basan en el mecanismo de autoatención y permiten el procesamiento paralelo.
La idea básica es calcular pesos de atención que determinan cuánto un elemento de entrada considera a otros elementos.
Formalmente, la atención se calcula como una suma ponderada de vectores de valor \( V \), donde los pesos provienen de la función softmax sobre los productos escalares de los vectores de consulta y clave:
\[ \mathrm{Attention}(Q,K,V) = \mathrm{softmax}\left( rac{QK^T}{\sqrt{d_k}} ight) V \]
Aquí, \( Q, K, V \) son las matrices de consultas, claves y valores, y \( d_k \) es la dimensión de los vectores clave.
La arquitectura Transformer consta de un codificador y un decodificador, cada uno compuesto por varias capas con atención multi-cabeza y redes feed-forward.
Esta estructura permite aprender dependencias complejas en secuencias y ha revolucionado el procesamiento del lenguaje natural.
Definición:
«Los transformers son arquitecturas de redes neuronales que mediante la autoatención permiten el procesamiento paralelo de secuencias y modelan eficientemente dependencias a largo plazo.»
Fuente:
Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, Ł., & Polosukhin, I. (2017). Attention is All You Need. Advances in Neural Information Processing Systems (NeurIPS).