Última actualización el 15 de septiembre de 2021
La atención se está volviendo cada vez más popular en el aprendizaje automático, pero ¿qué lo hace un concepto tan atractivo? ¿Cuál es la relación entre la atención aplicada en redes neuronales artificiales y su contraparte biológica? ¿Cuáles son los componentes que uno esperaría para formar un sistema basado en la atención en el aprendizaje automático?
En este tutorial, descubrirá una descripción general de la atención y su aplicación en el aprendizaje automático.
Después de completar este tutorial, sabrá:
- Una breve descripción de cómo la atención puede manifestarse en el cerebro humano.
- Los componentes que componen un sistema basado en la atención y cómo se inspiran en la atención biológica.
Empecemos.
Descripción general del tutorial
Este tutorial se divide en dos partes; son:
-
- Atención
- Atención en el aprendizaje automático
Atención
La atención es un concepto ampliamente investigado que a menudo se ha estudiado junto con la excitación, el estado de alerta y el compromiso con el entorno.
En su forma más genérica, la atención podría describirse simplemente como un nivel general de alerta o capacidad para interactuar con el entorno.
– Atención en Psicología, Neurociencia y Aprendizaje Automático, 2020.
Visual la atención es una de las áreas que más se estudia tanto desde la perspectiva neurocientífica como desde la psicológica.
Cuando a un sujeto se le presentan diferentes imágenes, los movimientos oculares que realiza el sujeto pueden revelar la saliente partes de la imagen que atraen principalmente la atención del sujeto. En su revisión de los modelos computacionales para la atención visual, Itti y Koch (2001) mencionan que tales partes sobresalientes de la imagen a menudo se caracterizan por atributos visuales que incluyen contraste de intensidad, bordes orientados, esquinas y uniones, y movimiento. El cerebro humano presta atención a estas características visuales destacadas en diferentes etapas neuronales.
Las neuronas en las primeras etapas están sintonizadas con atributos visuales simples como el contraste de intensidad, la oposición de color, la orientación, la dirección y la velocidad del movimiento o la disparidad estéreo en varias escalas espaciales. La sintonización neuronal se vuelve cada vez más especializada con la progresión de las áreas visuales de bajo nivel a las de alto nivel, de modo que las áreas visuales de nivel superior incluyen neuronas que responden solo a esquinas o uniones, señales de forma a partir de sombras o vistas de un mundo real específico. objetos.
– Modelado computacional de la atención visual, 2001.
Curiosamente, la investigación también ha observado que diferentes sujetos tienden a sentirse atraídos por las mismas señales visuales sobresalientes.
La investigación también ha descubierto varias formas de interacción entre la memoria y la atención. Dado que el cerebro humano tiene una capacidad de memoria limitada, seleccionar qué información almacenar se vuelve crucial para hacer el mejor uso de los recursos limitados. El cerebro humano lo hace confiando en la atención, de modo que almacena dinámicamente en la memoria la información a la que el sujeto humano está prestando mayor atención.
Atención en el aprendizaje automático
La implementación del mecanismo de atención en redes neuronales artificiales no necesariamente rastrea los mecanismos biológicos y psicológicos del cerebro humano. Más bien, es la capacidad de resaltar y utilizar dinámicamente el saliente partes de la información disponible, de manera similar a como lo hace en el cerebro humano, lo que hace que la atención sea un concepto tan atractivo en el aprendizaje automático.
Se cree que un sistema basado en la atención consta de tres componentes:
- Un proceso que «lee» datos sin procesar (como palabras fuente en una oración fuente) y las convierte en representaciones distribuidas, con un vector de características asociado con cada posición de palabra.
- Una lista de vectores de características que almacenan la salida del lector. Esto puede entenderse como un “recuerdo” que contiene una secuencia de hechos, que luego se pueden recuperar, no necesariamente en el mismo orden, sin tener que visitarlos todos.
- Un proceso que “explota” el contenido de la memoria para realizar secuencialmente una tarea, teniendo en cada paso de tiempo la capacidad de poner atención en el contenido de un elemento de la memoria (o unos pocos, con un peso diferente).
– Página 491, Deep Learning, 2017.
Tomemos el marco codificador-decodificador como ejemplo, ya que fue dentro de dicho marco donde se introdujo por primera vez el mecanismo de atención.
Si estamos procesando una secuencia de entrada de palabras, esto primero se enviará a un codificador, que generará un vector para cada elemento de la secuencia. Esto corresponde al primer componente de nuestro sistema basado en la atención, como se explicó anteriormente.
El mecanismo de atención explotará una lista de estos vectores (el segundo componente del sistema basado en la atención anterior), junto con los estados ocultos anteriores del decodificador, para resaltar dinámicamente cuál de la información de entrada se utilizará para generar la salida.
En cada paso de tiempo, el mecanismo de atención, entonces, toma el estado oculto previo del decodificador y la lista de vectores codificados, y los usa para generar puntaje valores que indican qué tan bien los elementos de la secuencia de entrada se alinean con la salida actual. Dado que los valores de puntuación generados deben tener un sentido relativo en términos de su importancia, se normalizan pasándolos a través de una función softmax para generar la pesos. Después de la normalización de softmax, todos los valores de peso estarán en el intervalo [0, 1] y sumarán 1, lo que significa que pueden interpretarse como probabilidades. Finalmente, los vectores codificados son escalados por los pesos calculados para generar un vector de contexto. Este proceso de atención forma el tercer componente del sistema basado en la atención anterior. Es este vector de contexto el que se alimenta al decodificador para generar una salida traducida.
Este tipo de atención artificial es, por tanto, una forma de reponderación iterativa. Específicamente, resalta dinámicamente diferentes componentes de una entrada preprocesada, ya que son necesarios para la generación de salida. Esto lo hace flexible y dependiente del contexto, como la atención biológica.
– Atención en Psicología, Neurociencia y Aprendizaje Automático, 2020.
El proceso que implementa un sistema que incorpora un mecanismo de atención contrasta con otro que no lo tiene. En este último, el codificador generaría un vector de longitud fija independientemente de la longitud o complejidad de la entrada. En ausencia de un mecanismo que resalte la información destacada en la totalidad de la entrada, el decodificador solo tendría acceso a la información limitada que estaría codificada dentro del vector de longitud fija. Esto podría dar como resultado que el decodificador pierda información importante.
El mecanismo de atención se propuso inicialmente para procesar secuencias de palabras en traducción automática, que tienen un aspecto temporal implícito en ellas. Sin embargo, se puede generalizar para procesar información que puede ser estática y no necesariamente relacionada de manera secuencial, como en el contexto del procesamiento de imágenes. Veremos cómo se puede lograr esta generalización en un tutorial aparte.
Otras lecturas
Esta sección proporciona más recursos sobre el tema si desea profundizar.
Libros
Documentos
Resumen
En este tutorial, descubrió una descripción general de la atención y su aplicación en el aprendizaje automático.
Específicamente, aprendiste:
- Una breve descripción de cómo la atención puede manifestarse en el cerebro humano.
- Los componentes que componen un sistema basado en la atención y cómo se inspiran en la atención biológica.
¿Tiene usted alguna pregunta?
Haga sus preguntas en los comentarios a continuación y haré todo lo posible para responder.