Un mecanismo de atención é un procedemento empregado nas redes neurais artificiais para combinar información asignando pesos que dependen dos datos e do contexto. En lugar de tratar por igual todas as representacións dispoñibles, calcula a súa relevancia para unha consulta e produce unha saída a partir delas. Nunha formulación habitual, compara a consulta cun conxunto de claves e utiliza as puntuacións resultantes para ponderar os valores asociados. A atención permite así que unha representación incorpore información doutras posicións dunha secuencia ou doutra fonte de datos.
O mecanismo adquiriu relevancia na tradución automática neural, na que permitiu consultar distintas partes da frase de orixe durante a xeración da tradución. Posteriormente, a autoatención, que relaciona posicións dunha mesma entrada, converteuse nun compoñente central da arquitectura transformer. A atención tamén se aplica a imaxes, grafos e combinacións de modalidades; non é un algoritmo exclusivo do procesamento de texto nin unha arquitectura completa por si mesma.
A denominación procede dunha analoxía coa selección de información, pero non implica que a rede posúa atención consciente. Tampouco significa que os pesos calculados expliquen, por si sós, a causa dunha predición: a súa interpretación depende da arquitectura, das representacións e do método de análise.
Fundamento
Unha rede que procesa unha secuencia debe representar tanto os seus elementos como as relacións entre eles. Na tradución, por exemplo, a información necesaria para producir unha palabra pode atoparse en diferentes lugares da frase de orixe. Os primeiros sistemas de codificador e descodificador podían resumir toda a entrada nun vector de tamaño fixo; a atención de Bahdanau, Cho e Bengio permitiu construír un vector de contexto diferente en cada paso da descodificación, mediante unha combinación dos estados do codificador. O sistema aprendía conxuntamente a traducir e a establecer estes aliñamentos, sen necesitar unha anotación explícita de cada correspondencia.
A idea xeral separa tres funcións. A consulta expresa que información se busca; a clave proporciona a representación coa que se avalía a compatibilidade; e o valor contén a información que se agrega. Son funcións dentro do cálculo, non necesariamente tres tipos de datos externos. Unha mesma representación de entrada pode transformarse mediante matrices diferentes para desempeñar os tres papeis. A semellanza dunha clave coa consulta tampouco require unha coincidencia exacta, como acontecería na procura dunha clave nun dicionario convencional.
center|800px|alt=Secuencia de como funciona o mecanismo de atención|Ilustración do mecanismo de atención Os pesos de atención son distintos dos parámetros aprendidos da rede. As matrices de proxección axústanse durante o adestramento, mentres que os pesos de atención se calculan de novo para cada entrada. Por tanto, unha cabeza pode asignar distribucións diferentes en distintas frases ou imaxes, mesmo cando os seus parámetros permanecen fixos. Esta dependencia do contido distingue a atención dunha combinación con coeficientes constantes.
Formulación matemática
Puntuación, normalización e agregación
Sexa unha consulta e sexan , con , os pares de claves e valores accesibles. Unha función de compatibilidade produce as puntuacións
Na atención normalizada coa función softmax, os pesos e a saída son
A normalización realízase sobre as claves dispoñibles para cada consulta. Os pesos son non negativos e suman un, polo que a saída desta operación é unha combinación convexa dos valores. Esta propiedade describe a agregación básica; unha proxección posterior, unha conexión residual ou a aplicación de dropout aos pesos durante o adestramento poden modificar as propiedades da saída do bloque completo.
Cómpre distinguir a puntuación, que pode ser negativa e non está normalizada, do peso, que resulta da normalización. Un peso elevado expresa unha contribución relativamente grande dentro dese conxunto de valores. Non é, en xeral, unha probabilidade de que unha palabra sexa correcta, nin unha medida de certeza sobre a resposta final. A elección da función de puntuación e da transformación que a converte nunha distribución dá lugar a diferentes familias de mecanismos.
Atención aditiva e multiplicativa
Na atención aditiva, unha pequena rede calcula a compatibilidade entre a consulta e cada clave. Unha expresión habitual é
onde , , e son parámetros aprendidos. As transformacións permiten comparar consultas e claves que inicialmente teñan dimensións distintas. Na tradución recorrente, a consulta pode proceder do estado do descodificador e as claves dos estados do codificador.
A atención multiplicativa utiliza produtos entre representacións. Luong, Pham e Manning estudaron, entre outras, a puntuación mediante produto escalar e a forma bilinear . Tamén distinguiron a atención global, que considera todas as posicións de orixe, da atención local, que concentra o cálculo nunha rexión arredor dunha posición estimada. A elección afecta ao custo e á forma de establecer correspondencias entre secuencias.
Produto escalar escalado
Para consultas e claves de dimensión , a atención por produto escalar escalado emprega
O factor de escala controla a magnitude das puntuacións. Baixo a hipótese ilustrativa de compoñentes independentes, centradas e con varianza unitaria, a varianza do produto escalar medra con ; a división pola súa raíz cadrada compensa ese crecemento. A motivación é evitar que puntuacións moi grandes leven a softmax a rexións con gradientes pequenos. Non é unha garantía universal sobre a distribución das activacións dunha rede adestrada.
Para calcular varias consultas simultaneamente, agrúpanse en matrices
As filas representan posicións. A operación completa, cunha máscara aditiva , escríbese
A matriz de pesos ten dimensión e a saída , dimensión . Cada consulta produce unha fila de saída; as claves e os valores deben ter o mesmo número de filas porque cada peso se aplica ao valor da clave correspondente.
Exemplo numéricoExemplo numérico do mecanismo de atención
Un exemplo sintético permite separar a normalización da combinación de valores. Se as puntuacións dunha consulta son , a softmax dá
miniatura|490x490px|Exemplo numérico do mecanismo de atención
Para os valores , e , a saída é
O resultado sitúase dentro do triángulo formado polos tres valores. O exemplo é unha aplicación aritmética da definición: non representa palabras reais nin pesos obtidos dun modelo adestrado.
Modalidades
Autoatención
Na autoatención, as consultas, claves e valores proceden dunha mesma colección de representacións. Unha forma habitual de obtelos a partir da matriz de entrada é
As matrices de proxección son diferentes, polo que compartir a entrada non implica que , e sexan iguais. O resultado para unha posición depende das relacións calculadas coas posicións accesibles. Este procedemento pode empregarse como parte dunha arquitectura máis ampla ou para construír unha representación global dunha secuencia.
A autoatención sen restrición causal pode utilizar contexto situado a ambos os lados dunha posición. BERT emprega representacións bidireccionais e adéstraas, entre outros obxectivos, mediante a predición de elementos ocultos da entrada. Pola contra, un modelo autorregresivo debe impedir que o cálculo dunha predición acceda á información futura que pretende predicir.
Atención cruzada miniatura|462x462px|Comparativa visual entre a autoatención e a atención cruzada Na atención cruzada, a fonte das consultas é distinta da fonte das claves e dos valores. Nun sistema de tradución, o descodificador pode proporcionar as consultas e o codificador as representacións da frase de orixe. Cada posición de destino obtén así unha combinación da información de orixe; o número de consultas non ten que coincidir co número de claves.
A mesma separación permite relacionar modalidades distintas. Nun sistema que describe imaxes, o estado do xerador de texto pode determinar que representacións visuais contribúen ao seguinte paso. A atención opera sobre características numéricas extraídas da imaxe, non necesariamente sobre píxeles illados nin sobre rexións cun significado asignado de antemán.
Atención continua e selección discreta
A atención continua, chamada soft attention en inglés, combina varias representacións mediante pesos diferenciables. A selección discreta ou hard attention escolle posicións ou rexións concretas. Esta última pode reducir a información procesada, pero a decisión discreta non permite aplicar directamente a mesma derivación que a unha suma ponderada suave; empréganse, segundo o modelo, estimadores estocásticos ou outros procedementos de adestramento. Xu e colaboradores estudaron ambas as formulacións na xeración de descricións de imaxes.
Esta distinción non coincide coa diferenza entre atención global e local. Unha atención local pode seguir distribuíndo pesos continuos dentro dunha xanela. Tampouco unha distribución moi concentrada equivale necesariamente a unha selección discreta: con puntuacións finitas, a softmax asigna pesos estritamente positivos a todas as posicións non enmascaradas.
Máscaras e posición
Restricións de acceso miniatura|644x644px|Visualización do uso da máscara cauasl Unha máscara especifica que posicións poden contribuír a cada consulta. Na notación aditiva, pode empregarse para unha posición permitida e para unha posición prohibida. Ao expoñenciar as puntuacións, as entradas prohibidas reciben peso cero. As máscaras de recheo exclúen os elementos artificiais engadidos para agrupar secuencias de lonxitudes diferentes.
Na autoatención causal usual, a posición pode consultar as posicións , pero non as posteriores. A matriz permitida é triangular inferior, incluída a diagonal. Nun modelo que predí o seguinte elemento, esta diagonal corresponde á entrada xa coñecida da posición actual; o obxectivo que se predí está desprazado. A máscara permite calcular varias posicións en paralelo durante o adestramento sen revelarlles o futuro.
Ao bloquear posicións, tamén se modifica a normalización das que permanecen accesibles. Polo tanto, aplicar unha máscara causal non consiste simplemente en poñer a cero o triángulo superior dunha matriz de pesos xa normalizada: cómpre volver normalizar cada fila sobre o seu conxunto permitido. Debe existir polo menos unha posición válida por consulta para que a softmax convencional quede definida.
Información da posición
A autoatención baseada só no contido non codifica por si mesma a orde dunha secuencia. Sen información posicional nin máscaras que dependan da orde, permutar as filas da entrada permuta de maneira correspondente as filas da saída: a operación é equivariante respecto das permutacións. Esta propiedade resulta útil para conxuntos, pero é insuficiente cando a orde das palabras ou das mostras determina o significado.
As arquitecturas poden introducir posicións absolutas mediante vectores engadidos ás representacións, ou posicións relativas que interveñen nas relacións entre elementos. Shaw, Uszkoreit e Vaswani formularon unha autoatención que incorpora representacións da distancia relativa. Esta información permite distinguir relacións que o contido por si só non identifica; a forma concreta de codificala tamén condiciona o comportamento ante secuencias de lonxitude distinta das utilizadas no adestramento.
Atención multicabeza
A atención multicabeza calcula varias atencións con proxeccións aprendidas diferentes. Para unha cabeza ,
As saídas concaténanse e proxéctanse de novo:
Cada cabeza pode operar nun subespazo distinto. A operación non é a media de varias copias idénticas: os parámetros propios permiten aprender combinacións diferentes, e a proxección final mestura os seus resultados.