Discusión sobre el artículo "Redes neuronales: así de sencillo (Parte 10): Multi-Head Attention (atención multi-cabeza)"

 

Artículo publicado Redes neuronales: así de sencillo (Parte 10): Multi-Head Attention (atención multi-cabeza):

Ya hemos hablado con anterioridad del mecanismo de auto-atención (self-attention) en las redes neuronales. En la práctica, en las arquitecturas de las redes neuronales modernas, se usan varios hilos de auto-atención paralelos para buscar diversas dependencias entre los elementos de la secuencia. Vamos a ver la implementación de este enfoque y evaluar su influencia en el rendimiento general de la red.

Recordemos un poco: en el algoritmo de Self-Attention se usan 3 matrices entrenadas de los coeficientes de peso (Wq, Wk y Wv). Estas matrices se usan para obtener 3 entidades Query (Solicitud), Key (clave) y Value (Valor). Las dos primeras entidades definen la relación por pares entre los elementos de la secuencia, mientras que la última supone el contexto del elemento analizado. 


No es un secreto que a veces las situaciones pueden resultar ambiguas. Seguramente, y con aún mayor frecuencia, la misma situación se puede interpretar desde varios puntos de vista. Y desde el punto de vista elegido, las conclusiones pueden resultar absolutamente opuestas. En situaciones así, debemos considerar todas las opciones posibles, y sacar las conclusiones pertinentes solo después de realizar un análisis cuidadoso. Precisamente para resolver tales tareas proponemos la atención multi-cabeza. Aquí, cada "cabeza" tiene su propia opinión, y la decisión se toma tras una votación equilibrada. 

En la arquitectura de Multi-Head Attention, se usan de forma paralela varios hilos de auto-atención con diversos coeficientes de peso que simulan un análisis versátil de la situación. Los resultados del funcionamiento de los hilos de auto-atención se concatenan en un solo tensor. Y el resultado final del algoritmo se determina multiplicando el tensor por la matriz W0, cuyos parámetros se seleccionan durante el entrenamiento de la red neuronal. Toda esta arquitectura sustituye al bloque de Self-Attention en el codificador y el decodificador de la arquitectura del Transformer.

Autor: Dmitriy Gizlyk