Todo lo que necesitas saber sobre Graph Attention Networks

Estás leyendo la publicación: Todo lo que necesitas saber sobre Graph Attention Networks

El procesamiento neuronal gráfico es uno de los temas candentes de investigación en el área de la ciencia de datos y el aprendizaje automático debido a sus capacidades de aprendizaje a través de datos gráficos y de proporcionar resultados más precisos. Varios investigadores han desarrollado varias redes neuronales gráficas de última generación. Una red de atención de grafos también es un tipo de red neuronal de grafos que se aplica un mecanismo de atención a sí misma. En este artículo, vamos a discutir la red de atención de grafos. Los puntos principales que se discutirán en el artículo se enumeran a continuación.

Tabla de contenidos

  1. ¿Qué es una red de atención de grafos?
    1. Red neuronal gráfica (GNN)
    2. capa de atención
    3. Combinación de GNN y capa de atención.
  2. El beneficio de agregar atención a GNN
  3. La arquitectura de la red de atención gráfica.
  4. Ventajas de la red de atención de grafos

Comencemos por entender una red de atención de grafos

¿Qué es una red de atención de grafos?

Como sugiere el nombre, la red de atención de gráficos es una combinación de una red neuronal de gráficos y una capa de atención. Para comprender las redes de atención de gráficos, primero debemos comprender qué es una capa de atención y las redes neuronales de gráficos. Por lo tanto, esta sección se puede dividir en dos subsecciones. Primero, veremos la comprensión básica de la red neuronal gráfica y la capa de atención, luego nos centraremos en la combinación de ambos. Echemos un vistazo a la red neuronal gráfica.

Red neuronal gráfica (GNN)

En uno de nuestros artículos, podemos ver una implementación de una red neuronal de grafos y también hemos discutido que las redes neuronales de grafos son las redes que son capaces de tratar y trabajar con información o datos estructurados en grafos. Hay varios beneficios de usar datos estructurados en gráficos en nuestros proyectos, como que este tipo de estructuras contienen la información en forma de vértices y nodos del gráfico y se vuelve muy fácil para las redes neuronales comprender y aprender puntos de datos presentes en el gráfico o estructura tridimensional. Tomando un ejemplo, los datos relacionados con un problema de clasificación pueden consistir en etiquetas en forma de nodos y la información en forma de vértices.

La mayoría de los problemas del mundo real tienen datos que son muy grandes y consisten en información estructural en sí mismos. El uso de una red neuronal gráfica puede proporcionar un modelo de rendimiento de última generación.

🔥 Recomendado:  Las 5 mejores herramientas de IA para marketing

capa de atención

En uno de nuestros artículos, hemos discutido que la capa de atención es una capa que nos permite diseñar una red neuronal que puede memorizar largas secuencias de información. En general, encontramos los usos de tales capas en los problemas de traducción automática neuronal. Una red neuronal estándar funciona codificando la información secuencial en forma de vectores de contexto comprimidos.

Si se incluye una capa de atención en la red, la red se verá obligada a funcionar creando un acceso directo entre la entrada y el vector de contexto. La capa de atención ayudará a cambiar los pesos de la conexión de acceso directo para cada salida. Dado que la conexión entre la entrada y el vector de contexto proporciona el vector de contexto para acceder a todos los valores de entrada, se resuelve el problema de la red neuronal estándar que olvida las secuencias largas.

En palabras simples, podemos decir que la implementación de la capa de atención en las redes neuronales ayuda a prestar atención a la información importante de los datos en lugar de centrarse en todos los datos. De esta manera podemos hacer que nuestra red neuronal sea más confiable y ceñirnos a la única información importante.

Aquí podemos ver que hasta ahora estábamos aplicando la capa de atención a la red neuronal pero el artículo se enfoca en aplicar la capa o mecanismo de atención a una red neuronal gráfica. Veamos qué significará aplicar atención a las redes neuronales gráficas.

Combinación de GNN y capa de atención.

En los puntos anteriores, hemos discutido que una red neuronal gráfica es una mejor manera de manejar datos que tienen información estructural larga y una capa de atención es un mecanismo que ayuda a extraer solo información útil de datos largos o grandes. Ambas cosas se pueden combinar, entonces podemos llamarlo una red de atención de gráfico.

Una red de atención de gráficos también se puede explicar como el aprovechamiento del mecanismo de atención en las redes neuronales de gráficos para que podamos abordar algunas de las deficiencias de las redes neuronales de gráficos. Tomemos un ejemplo de redes convolucionales de gráficos que generalmente se usan para resolver problemas relacionados con la información secuencial presente en los datos.

Estas redes de gráficos aplican capas apiladas en las que los nodos pueden consistir en características de los nodos vecinos. Prestar atención a estos nodos hace que toda la red especifique diferentes pesos para los diferentes nodos presentes solo en el vecino. Mediante este método, hacemos que la red sea capaz de trabajar solo con la información de los nodos que son útiles.

🔥 Recomendado:  iPadOS 16: todo lo que sabemos sobre la próxima actualización del iPad

Una de las cosas que más importa aquí es comprender el comportamiento y la importancia del nodo vecino en el resultado. Estos son los métodos que se pueden aplicar tanto a problemas inductivos como transductivos. También podemos decir que prestar atención a la red neuronal gráfica es la forma de avanzar o mejorarla. Veamos qué se mejora al aplicar el mecanismo de atención a la red neuronal gráfica.

¿Está buscando un repositorio completo de bibliotecas de Python utilizadas en ciencia de datos, echa un vistazo aquí.

Beneficio de agregar atención a GNN

Esta sección tomará un ejemplo de una red convolucional gráfica como nuestra GNN. A partir de ahora, sabemos que las redes neuronales de grafos son buenas para clasificar los nodos de los datos estructurados en grafos. En muchos de los problemas, una deficiencia que podemos encontrar es que las redes convolucionales de grafos están perjudicando la generalización de los datos estructurados en grafos debido a la agregación de información de la estructura de grafos. Aplicar una red de atención de grafos a esos problemas cambia la forma de agregación de la información. El GCN proporciona la suma de las características del nodo vecino de la siguiente manera:

hola(l+1) = (jN(i)(1/cij)w(l)hj(l))

Dónde,

N(i) = conjunto de los nodos conectados

cij = normalización en la estructura del gráfico

= función de activación

w(l)= matriz de pesos

En una suma similar, la atención puede proporcionar una operación de convolución estáticamente normalizada. La siguiente figura es una representación de la diferencia entre GCN estándar y GAT.

Por lo anterior, podemos decir que al prestar atención a la red, los nodos más importantes obtienen pesos más altos durante la agregación del vecindario.

La arquitectura de la red de atención gráfica.

En esta sección, veremos la arquitectura que podemos usar para construir una red de atención de grafos. en general, encontramos que tales redes mantienen las capas en la red de forma apilada. Podemos entender la arquitectura de la red entendiendo el trabajo de tres capas principales.

Capa de entrada: La capa de entrada se puede diseñar como tal, está compuesta por el uso de un conjunto de características de nodo y debe ser capaz de producir un nuevo conjunto de características de nodo como salida. Estas capas también pueden ser capaces de transformar las características del nodo de entrada en características lineales aprendibles.

Capa de atención: Después de transformar las características, se puede aplicar una capa de atención en la red donde el trabajo de la capa de atención se puede parametrizar mediante la salida de la capa de entrada utilizando una matriz de peso. Al aplicar esta matriz de peso a cada nodo, podemos aplicar la autoatención a los nodos. Mecánicamente, podemos implicar una red neuronal de avance de una sola capa como nuestra capa de atención que puede darnos un coeficiente de atención normalizado.

🔥 Recomendado:  ¿Por qué usar capas de desconvolución en el aprendizaje profundo?

Fuente de imagen

La imagen de arriba es una representación de la capa de atención aplicada al GCN.

Capa de salida: después de obtener el coeficiente de atención normalizado, podemos usarlos para calcular el conjunto de características correspondientes al coeficiente y servirlas como características finales de la red. Para estabilizar el proceso de atención, podemos usar la atención de múltiples cabezas para que se puedan aplicar varias atenciones independientes para realizar la transformación y concatenación de características de salida.

Fuente de imagen

La imagen de arriba es una representación de la atención multicabezal aplicada para estabilizar el proceso de autoatención que calcula la atención y concatena las características agregadas.

Ventajas de la red de atención de grafos

Hay varios beneficios de las redes de atención gráfica. Algunos de ellos son los siguientes:

  • Dado que estamos aplicando la atención en las estructuras gráficas, podemos decir que el mecanismo de atención puede funcionar de manera paralela, lo que hace que el cálculo de la red de atención gráfica sea altamente eficiente.
  • Aplicar atención a cualquier configuración hace que la capacidad y la precisión del modelo sean muy altas porque los modelos necesitan aprender solo datos importantes o podemos decir menos cantidad de datos.
  • Si el mecanismo de atención se aplica de manera compartida, la red de grafos se puede usar directamente con el aprendizaje inductivo.
  • El análisis de los pesos aprendidos después de prestarles atención puede hacer que el proceso de la red sea más interpretable.

Ultimas palabras

En el artículo, hemos discutido la red de atención de gráficos, que es una combinación de la red neuronal de gráficos y la capa de atención. Aplicar atención a la GNN puede proporcionar mejoras en los resultados y también tiene varios beneficios que se han discutido en este artículo.