La arquitectura Transformer (Vaswani et al., 2017) es un modelo basado en secuencias que utiliza un mecanismo de autoatención para procesar secuencias de entrada en paralelo y modelar dependencias contextuales de forma global.
Formalmente, un Transformer consta de varias capas de codificador y decodificador, donde cada capa de codificador incluye un componente de autoatención multi-cabeza (MHSA) y una red feedforward posicional (FFN).
La autoatención para una secuencia de entrada \(X = (x_1, ..., x_n)\) calcula para cada token sumas ponderadas sobre todos los tokens:
\[ \mathrm{Attention}(Q,K,V) = \mathrm{softmax}\left(rac{QK^T}{\sqrt{d_k}} ight) V \]
Aquí, las consultas \(Q\), claves \(K\) y valores \(V\) son proyecciones lineales de \(X\), y \(d_k\) es la dimensión de los vectores clave.
La atención multi-cabeza amplía esto mediante cabezas de atención paralelas que capturan diferentes aspectos de la entrada.
Se añaden codificaciones posicionales para considerar el orden de los tokens, ya que la autoatención en sí es independiente de la posición.
La arquitectura Transformer ha revolucionado el campo del PLN y es la base de modelos como BERT, GPT y T5, que alcanzan resultados de última generación en numerosas tareas de lenguaje.
Definición:
«Los Transformers son arquitecturas de redes neuronales basadas en autoatención para procesar secuencias en paralelo y modelar eficientemente dependencias contextuales.»
Fuente:
Vaswani, A., Shazeer, N., Parmar, N., et al. (2017). Attention Is All You Need. In Advances in Neural Information Processing Systems (NeurIPS).