En el contexto de las redes neuronales , la atención es una técnica que imita la atención cognitiva . El efecto mejora las partes importantes de los datos de entrada y desvanece el resto; la idea es que la red debería dedicar más potencia informática a esa pequeña pero importante parte de los datos. Qué parte de los datos es más importante que otras depende del contexto y se aprende a través de los datos de entrenamiento por descenso de gradiente .
La atención se utiliza en una amplia variedad de modelos de aprendizaje automático, incluido el procesamiento del lenguaje natural y la visión por computadora . [1] [2]
Las redes transformadoras hacen un uso extensivo de los mecanismos de atención para lograr su poder expresivo. [1] Los sistemas de visión por computadora basados en redes neuronales convolucionales también pueden beneficiarse de los mecanismos de atención. [ cita requerida ] El modelo de perceptor usa atención asimétrica para aplicar transformadores directamente a la imagen, audio, video o datos espaciales sin usar convoluciones, a un costo computacional que es subcuadrático a la dimensión de los datos. [3] [4]
Las dos técnicas de atención más comunes que se utilizan son la atención de producto escalar , que utiliza el producto escalar entre vectores para determinar la atención, y la atención de múltiples cabezas , que combina varios mecanismos de atención diferentes para dirigir la atención general de una red o subred.
Para construir una máquina que traduzca del inglés al francés (vea el diagrama a continuación), se comienza con un codificador-decodificador y se le inserta una unidad de atención. La unidad de atención es una red neuronal completamente conectada que alimenta una combinación ponderada de salidas del codificador al decodificador.
|
Esta tabla muestra los cálculos en cada paso de tiempo. Para mayor claridad, utiliza valores numéricos y formas específicos en lugar de letras. Las formas anidadas representan la naturaleza resumida de h, donde cada h contiene una historia de las palabras que le precedieron. Aquí, los puntajes de atención se cocinaron para obtener los pesos de atención deseados.
paso | X | h, H = salida del codificador estos son vectores de 500x1 representados como formas | y i-1 = entrada del decodificador a Atención | puntuación de alineación | w = peso de atención = softmax (puntuación) | c = vector de contexto = H * w | y = salida del decodificador |
1 | I | = codificación vectorial para "I" | - | - | - | - | - |
2 | amor | = codificación vectorial para "Me encanta" | - | - | - | - | - |
3 | usted | = codificación vectorial para "te amo" | - | - | - | - | - |
4 | - | - | y 1 aún no existe, así que usamos esto en su lugar | [.63 -3.2 -2.5 .5 .5 ...] | [.94 .02 .04 0 0 ...] | .94 * + .02 * + .04 * | je |
5 | - | - | año 1 | [-1,5 -3,9 .57 .5 .5 ...] | [.11 .01 .88 0 0 ...] | .11 * + .01 * + .88 * | t ' |
6 | - | - | y 2 | [-2.8 .64 -3.2 .5 .5 ...] | [.03 .95 .02 0 0 ...] | .03 * + .95 * + .02 * | aime |
Visto como una matriz, los pesos de atención muestran cómo la red ajusta su enfoque de acuerdo con el contexto.
I | amor | usted | |
je | .94 | .02 | .04 |
t ' | .11 | .01 | .88 |
aime | .03 | .95 | .02 |
Esta visión de las ponderaciones de la atención aborda el problema de la " explicabilidad " por el que se critican las redes neuronales. Las redes que realizan la traducción literal sin tener en cuenta el orden de las palabras tendrían una matriz diagonalmente dominante si fueran analizables en estos términos. El dominio fuera de la diagonal muestra que el mecanismo de atención tiene más matices. En la primera pasada por el decodificador, el 94% del peso de la atención está en la primera palabra inglesa "I", por lo que la red ofrece la palabra "je". En la segunda pasada del decodificador, el 88% del peso de la atención está en la tercera palabra en inglés "you", por lo que ofrece "t '". En la última pasada, el 95% del peso de la atención está en la segunda palabra en inglés "love", por lo que ofrece "aime".