El resultado de la Consulta <-> Clave se acerca a una coincidencia/no coincidencia binaria entre un token y otro y luego el valor es una forma de devolver alguna información útil del token coincidente.
La explicación de Jay Alammar en El transformador ilustrado es uno de los mejores en mi opinión, especialmente el paso 1-6 del capítulo La autoatención en detalle : http://jalammar.github.io/illustrated-transformer/
La mayoría de la documentación tiende a adentrarse rápidamente en perspectivas abstractas y fórmulas en papel, pero si eres como yo, necesitas al menos un ejemplo sencillo, sin fórmulas, para entender lo básico, y a partir de ahí la documentación tiene más sentido. Hace un tiempo creé un simple documento ilustrativo en Excel con fórmulas (no descriptivas, sino prácticas) simulando la parte del codificador de una capa de codificación. No funciona exactamente como se sugiere en " La atención es todo lo que necesitas "pero algo similar. Es extremadamente pequeño y prácticamente inútil (es Excel después de todo): longitud de la secuencia: 9, sólo 3 dimensiones för Q,K,V, la codificación posicional es de 2 dims, 4 cabezas de atención. El vocabulario es sólo las 9 palabras/tokens del ejemplo y todos los pesos que se supone que se entrenan en el modelo son sólo números aleatorios generados sobre la marcha. El documento carece de cualquier funcionalidad de entrenamiento. Ah, y no utiliza softmax, así que supongo que el resultado Consulta <-> Clave está lejos de ser binario. Tampoco usé el producto punto ya que 3 de las 4 cabezas de atención sólo consultan una sola dimensión.
De todos modos, los ejemplos reales (hasta el último detalle) pueden funcionar a veces como un "rompehielos" para la comprensión.
Documento Excel: https://artificial.se/AttentionDemo.xlsx
Captura de pantalla:
(Si alguien mejora el documento de Excel, lo termina con el decodificador o la función de entrenamiento -supongo que eso requerirá habilitarlo con macros- o cualquier otra cosa, entonces por favor comparta su versión con el resto de nosotros que necesitamos ejemplos prácticos y fáciles de usar para jugar).