Tema

Atención

La atención calcula una media ponderada de unos valores, donde el peso de cada valor sale de comparar una consulta con la clave asociada a ese valor.

Nombre en inglés

Attention

Intuición

En lugar de comprimir toda la secuencia en un estado de tamaño fijo, cada posición pregunta al resto qué le interesa y recibe un resumen hecho a medida. La comparación entre consulta y clave produce una puntuación, el softmax la convierte en un reparto que suma uno, y el resultado es la mezcla de los valores con ese reparto. La división entre la raíz de la dimensión evita que las puntuaciones crezcan con la dimensión y saturen el softmax en un reparto casi determinista.

Fórmula

\mathrm{Atencion}(Q, K, V) = \mathrm{softmax}\left(\frac{Q K^T}{\sqrt{d_k}}\right) V

Ejemplo resuelto

Sea la dimensión de clave igual a 4, de modo que su raíz vale 2. La consulta es (2, 0, 0, 0) y las tres claves son (2, 0, 0, 0), (1, 0, 0, 0) y (0, 1, 0, 0). Los productos valen 4, 2 y 0, que al dividir entre 2 quedan en 2, 1 y 0. El softmax los exponencia y obtiene 7.389, 2.718 y 1, cuya suma da 11.107, así que los pesos son 0.665, 0.245 y 0.090 y suman 1. Con valores (1, 0), (0, 1) y (0, 0), la salida es (0.665, 0.245). Sin la división por la raíz, las puntuaciones habrían sido 4, 2 y 0, el peso mayor habría subido a cerca de 0.867 y el gradiente del softmax se habría achatado.

Errores frecuentes

Ejercicio

Las puntuaciones ya escaladas de tres posiciones valen 1, 1 y 0. ¿Cuánto vale el peso de atención de la tercera?

Ver la solución

El softmax exponencia las tres puntuaciones y obtiene 2.718, 2.718 y 1, cuya suma da 6.437. El peso de la tercera es 1 dividido entre 6.437, cerca de 0.155. Las dos primeras reparten el resto por partes iguales, con cerca de 0.422 cada una.

Respuesta: cerca de 0.155

Temas relacionados

Cursos a los que prepara

Simulador

Este tema tiene un simulador interactivo en la guía.

Abrir el tema en la guía