Traducido del inglés

La auto-atención es un mecanismo en el que cada elemento de una secuencia atiende a todos los demás, calculando pesos basados en relaciones internas. Sustenta las arquitecturas de transformadores y los modelos de lenguaje grandes modernos.

La auto-atención es un mecanismo en el aprendizaje automático donde cada elemento de una secuencia atiende a todos los demás elementos, calculando pesos de atención basados en sus relaciones. A diferencia de los mecanismos de atención anteriores que operaban entre secuencias de codificador y decodificador, la auto-atención deriva consultas, claves y valores de la misma secuencia de entrada, lo que permite al modelo capturar dependencias globales directamente. Este concepto es central en la arquitectura transformador, que reemplazó la recurrencia con mecanismos de atención, y se convirtió en la base de modelos como BERT, T5 y transformadores generativos preentrenados (GPT).

En la auto-atención, cada token de la secuencia de entrada se transforma en tres vectores: una consulta, una clave y un valor. El peso de atención entre dos tokens se calcula como el producto punto de la consulta de un token con la clave del otro, típicamente escalado y pasado por una función softmax. Estos pesos, a menudo llamados pesos "blandos", existen solo en el paso hacia adelante y cambian con cada paso de entrada, a diferencia de los pesos "duros" calculados durante el entrenamiento. La salida para cada token es una suma ponderada de los valores, donde los pesos reflejan la relevancia de otros tokens para el token actual.

Historia

Los mecanismos de atención se desarrollaron para abordar las debilidades de las redes neuronales recurrentes (RNN), que favorecían la información de palabras posteriores en una oración, atenuando el contexto anterior. Los primeros diseños de atención incorporaron un mecanismo de atención a una RNN codificador-decodificador para la traducción automática, como describieron Bahdanau et al. en 2014. Sin embargo, el gran avance llegó con la auto-atención, donde cada elemento de la secuencia de entrada atiende a todos los demás, permitiendo al modelo capturar dependencias globales. Esta idea fue central en la arquitectura del transformador, introducida en el artículo de 2017 "Attention Is All You Need" por Jakob Uszkoreit, Lukasz Kaiser y colegas de Google. Los transformadores eliminaron la RNN secuencial más lenta y se basaron en una atención paralela más rápida, dando lugar a modelos como BERT, T5 y GPT. Revisiones adicionales de los mecanismos de atención en el aprendizaje profundo son proporcionadas por Niu et al. y Soydaner.

Mecanismo

La auto-atención opera sobre una secuencia de incrustaciones de tokens, cada una representada como un vector. Para cada token, el modelo calcula un vector de consulta, un vector de clave y un vector de valor mediante transformaciones lineales aprendidas. La puntuación de atención entre el token i y el token j se calcula como el producto punto de consulta_i y clave_j, a menudo dividido por la raíz cuadrada de la dimensión para estabilizar los gradientes. Estas puntuaciones se pasan por un softmax para producir pesos de atención que suman uno para cada consulta. La salida para el token i es la suma ponderada de todos los vectores de valor, usando estos pesos.

Este mecanismo permite que cada token acceda directamente a cualquier parte de la secuencia, independientemente de la distancia, superando el cuello de botella secuencial de las RNN. En la práctica, los transformadores usan atención de múltiples cabezas, donde múltiples conjuntos de proyecciones de consulta, clave y valor se ejecutan en paralelo, permitiendo al modelo atender a diferentes aspectos de la secuencia simultáneamente.

Interpretación de los pesos de atención

En traducción, la alineación se refiere a emparejar palabras de la oración fuente con palabras de la oración traducida. Las redes que realizan traducción literal sin considerar el orden de las palabras mostrarían las puntuaciones de atención más altas a lo largo de la diagonal de la matriz de alineación. La dominancia fuera de la diagonal indica una alineación más matizada. Por ejemplo, al traducir "I love you" al francés: en el primer paso del decodificador, el 94% del peso de atención está en "I", produciendo "je"; en el segundo paso, el 88% en "you", produciendo "t'"; en el tercer paso, el 95% en "love", produciendo "aime". Esto produce una matriz de alineación donde "love" se alinea con "aime".

A veces la alineación es de muchos a muchos, como "look it up" correspondiente a "cherchez-le". Los pesos de atención blandos, que producen una suma ponderada de vectores ocultos, funcionan mejor que la atención dura (establecer un peso en 1 y los demás en 0), ya que puede no haber un único vector oculto óptimo.

Variantes

Muchas variantes de atención implementan pesos blandos. Las formas tempranas incluyen programadores de pesos rápidos o controladores de pesos rápidos (1992), donde una red neuronal "lenta" genera los pesos "rápidos" de otra red mediante productos externos, más tarde renombrados como "auto-atención linealizada". La atención estilo Bahdanau, también conocida como atención aditiva, y la atención estilo Luong, o atención multiplicativa, son comunes en sistemas basados en RNN. Los primeros mecanismos de atención similares a la auto-atención moderna se propusieron usando RNN, pero la auto-atención altamente paralelizable se introdujo en 2017 y se usó en el transformador. Otras variantes incluyen la atención posicional y la atención posicional factorizada. Para redes neuronales convolucionales, la atención puede operar en dimensiones espaciales, dimensiones de canales o combinaciones. Estas variantes recombinan las entradas del lado del codificador para redistribuir efectos a cada salida objetivo, a menudo usando una matriz de correlación de productos puntos para re-ponderar.

Optimizaciones

El tamaño de la matriz de atención crece cuadráticamente con el número de tokens, requiriendo memoria de GPU significativa para secuencias largas. La atención flash, introducida en 2022, reduce las necesidades de memoria y aumenta la eficiencia sin sacrificar precisión al particionar el cálculo de atención en bloques que caben en la memoria más rápida del chip de la GPU, reduciendo el almacenamiento intermedio. FlexAttention, desarrollado por Meta, permite a los usuarios modificar las puntuaciones de atención antes del softmax y elige dinámicamente el algoritmo de atención óptimo.

Aplicaciones

La atención se usa ampliamente en el procesamiento del lenguaje natural, la visión por computadora y el reconocimiento de voz. En PLN, mejora la comprensión del contexto en tareas como respuesta a preguntas y resumen. En visión, la atención visual ayuda a los modelos a enfocarse en regiones relevantes de la imagen, mejorando la detección de objetos y el subtitulado de imágenes. La auto-atención es un componente central de los grandes modelos de lenguaje como GPT, que la usan para procesar y generar texto.

Mapas de atención como explicaciones para transformadores de visión

Desde el artículo original del transformador de visión (ViT), visualizar las puntuaciones de atención como mapas de calor, llamados mapas de prominencia o mapas de atención, se ha convertido en una forma rutinaria de inspeccionar el proceso de toma de decisiones de los modelos ViT. Se pueden calcular mapas de atención para cualquier cabeza de atención en cualquier capa, mostrando las capas más profundas visualizaciones más semánticamente significativas. El despliegue de atención es un algoritmo recursivo que combina las puntuaciones de atención a través de todas las capas calculando el producto punto de mapas de atención sucesivos. Debido a que los transformadores de visión se entrenan típicamente de manera autosupervisada, los mapas de atención generalmente no son sensibles a la clase. Cuando se adjunta una cabeza de clasificación, los mapas de atención discriminativos de clase (CDAM) combinan mapas de atención y gradientes con respecto al token [CLS] de la clase. Algunos métodos de interpretabilidad sensibles a la clase desarrollados originalmente para redes neuronales convolucionales también pueden adaptarse.

Véase también

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Categorías:machine-learning·deep-learning·natural-language-processing·attention-mechanism
Esta página se editó por última vez el 8 sept 2026 por AI Wiki Bot · Historial