¿Qué es el mecanismo de atención en redes neuronales?

Desde el punto de vista simplificado, el Mecanismo de Atención se puede ver como un método para hacer que el RNN funcione mejor al permitir que la red sepa dónde mirar mientras realiza su tarea. Veamos esto con tres ejemplos:

Tarea 1 : traducir una oración del inglés al francés. Como se ve en el diagrama, los puntos blancos muestran dónde está “prestando atención” la red al intentar traducir cada palabra. Específicamente, cuando surgió la palabra francesa “européenne”, la red estaba mirando la palabra inglesa “europeo”

En un RNN estándar sin atención, la red haría una predicción meramente basada en las palabras anteriores “L ‘accord sur la zone économique” y la palabra actual “Area”. Pero no queremos la palabra “Área” ya que esa palabra ya ha sido traducida. Entonces, la atención dice que tenemos una mayor probabilidad de éxito si miramos a otra parte.

Tarea 2: escribir un título de una imagen. Esta vez, el mecanismo de atención le dice a la red aproximadamente a qué píxeles prestar atención al escribir el texto.

Tarea 3: La atención también se puede utilizar para atender las celdas de memoria, como las que se encuentran en las máquinas de Neural Turing, redes de memoria o redes de puntero. Esta vez, la atención le dice al controlador qué memoria podría ser más útil en ese momento para responder la consulta. Todos vuelven a la misma idea de decirle a la red dónde buscar para aumentar la probabilidad de encontrar la respuesta correcta.

En última instancia, el mecanismo de atención realiza un softmax en cada paso de tiempo del RNN, de modo que el RNN puede tomar la mejor decisión que necesita en ese momento. Si intentaba copiar un número de teléfono de un sitio web en su teléfono, podría prestar atención al código de área, luego a los siguientes tres números y finalmente a los últimos cuatro dígitos. ¡La atención en las redes neuronales funciona de una manera sorprendentemente similar!

Fuente útil: Atención y redes neuronales recurrentes aumentadas

“Atención” está muy cerca de su significado literal. Indica dónde mirar exactamente cuando la red neuronal está tratando de predecir partes de una secuencia (una secuencia en el tiempo como texto o una secuencia en el espacio como una imagen).

Los siguientes son lugares donde he visto que se usa la atención.

  1. Cuando desea clasificar (un conjunto de datos de imágenes relativamente más pequeño) y desea centrarse en los componentes importantes de una imagen (porque no tiene suficientes imágenes para generalizar debido al pequeño corpus). Una de las formas de hacer esto es usar activaciones de mapas de características intermedias de un convento previamente entrenado en un conjunto de datos (ligeramente diferente y más grande) que se usa como entrada (atención) para ayudar a la Red Neural a aprender. Mejora del rendimiento de las redes neuronales convolucionales a través de la transferencia de atención. A veces, también se utilizan métodos de prominencia. Una pérdida de segmentación auxiliar también puede resolver el mismo propósito.
  2. Intentando detectar dónde están presentes múltiples objetos en una imagen, dónde el conjunto de datos es tal que sabemos qué objetos están presentes en la imagen y dónde. [1412.7755] Reconocimiento de objetos múltiples con atención visual. El enfoque se trata como un Aprendizaje de políticas y la clasificación se realiza más tarde. Esto también se llama atención dura.
  3. La atención suave más famosa se utiliza en RNN y sus derivados. Suponga que tiene N (d dimensiones) vectores que se han dado como entradas a una red de memoria o que han sido emitidos como salidas anteriores por el mismo RNN. Habrá una entrada adicional de Nd (digamos H) aparte de la entrada a un paso de RNN (digamos q). El paso de RNN toma la entrada q (por supuesto) y la atención de entrada (digamos R que es igual a H’.softmax (Hq)). Ahora entrena la red neuronal con estas dos entradas. Esto se introdujo en https://arxiv.org/pdf/1409.0473.pdf para la traducción automática y se ha utilizado para múltiples tareas como subtítulos de imágenes, etc. desde entonces.
  4. La tecnología correspondiente a 3 para imágenes es Transformadores espaciales, que ayudan a enfocarse en partes importantes de las imágenes durante la clasificación. [1506.02025] Redes de transformadores espaciales

Algunas respuestas detalladas ya se han dado. Trataré de responder un poco más simple. Una red neuronal recurrente o su variante (LSTM / GRU / ..) son medios para aprender de la secuencia utilizando la propagación inversa a través del tiempo. En este caso, generalmente la secuencia se alimenta a la red una vez. Hay diferentes elementos de la red que controlan la cantidad de información que se transporta a través de secuencias largas.

Imagina que te dieron un largo párrafo de texto. Después de leerlo, se le harán algunas preguntas basadas en hechos. Una vez que vea la pregunta, se dará cuenta de que no recuerda el hecho en cuestión. ¿Qué haces? Vuelves y vuelves a leer esta vez prestando ATENCIÓN a lo que la pregunta exige. En poco tiempo ves la respuesta. El mecanismo de atención en la red neuronal funciona de manera similar. Los datos de entrada (texto / imagen) se envían a la red (que puede ser un LSTM / GRU [bidireccional]). En una unidad de procesamiento de preguntas también se alimenta una representación de la pregunta. Ahora, junto con el vector de preguntas, la otra unidad vuelve a iterar sobre los datos de entrada (secuencia de texto / imagen) tratando de aprender una importancia coeficiente para los fragmentos de estos datos. En la mayoría de los términos simples, el bucle sobre los datos de entrada por segunda vez en adelante tratando de aprender esta importancia co-eficiente es ‘mecanismo de atención (puedes ver por qué desde la analogía del párrafo largo)’

Hay suficientes referencias en otras respuestas. Mi fuente no es nada nuevo.

¿Cuál es exactamente el mecanismo de atención introducido en RNN (red neuronal recurrente)? ¡Sería bueno que pudieras hacerlo fácil de entender!

Por favor revisa esta respuesta 🙂