La atención es un método de aprendizaje automático que determina la importancia relativa de cada componente de una secuencia en relación con los demás componentes de esa secuencia. En el procesamiento del lenguaje natural , la importancia se representa mediante pesos "suaves" asignados a cada palabra de una oración. En términos más generales, la atención codifica vectores denominados incrustaciones de tokens en una secuencia de ancho fijo que puede tener un tamaño que va desde decenas hasta millones de tokens.
A diferencia de los pesos "duros", que se calculan durante el pase de entrenamiento hacia atrás, los pesos "suaves" existen solo en el pase hacia adelante y, por lo tanto, cambian con cada paso de la entrada. Los diseños anteriores implementaron el mecanismo de atención en un sistema de traducción de idiomas de red neuronal recurrente serial, pero el diseño de transformador posterior eliminó la RNN secuencial más lenta y se basó más en el esquema de atención paralela más rápido.
Inspirado por las ideas sobre la atención en los seres humanos , el mecanismo de atención se desarrolló para abordar las debilidades del aprovechamiento de la información de las capas ocultas de las redes neuronales recurrentes. Las redes neuronales recurrentes favorecen la información más reciente contenida en las palabras al final de una oración, mientras que la información anterior en la oración tiende a atenuarse . La atención permite a un token tener acceso igualitario a cualquier parte de una oración directamente, en lugar de solo a través del estado anterior.
Historia
Se proporcionan revisiones académicas de la historia del mecanismo de atención en Niu et al. [1] y Soydaner. [2]
Antecesores
La atención selectiva en humanos ha sido ampliamente estudiada en neurociencia y psicología cognitiva. [3] En 1953, Colin Cherry estudió la atención selectiva en el contexto de la audición, conocido como el efecto cóctel . [4]
En 1958, Donald Broadbent propuso el modelo de filtro de la atención . [5] La atención selectiva de la visión fue estudiada en la década de 1960 por el paradigma de informe parcial de George Sperling . También se observó que el control de la sacudida está modulado por procesos cognitivos, en la medida en que el ojo se mueve preferentemente hacia áreas de alta prominencia . Como la fóvea del ojo es pequeña, el ojo no puede resolver nítidamente todo el campo visual a la vez. El uso del control de la sacudida permite al ojo escanear rápidamente características importantes de una escena. [6]
Estos avances en la investigación inspiraron algoritmos como el Neocognitron y sus variantes. [7] [8] Mientras tanto, los avances en redes neuronales habían inspirado modelos de circuitos de atención visual biológica. [9] [2] Una red muy citada de 1998, por ejemplo, se inspiró en el sistema visual de primates de bajo nivel . Produjo mapas de saliencia de imágenes utilizando características hechas a mano (no aprendidas), que luego se utilizaron para guiar a una segunda red neuronal en el procesamiento de parches de la imagen con el fin de reducir la saliencia. [10]
Un aspecto clave del mecanismo de atención se puede escribir (esquemáticamente) como: donde los corchetes angulares denotan producto escalar. Esto muestra que implica una operación multiplicativa. Las operaciones multiplicativas dentro de redes neuronales artificiales se han estudiado bajo los nombres de Método de grupo de manejo de datos (1965) [11] [12] (donde los polinomios de Kolmogorov-Gabor implementan unidades multiplicativas o "puertas" [13] ), redes neuronales de orden superior , [14] unidades de multiplicación , [15] unidades sigma-pi , [16] controladores de peso rápido , [17] e hiperredes . [18]
En el controlador de peso rápido ( Schmidhuber , 1992), una de sus dos redes tiene "pesos rápidos" o "enlaces dinámicos" (1981). [19] [20] [21] Una red neuronal lenta aprende por descenso de gradiente a generar claves y valores para calcular los cambios de peso de la red neuronal rápida que calcula las respuestas a las consultas. [17] Más tarde se demostró que esto era equivalente al transformador lineal no normalizado. [22] Un artículo de seguimiento desarrolló un sistema similar con cambio de peso activo. [23]
Atención recurrente
Durante la era del aprendizaje profundo, se desarrolló un mecanismo de atención para resolver problemas similares en la codificación y decodificación. [1]
En la traducción automática, el modelo seq2seq , tal como se propuso en 2014 [24] , codificaría un texto de entrada en un vector de longitud fija, que luego se decodificaría en un texto de salida. Si el texto de entrada es largo, el vector de longitud fija no podría transportar suficiente información para una decodificación precisa. Se propuso un mecanismo de atención para resolver este problema.
En 2015 se propuso un modelo de subtítulos de imágenes, inspirándose en el modelo seq2seq. [25] que codificaría una imagen de entrada en un vector de longitud fija. (Xu et al 2015), [26] citando (Bahdanau et al 2014), [27] aplicaron el mecanismo de atención utilizado en el modelo seq2seq a los subtítulos de imágenes.
Transformador
Un problema con los modelos seq2seq era el uso de redes neuronales recurrentes, que no son paralelizables ya que tanto el codificador como el decodificador deben procesar la secuencia token por token. Decomposable attention [28] intentó resolver este problema procesando la secuencia de entrada en paralelo, antes de calcular una "matriz de alineación suave" ( alineación es la terminología utilizada por Bahdanau et al [27] ) para permitir el procesamiento en paralelo.
La idea de utilizar el mecanismo de atención para la autoatención, en lugar de en un codificador-descodificador (atención cruzada), también se propuso durante este período, como en las computadoras neuronales diferenciables [29] y las máquinas de Turing neuronales . [30] Se denominó intraatención [31] donde un LSTM se aumenta con una red de memoria a medida que codifica una secuencia de entrada.
El método seq2seq desarrollado a principios de la década de 2010 utiliza dos redes neuronales: una red de codificadores convierte una oración de entrada en vectores numéricos y una red de decodificadores convierte esos vectores en oraciones en el idioma de destino. El mecanismo Attention se injertó en esta estructura en 2014 y luego se perfeccionó en el diseño Transformer.
Planteamiento del problema
Consideremos la tarea de traducción del inglés al francés del lenguaje seq2seq. Para ser más concretos, consideremos la traducción de "the zone of international control <end>", que debería traducirse como "la zone de contrôle international <end>". Aquí, utilizamos el token especial <end> como carácter de control para delimitar el final de la entrada tanto para el codificador como para el decodificador.
Una secuencia de entrada de texto es procesada por una red neuronal (que puede ser un LSTM, un codificador Transformer o alguna otra red) en una secuencia de vectores de valor real , donde significa "vector oculto".
Una vez que el codificador ha terminado de procesar, el decodificador comienza a operar sobre los vectores ocultos, para producir una secuencia de salida , de forma autorregresiva. Es decir, siempre toma como entrada tanto los vectores ocultos producidos por el codificador, como lo que el propio decodificador ha producido antes, para producir la siguiente palabra de salida:
( , "<inicio>") → "la"
( , "<inicio> la") → "la zona"
( , "<inicio> la zona") → "la zona de"
...
( , "<inicio> la zona de control internacional") → "la zona de control internacional <fin>"
Aquí, utilizamos el token especial <start> como carácter de control para delimitar el inicio de la entrada para el decodificador. La decodificación finaliza tan pronto como aparece "<end>" en la salida del decodificador.
Alineación de palabras
En la traducción entre idiomas, la alineación es el proceso de hacer coincidir las palabras de la oración original con las palabras de la oración traducida. [32] En el ejemplo anterior de Te amo , la segunda palabra amor está alineada con la tercera palabra aime . Al apilar los vectores de fila suaves para je , t' y aime se obtiene una matriz de alineación :
A veces, la alineación puede ser de múltiples a múltiples. Por ejemplo, la frase en inglés look it up corresponde a cherchez-le . Por lo tanto, los pesos de atención "suaves" funcionan mejor que los pesos de atención "duros" (establecer un peso de atención en 1 y los demás en 0), ya que nos gustaría que el modelo creara un vector de contexto que consistiera en una suma ponderada de los vectores ocultos, en lugar de "el mejor", ya que puede que no haya un mejor vector oculto.
Esta visión de los pesos de la atención aborda algunos de los problemas de explicabilidad de las redes neuronales . Las redes que realizan una traducción textual sin tener en cuenta el orden de las palabras mostrarían las puntuaciones más altas a lo largo de la diagonal (dominante) de la matriz. El predominio fuera de la diagonal muestra que el mecanismo de atención es más matizado. En la primera pasada por el decodificador, el 94% del peso de la atención está en la primera palabra en inglés 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 .
Pesos de atención
Como la elaboración manual de pesos frustra el propósito del aprendizaje automático, el modelo debe calcular los pesos de atención por sí solo. Tomando una analogía del lenguaje de las consultas de bases de datos , hacemos que el modelo construya un triple de vectores: clave, consulta y valor. La idea básica es que tenemos una "base de datos" en forma de una lista de pares clave-valor. El decodificador envía una consulta y obtiene una respuesta en forma de una suma ponderada de los valores , donde el peso es proporcional a qué tan cerca se parece la consulta a cada clave .
El decodificador primero procesa parcialmente la entrada "<start>" para obtener un vector intermedio , el vector oculto 0 del decodificador. Luego, el vector intermedio se transforma mediante un mapa lineal en un vector de consulta . Mientras tanto, los vectores ocultos generados por el codificador se transforman mediante otro mapa lineal en vectores clave . Los mapas lineales son útiles para proporcionar al modelo la libertad suficiente para encontrar la mejor manera de representar los datos.
Ahora, la consulta y las claves se comparan tomando productos escalares: . Idealmente, el modelo debería haber aprendido a calcular las claves y los valores, de modo que sea grande, sea pequeño y el resto sea muy pequeño. Esto se puede interpretar como que el peso de atención se debe aplicar principalmente al vector oculto 0 del codificador, un poco al 1 y esencialmente nada al resto.
Para realizar una suma ponderada correctamente, necesitamos transformar esta lista de productos escalares en una distribución de probabilidad sobre . Esto se puede lograr mediante la función softmax , lo que nos da los pesos de atención: Esto se utiliza luego para calcular el vector de contexto :
donde están los vectores de valores , transformados linealmente por otra matriz para proporcionar al modelo la libertad de encontrar la mejor manera de representar los valores. Sin las matrices , el modelo se vería obligado a utilizar el mismo vector oculto tanto para la clave como para el valor, lo que podría no ser apropiado, ya que estas dos tareas no son lo mismo.
Este es el mecanismo de atención por puntos. La versión particular que se describe en esta sección es "atención cruzada del decodificador", ya que el vector de contexto de salida lo utiliza el decodificador y las claves y valores de entrada provienen del codificador, pero la consulta proviene del decodificador, por lo que se trata de "atención cruzada".
De manera más sucinta, podemos escribirlo como donde la matriz es la matriz cuyas filas son . Tenga en cuenta que el vector de consulta, , no es necesariamente el mismo que el vector clave-valor . De hecho, es teóricamente posible que los vectores de consulta, clave y valor sean todos diferentes, aunque eso rara vez ocurre en la práctica.
Descripción general
El diagrama muestra el pase de atención hacia adelante calculando las correlaciones de la palabra "that" con otras palabras en "See that girl run". Con los pesos correctos del entrenamiento, la red debería poder identificar "girl" como una palabra altamente correlacionada. Algunas cosas para tener en cuenta:
Este ejemplo se centra en la atención de una sola palabra "that". En la práctica, la atención de cada palabra se calcula en paralelo para acelerar los cálculos. Simplemente cambiando el vector "x" minúscula por la matriz "X" mayúscula se obtendrá la fórmula para esto.
La escala Softmax qW k T / √ 100 evita una alta variación en qW k T que permitiría que una sola palabra domine excesivamente el softmax, dando como resultado que la atención se centre en una sola palabra, como lo haría un máximo estricto discreto.
Notación : la fórmula softmax por filas, comúnmente escrita anteriormente, supone que los vectores son filas, lo que va en contra de la notación matemática estándar de los vectores de columna. Más correctamente, deberíamos tomar la transposición del vector de contexto y usar la fórmula softmax por columnas , lo que da como resultado la forma más correcta.
.
Codificador-decodificador con atención. [33] Los subíndices numéricos (100, 300, 500, 9k, 10k) indican tamaños de vectores, mientras que los subíndices con letras i e i − 1 indican pasos de tiempo. Las regiones rosadas en la matriz H y el vector w son valores cero. Consulte la leyenda para obtener más detalles.
Terminología
Este esquema de atención se ha comparado con la analogía de consulta-clave de las bases de datos relacionales. Esa comparación sugiere un papel asimétrico para los vectores de consulta y clave, donde un elemento de interés (el vector de consulta "that") se compara con todos los elementos posibles (los vectores de clave de cada palabra en la oración). Sin embargo, los cálculos paralelos de Attention hacen coincidir todas las palabras de una oración consigo mismas; por lo tanto, los roles de estos vectores son simétricos . Posiblemente porque la analogía simplista de la base de datos es defectuosa, se ha invertido mucho esfuerzo en comprender mejor Attention mediante el estudio de sus roles en entornos específicos, como el aprendizaje en contexto, [35] tareas de lenguaje enmascarado, [36] transformadores simplificados, [37] estadísticas de bigramas, [38] estadísticas de N-gramas, [39] convoluciones por pares, [40] y factorización aritmética. [41]
Variantes
Muchas variantes de atención implementan pesos suaves, como
Programadores de peso rápido o controladores de peso rápido (1992). [17] Una red neuronal "lenta" genera los pesos "rápidos" de otra red neuronal a través de productos externos . La red lenta aprende por descenso de gradiente. Más tarde se la rebautizó como "autoatención linealizada". [22]
Atención al estilo Bahdanau, [32] también conocida como atención aditiva ,
Atención de estilo Luong, [42] que se conoce como atención multiplicativa ,
autoatención altamente paralelizable introducida en 2016 como atención descomponible [31] y utilizada con éxito en transformadores un año después,
Atención posicional y atención posicional factorizada . [43]
Para las redes neuronales convolucionales , los mecanismos de atención se pueden distinguir por la dimensión en la que operan, a saber: atención espacial, [44] atención de canal, [45] o combinaciones. [46] [47]
Se ha invertido mucho esfuerzo en comprender mejor la atención mediante el estudio de sus funciones en entornos específicos, como el aprendizaje en contexto, [35] tareas de lenguaje enmascarado, [36] transformadores simplificados, [37] estadísticas de bigramas, [38] estadísticas de N-gramas, [39] convoluciones por pares, [40] y factorización aritmética. [41]
Estas variantes recombinan las entradas del lado del codificador para redistribuir esos efectos a cada salida de destino. A menudo, una matriz de productos puntuales de estilo de correlación proporciona los coeficientes de reponderación. En las figuras siguientes, W es la matriz de ponderaciones de la atención del contexto, similar a la fórmula de la sección Cálculos básicos anterior.
Autoatención
La autoatención es básicamente lo mismo que la atención cruzada, excepto que los vectores de consulta, clave y valor provienen del mismo modelo. Tanto el codificador como el decodificador pueden utilizar la autoatención, pero con diferencias sutiles.
Para la autoatención del codificador, podemos empezar con un codificador simple sin autoatención, como una "capa de incrustación", que simplemente convierte cada palabra de entrada en un vector mediante una tabla de búsqueda fija . Esto da una secuencia de vectores ocultos . Estos pueden aplicarse luego a un mecanismo de atención de producto escalar, para obtener o, más sucintamente, . Esto puede aplicarse repetidamente, para obtener un codificador de múltiples capas. Esta es la "autoatención del codificador", a veces llamada "atención de todos a todos", ya que el vector en cada posición puede atender a todos los demás.
Enmascaramiento
Para la autoatención del decodificador, la atención de todos a todos es inadecuada, porque durante el proceso de decodificación autorregresiva, el decodificador no puede prestar atención a las salidas futuras que aún no se han decodificado. Esto se puede solucionar forzando los pesos de atención para todos , lo que se denomina "enmascaramiento causal". Este mecanismo de atención es la "autoatención enmascarada causalmente".
Representación matemática
Atención del producto escalar estándar
Para las matrices: y , el producto escalado, o QKV, se define como:
donde denota transposición y la función softmax se aplica independientemente a cada fila de su argumento. La matriz contiene consultas, mientras que las matrices contienen conjuntamente un conjunto desordenado de pares clave-valor. Los vectores de valores en la matriz se ponderan utilizando los pesos resultantes de la operación softmax, de modo que las filas de la matriz de salida -por- se limitan a la envoltura convexa de los puntos en dados por las filas de .
Para comprender las propiedades de invariancia de permutación y equivariancia de permutación de la atención QKV, [52] sean y matrices de permutación ; y una matriz arbitraria. La función softmax es equivariante de permutación en el sentido de que:
Al observar que la transpuesta de una matriz de permutación es también su inversa, se deduce que:
lo que demuestra que la atención de QKV es equivariante con respecto a la reordenación de las consultas (filas de ); e invariante con respecto a la reordenación de los pares clave-valor en . Estas propiedades se heredan al aplicar transformaciones lineales a las entradas y salidas de los bloques de atención de QKV. Por ejemplo, una función de autoatención simple definida como:
es equivariante en cuanto a la reordenación de las filas de la matriz de entrada de una manera no trivial, porque cada fila de la salida es una función de todas las filas de la entrada. Propiedades similares se aplican a la atención de múltiples cabezas , que se define a continuación.
Atención enmascarada
Cuando se utiliza la atención QKV como un bloque de construcción para un decodificador autorregresivo, y cuando en el momento del entrenamiento todas las matrices de entrada y salida tienen filas, se utiliza una variante de atención enmascarada :
donde la máscara, es una matriz triangular superior estricta , con ceros en y debajo de la diagonal y en cada elemento por encima de la diagonal. La salida softmax, también en es entonces triangular inferior , con ceros en todos los elementos por encima de la diagonal. El enmascaramiento asegura que para todos los , fila de la salida de atención es independiente de la fila de cualquiera de las tres matrices de entrada. Las propiedades de invariancia de permutación y equivariancia de la atención QKV estándar no se mantienen para la variante enmascarada.
Atención de múltiples cabezas
Atención de múltiples cabezas
donde cada cabeza se calcula con atención QKV como:
y , y son matrices de parámetros.
Las propiedades de permutación de la atención QKV (estándar, sin máscara) también se aplican aquí. Para matrices de permutación, :
De lo cual también vemos que la autoatención multi-cabezal :
es equivariante con respecto al reordenamiento de las filas de la matriz de entrada .
Bahdanau (Aditivo) Atención
donde y y son matrices de peso que se pueden aprender. [32]
Atención Luong (General)
donde es una matriz de peso que se puede aprender. [42]
^ ab Niu, Zhaoyang; Zhong, Guoqiang; Yu, Hui (10 de septiembre de 2021). "Una revisión sobre el mecanismo de atención del aprendizaje profundo". Neurocomputing . 452 : 48–62. doi :10.1016/j.neucom.2021.03.091. ISSN 0925-2312.
^ ab Soydaner, Derya (agosto de 2022). "Mecanismo de atención en redes neuronales: de dónde viene y a dónde va". Computación neuronal y aplicaciones . 34 (16): 13371–13385. doi :10.1007/s00521-022-07366-3. ISSN 0941-0643.
^ Kramer, Arthur F.; Wiegmann, Douglas A.; Kirlik, Alex (28 de diciembre de 2006). "1 Atención: de la historia a la aplicación". Atención: de la teoría a la práctica. Oxford University Press. doi :10.1093/acprof:oso/9780195305722.003.0001. ISBN978-0-19-530572-2.
^ Cherry EC (1953). "Algunos experimentos sobre el reconocimiento del habla, con uno y con dos oídos" (PDF) . Revista de la Sociedad Acústica de América . 25 (5): 975–79. Bibcode :1953ASAJ...25..975C. doi :10.1121/1.1907229. hdl : 11858/00-001M-0000-002A-F750-3 . ISSN 0001-4966.
^ Broadbent, D (1958). Percepción y comunicación . Londres: Pergamon Press.
^ Kowler, Eileen; Anderson, Eric; Dosher, Barbara; Blaser, Erik (1 de julio de 1995). "El papel de la atención en la programación de los movimientos sacádicos". Vision Research . 35 (13): 1897–1916. doi :10.1016/0042-6989(94)00279-U. ISSN 0042-6989. PMID 7660596.
^ Fukushima, Kunihiko (1987-12-01). "Modelo de red neuronal para la atención selectiva en el reconocimiento de patrones visuales y el recuerdo asociativo". Applied Optics . 26 (23): 4985–4992. Bibcode :1987ApOpt..26.4985F. doi :10.1364/AO.26.004985. ISSN 0003-6935. PMID 20523477.
^ Ba, Jimmy; Mnih, Volodymyr; Kavukcuoglu, Koray (23 de abril de 2015). "Reconocimiento de objetos múltiples con atención visual". arXiv : 1412.7755 [cs.LG].
^ Koch, Christof; Ullman, Shimon (1987). "Cambios en la atención visual selectiva: hacia el circuito neuronal subyacente". En Vaina, Lucia M. (ed.). Asuntos de inteligencia: estructuras conceptuales en neurociencia cognitiva . Dordrecht: Springer Netherlands. págs. 115–141. doi :10.1007/978-94-009-3833-5_5. ISBN .978-94-009-3833-5. Recuperado el 6 de agosto de 2024 .
^ Itti, L.; Koch, C.; Niebur, E. (noviembre de 1998). "Un modelo de atención visual basada en la prominencia para el análisis rápido de escenas". IEEE Transactions on Pattern Analysis and Machine Intelligence . 20 (11): 1254–1259. doi :10.1109/34.730558.
^ Ivakhnenko, AG (1973). Dispositivos de predicción cibernética. CCM Information Corporation.
^ Ivakhnenko, AG ; Grigorʹevich Lapa, Valentin (1967). Cibernética y técnicas de previsión. American Elsevier Pub. Co.
^ Schmidhuber, Jürgen (2022). "Historia comentada de la IA moderna y el aprendizaje profundo". arXiv : 2212.11279 [cs.NE].
^ Giles, C. Lee; Maxwell, Tom (1987-12-01). "Aprendizaje, invariancia y generalización en redes neuronales de orden superior". Applied Optics . 26 (23): 4972–4978. doi :10.1364/AO.26.004972. ISSN 0003-6935. PMID 20523475.
^ Feldman, JA; Ballard, DH (1 de julio de 1982). "Modelos conexionistas y sus propiedades". Ciencia cognitiva . 6 (3): 205–254. doi :10.1016/S0364-0213(82)80001-3. ISSN 0364-0213.
^ Rumelhart, David E.; Hinton, GE; Mcclelland, James L. (29 de julio de 1987). "Un marco general para el procesamiento distribuido paralelo" (PDF) . En Rumelhart, David E.; Hinton, GE; PDP Research Group (eds.). Procesamiento distribuido paralelo, volumen 1: exploraciones en la microestructura de la cognición: fundamentos . Cambridge, Massachusetts: MIT Press. ISBN978-0-262-68053-0.
^ abc Schmidhuber, Jürgen (1992). "Aprender a controlar las memorias de peso rápido: una alternativa a las redes recurrentes". Neural Computation . 4 (1): 131–139. doi :10.1162/neco.1992.4.1.131. S2CID 16683347.
^ Ja, David; Dai, Andrés; Le, Quoc V. (1 de diciembre de 2016). "Hiperredes". arXiv : 1609.09106 [cs.LG].
^ Christoph von der Malsburg: La teoría de la correlación de la función cerebral. Informe interno 81-2, MPI Biophysical Chemistry, 1981. http://cogprints.org/1380/1/vdM_correlation.pdf Véase la reimpresión en Models of Neural Networks II, capítulo 2, páginas 95-119. Springer, Berlín, 1994.
^ Jerome A. Feldman, "Conexiones dinámicas en redes neuronales", Biological Cybernetics, vol. 46, no. 1, pp. 27-39, diciembre de 1982.
^ Hinton, Geoffrey E.; Plaut, David C. (1987). "Uso de pesos rápidos para desenfocar viejos recuerdos". Actas de la Reunión Anual de la Sociedad de Ciencias Cognitivas . 9 .
^ ab Schlag, Imanol ; Irie, Kazuki; Schmidhuber, Jürgen (2021). "Los transformadores lineales son programadores de peso secretamente rápidos". ICML 2021 . Saltador. págs. 9355–9366.
^ Schmidhuber, Jürgen (1993). "Reducción de la relación entre la complejidad del aprendizaje y el número de variables que varían con el tiempo en redes completamente recurrentes". ICANN 1993 . Springer. págs. 460–463.
^ Sutskever, Ilya; Vinyals, Oriol; Le, Quoc Viet (2014). "Aprendizaje secuencia a secuencia con redes neuronales". arXiv : 1409.3215 [cs.CL].
^ Vinyals, Oriol; Toshev, Alexander; Bengio, Samy; Erhan, Dumitru (2015). "Mostrar y contar: un generador neuronal de subtítulos para imágenes". pp. 3156–3164.
^ Xu, Kelvin; Ba, Jimmy; Kiros, Ryan; Cho, Kyunghyun; Courville, Aaron; Salakhudinov, Ruslan; Zemel, Rich; Bengio, Yoshua (1 de junio de 2015). "Mostrar, atender y contar: generación de subtítulos de imágenes neuronales con atención visual". Actas de la 32.ª Conferencia internacional sobre aprendizaje automático . PMLR: 2048–2057.
^ ab Bahdanau, Dzmitry; Cho, Kyunghyun; Bengio, Yoshua (19 de mayo de 2016). "Traducción automática neuronal mediante aprendizaje conjunto de alineación y traducción". arXiv : 1409.0473 [cs.CL].(fecha original 1 de septiembre de 2014)
^ Parikh, Ankur; Täckström, Oscar; Das, Dipanjan; Uszkoreit, Jakob (2016). "Un modelo de atención descomponible para la inferencia del lenguaje natural". Actas de la Conferencia de 2016 sobre métodos empíricos en el procesamiento del lenguaje natural . Stroudsburg, PA, EE. UU.: Asociación de Lingüística Computacional. págs. 2249–2255. arXiv : 1606.01933 . doi :10.18653/v1/d16-1244.
^ Graves, Alex; Wayne, Greg; Reynolds, Malcolm; Harley, Tim; Danihelka, Ivo; Grabska-Barwińska, Agnieszka; Colmenarejo, Sergio Gómez; Grefenstette, Edward; Ramalho, Tiago; Agapiou, John; Badia, Adrià Puigdomènech; Hermann, Karl Moritz; Zwols, Yori; Ostrovski, Georg; Cain, Adam; King, Helen; Summerfield, Christopher; Blunsom, Phil; Kavukcuoglu, Koray; Hassabis, Demis (12 de octubre de 2016). "Computación híbrida utilizando una red neuronal con memoria externa dinámica". Nature . 538 (7626): 471–476. Código Bibliográfico :2016Natur.538..471G. doi :10.1038/nature20101. Revista de Biología Molecular y Genética .
^ Tumbas, Alex; Wayne, Greg; Danihelka, Ivo (10 de diciembre de 2014). "Máquinas neuronales de Turing". arXiv : 1410.5401 [cs.NE].
^ ab Cheng, Jianpeng; Dong, Li; Lapata, Mirella (20 de septiembre de 2016). "Redes de memoria a corto y largo plazo para lectura de máquinas". arXiv : 1601.06733 [cs.CL].
^ abc Bahdanau, Dzmitry; Cho, Kyunghyun; Bengio, Yoshua (2014). "Traducción automática neuronal mediante el aprendizaje conjunto de alineación y traducción". arXiv : 1409.0473 [cs.CL].
^ Britz, Denny; Goldie, Anna; Luong, Minh-Thanh; Le, Quoc (21 de marzo de 2017). "Exploración masiva de arquitecturas de traducción automática neuronal". arXiv : 1703.03906 [cs.CV].
^ "Tutorial de seq2seq de Pytorch.org" . Consultado el 2 de diciembre de 2021 .
^ ab Zhang, Ruiqi (2024). "Los transformadores entrenados aprenden modelos lineales en contexto" ( PDF) . Revista de investigación en aprendizaje automático 1-55 . 25. arXiv : 2306.09927 .
^ ab Rende, Riccardo (2024). "Mapeo de los mecanismos de atención a un modelo de Potts generalizado". Physical Review Research . 6 (2): 023057. arXiv : 2304.07235 . Código Bibliográfico :2024PhRvR...6b3057R. doi :10.1103/PhysRevResearch.6.023057.
^ ab He, Bobby (2023). "Simplificando bloques de Transformers". arXiv : 2311.01906 [cs.LG].
^ ab Nguyen, Timothy (2024). "Comprensión de los transformadores mediante estadísticas de n-gramas". arXiv : 2407.12034 [cs.CL].
^ ab "Circuitos transformadores". transformer-circuits.pub .
^ ab Red neuronal de transformador derivada desde cero. 2023. El evento ocurre a las 05:30 . Consultado el 7 de abril de 2024 .
^ ab Charton, François (2023). "Aprendiendo el máximo común divisor: explicando las predicciones de los transformadores". arXiv : 2308.15594 [cs.LG].
^ abc Luong, Minh-Thang (20 de septiembre de 2015). "Enfoques efectivos para la traducción automática neuronal basada en la atención". arXiv : 1508.04025v5 [cs.CL].
^ "Aprendizaje de la atención posicional para la recomendación secuencial". catalyzex.com .
^ Zhu, Xizhou; Cheng, Dazhi; Zhang, Zheng; Lin, Stephen; Dai, Jifeng (2019). "Un estudio empírico de los mecanismos de atención espacial en redes profundas". Conferencia internacional IEEE/CVF sobre visión artificial (ICCV) de 2019. págs. 6687–6696. arXiv : 1904.05873 . doi :10.1109/ICCV.2019.00679. ISBN978-1-7281-4803-8. Número de identificación del sujeto 118673006.
^ Hu, Jie; Shen, Li; Sun, Gang (2018). "Redes de compresión y excitación". Conferencia IEEE/CVF de 2018 sobre visión artificial y reconocimiento de patrones . págs. 7132–7141. arXiv : 1709.01507 . doi :10.1109/CVPR.2018.00745. ISBN .978-1-5386-6420-9. Número de identificación del sujeto 206597034.
^ Woo, Sanghyun; Parque, Jongchan; Lee, Joon-Young; Kweon, en eso (18 de julio de 2018). "CBAM: Módulo de atención de bloques convolucionales". arXiv : 1807.06521 [cs.CV].
^ Georgescu, Mariana-Iuliana; Ionescu, Radu Tudor; Miron, Andreea-Iuliana; Savencu, Olivian; Ristea, Nicolae-Catalin; Verga, Nicolae; Khan, Fahad Shahbaz (12 de octubre de 2022). "Atención convolucional multimodal de múltiples cabezales con varios tamaños de kernel para superresolución de imágenes médicas". arXiv : 2204.04218 [eess.IV].
^ Neil Rhodes (2021). CS 152 NN—27: Atención: claves, consultas y valores. El evento ocurre a las 06:30 . Consultado el 22 de diciembre de 2021 .
^ Alfredo Canziani y Yann Lecun (2021). Curso de aprendizaje profundo de la Universidad de Nueva York, primavera de 2020. El evento se lleva a cabo a las 05:30 . Consultado el 22 de diciembre de 2021 .
^ Alfredo Canziani y Yann Lecun (2021). Curso de aprendizaje profundo de la Universidad de Nueva York, primavera de 2020. El evento se produce a las 20:15 . Consultado el 22 de diciembre de 2021 .
^ Robertson, Sean. "PNL desde cero: traducción con una red de secuencia a secuencia y atención". pytorch.org . Consultado el 22 de diciembre de 2021 .
^ Lee, Juho; Lee, Yoonho; Kim, Jungtaek; Kosiorek, Adam R; Choi, Seungjin; Teh, Yee Whye (2018). "Transformador de conjuntos: un marco para redes neuronales invariantes de permutación basadas en la atención". arXiv : 1810.00825 [cs.LG].
Enlaces externos
Olah, Chris; Carter, Shan (8 de septiembre de 2016). "Atención y redes neuronales recurrentes aumentadas". Distill . 1 (9). Grupo de trabajo Distill. doi :10.23915/distill.00001.
Dan Jurafsky y James H. Martin (2022) Speech and Language Processing (borrador de la 3.ª edición, enero de 2022), cap. 10.4 Atención y cap. 9.7 Redes de autoatención: transformadores
Alex Graves (4 de mayo de 2020), Atención y memoria en el aprendizaje profundo (conferencia en video), DeepMind / UCL , vía YouTube