Estructura básica de la red neuronal gráfica

Estructura básica de la red neuronal gráfica

Graph Neural Network (GNN) es una clase de modelos de aprendizaje profundo para procesar datos gráficos. Puede aprender los nodos y los bordes del gráfico, y es adecuado para diversas tareas de estructura de gráficos, como la clasificación de nodos, la predicción de enlaces, el descubrimiento de comunidades, etc. La estructura básica de una red neuronal gráfica generalmente consta de las siguientes dos partes:

  1. Incrustación de nodos : asigne cada nodo en el gráfico a una representación vectorial de baja dimensión, generalmente utilizando alguna transformación lineal, función de activación no lineal y técnicas de normalización. El propósito de la incrustación de nodos es capturar las características y la información estructural local de los nodos.

  2. Convolución de gráficos : utilice la información de la estructura del gráfico y la incrustación de nodos para actualizar las características de los nodos y, por lo tanto, realizar el aprendizaje de representación para todo el gráfico. Las operaciones de convolución de gráficos generalmente se pueden ver como una operación de agregación basada en características de vecindario local, teniendo en cuenta las características de nodo y la información de topología local. El objetivo principal de la convolución de gráficos es lograr el aprendizaje de representación para estructuras de gráficos mediante la actualización iterativa de incrustaciones de nodos.

Además de estas dos partes, las redes neuronales gráficas también pueden incluir otros módulos, como mecanismos de atención, capas de agrupación y clasificadores, para manejar mejor las características y la complejidad de los datos gráficos.

Cabe señalar que los diferentes tipos de redes neuronales gráficas pueden tener diferentes diseños de incrustación de nodos y convolución de gráficos, por ejemplo, GCN usa la matriz de Laplacian y la transformada de Fourier para la convolución de gráficos, mientras que GAT usa el mecanismo de atención para la fusión de información entre diferentes nodos.

Transformada de Fourier de Atlas y Gráfico

El espectro son los valores propios de la matriz laplaciana del gráfico. Específicamente, dado un grafo G=(V,E), donde V y E representan el conjunto de nodos y el conjunto de aristas del grafo G respectivamente, suponiendo que n representa el número de nodos, la matriz de adyacencia A del grafo G es una matriz nxn, si el nodo Si hay un borde que conecta i y j, entonces A ij =1, de lo contrario A ij =0. La matriz de grados del gráfico G es D=diag(d1, d2,...,dn), donde di representa el grado del i-ésimo nodo en el gráfico. Defina la matriz laplaciana L = D - A del gráfico y realice la descomposición de valores propios en ella:
inserte la descripción de la imagen aquí
entre ellos, inserte la descripción de la imagen aquíse organiza en orden de valores propios de menor a mayor, y inserte la descripción de la imagen aquíes una matriz ortogonal compuesta de vectores propios correspondientes. El conjunto de valores propios de arriba inserte la descripción de la imagen aquíes el espectro del gráfico G.

Graph Fourier Transform (Transformada gráfica de Fourier) es una técnica basada en el procesamiento de señales gráficas, similar a la transformada tradicional de Fourier, pero adecuada para procesar datos gráficos.

En la transformada de Fourier tradicional, una señal continua o discreta se transforma en el dominio de la frecuencia a través de la transformada de Fourier.Este dominio de la frecuencia muestra las características de frecuencia de la señal y generalmente se usa para filtrar, eliminar el ruido, comprimir y otras operaciones en la señal. . En la transformada gráfica de Fourier, de manera similar, convertimos una señal gráfica (señal gráfica) en el dominio de frecuencia gráfica a través de la transformada de Fourier para el análisis de la estructura gráfica, el filtrado y otras operaciones.

Hay una diferencia significativa entre el método de cálculo de la transformada de Fourier del gráfico y la transformada de Fourier tradicional. Primero debe convertir el gráfico en una matriz laplaciana y luego usar los vectores propios y los valores propios correspondientes a la matriz laplaciana. una transformada de Fourier. Específicamente, suponiendo que existe un grafo G con n nodos, la matriz de adyacencia es A, y la matriz de grados es D, la Matriz Laplaciana se puede calcular de la siguiente manera: L = D - A.

Denotemos la matriz compuesta de vectores propios de L como U, y el vector compuesto de valores propios como λ, entonces se puede obtener la transformada de Fourier del gráfico:

f̂ = U^T * f, donde f es la señal gráfica original y f̂ es su representación en el dominio de la frecuencia en la transformada gráfica de Fourier.

La transformada gráfica de Fourier se puede utilizar en muchas aplicaciones, como la recuperación de señales, la compresión de gráficos, el análisis de imágenes, etc., especialmente para el procesamiento de estructuras de gráficos regulares e irregulares.

Comparación de GNN basada en el dominio espectral y GNN basada en el dominio espacial

GNN basado en el dominio espectral y GNN basado en el dominio espacial son actualmente dos modelos GNN principales. Los dos tienen diferentes características y escenarios aplicables, a continuación se hace una breve comparación:

  1. principio

El GNN basado en el dominio espectral se basa en la transformada gráfica de Fourier para transformar la señal del gráfico (características del nodo) en el dominio de la frecuencia para su procesamiento, y la propagación de las características del nodo se lleva a cabo esencialmente en el dominio de la frecuencia. El GNN basado en el dominio espacial actualiza la representación de características del nodo actual agregando las características de los nodos vecinos alrededor de cada nodo.

  1. Ventajas y desventajas

El GNN basado en el dominio espectral tiene una fuerte capacidad expresiva y estabilidad, porque la transformada de Fourier del gráfico puede proporcionar información estructural global y puede capturar las características esenciales del gráfico. Al mismo tiempo, el efecto es mejor en algunos mapas con mucha suavidad. Sin embargo, la GNN basada en el dominio espectral tiene problemas de gran cantidad de cálculo y alta complejidad computacional.

El GNN basado en el dominio espacial es computacionalmente eficiente y fácil de implementar, y funciona bien para grafos con características locales obvias (como redes sociales, redes semánticas, etc.). Pero las GNN basadas en el dominio espacial son difíciles de manejar con información estructural global y características de borde de gráficos complejos.

  1. escena aplicable

La GNN basada en el dominio espectral es adecuada para procesar gráficos regularizados o más suaves, como gráficos moleculares (estructura de gráficos moleculares), gráficos de imágenes (estructura de gráficos de tareas visuales), etc. El GNN basado en el dominio espacial es adecuado para el procesamiento de gráficos irregulares y complejos, como Social Graphs (red social), Textual Graphs (estructura de gráficos de tareas de texto), etc.

En general, si elegir una GNN basada en el dominio espectral o una GNN basada en el dominio espacial debe seleccionarse y evaluarse de acuerdo con las características de los escenarios y tareas de aplicación específicos.

Requisitos de la tarea y requisitos del modelo para redes neuronales gráficas

requisitos de la misión

  1. Clasificación de nodos: dado un gráfico y etiquetas para algunos nodos, prediga las etiquetas para los nodos restantes.

  2. Predicción de enlace: dado un gráfico, prediga si hay un borde entre dos nodos.

  3. Descubrimiento de comunidades: dado un gráfico, divida los nodos en varias comunidades.

  4. Extracción de características gráficas: extraiga representaciones de características de alto nivel a partir de datos de imágenes sin procesar para su posterior clasificación y reconocimiento.

requisitos del modelo

  1. Invariancia espacial: los GNN deben ser imparciales sobre la disposición de los nodos en el gráfico, es decir, la invariancia espacial.

  2. Localidad: Para cada nodo, GNN solo debe considerar la información de sus nodos vecinos, no la información de todo el grafo, es decir, la localidad.

  3. Reproducibilidad: los GNN deberían poder entrenar el modelo varias veces en el mismo gráfico y obtener los mismos resultados.

  4. Escalabilidad: los GNN deben poder manejar datos de gráficos a gran escala y evitar que el modelo se ajuste en exceso o de forma insuficiente.

  5. Robustez: los GNN deben poder manejar casos de datos perdidos o ruidosos y mantener un rendimiento estable.

Para cumplir con los requisitos anteriores, los modelos GNN suelen tener las siguientes características:

  1. Sobre la base de la operación de convolución de la matriz de adyacencia, se realizan operaciones de convolución, agrupación y conexión completa en cada nodo.

  2. El método de actualización de la representación de nodos generalmente se basa en las características del propio nodo y las características de sus nodos vecinos, que se utiliza para representar la información de contexto del nodo en todo el gráfico.

  3. GNN generalmente se entrena utilizando el algoritmo de descenso de gradiente, combinado con regularización, abandono y otras técnicas para evitar el sobreajuste del modelo.

  4. Para datos de gráficos a gran escala, GNN suele utilizar métodos como el muestreo y la agregación para reducir la cantidad de cómputo y almacenamiento.

  5. GNN generalmente adopta un modelo de múltiples capas y actualiza iterativamente las representaciones de los nodos para lograr un mejor rendimiento.

Un marco práctico para redes neuronales gráficas

Actualmente hay una variedad de marcos prácticos disponibles para redes neuronales gráficas.Los siguientes son algunos de los marcos prácticos más populares:

  1. PyTorch Geometric ( https://pytorch-geometric.readthedocs.io/en/latest/ )
    es una biblioteca informática creada con PyTorch para procesar datos estructurados en gráficos, que admite una gran cantidad de algoritmos de gráficos tradicionales y Graph Neural Network (GNN) algoritmos El marco es adecuado para el procesamiento de datos estructurados por gráficos de gran dimensión y gran escala.

  2. Deep Graph Library ( https://www.dgl.ai/ )
    es una biblioteca de aprendizaje profundo para procesar datos estructurados en gráficos, que admite una variedad de modelos de aprendizaje profundo, como redes convolucionales de gráficos, redes de atención de gráficos, etc. El marco es adecuado para procesar datos estructurados por gráficos distribuidos a gran escala.

  3. GraphConv ( https://github.com/mdeff/cnn_graph )
    es un marco GNN implementado con TensorFlow, especialmente adecuado para procesar información de estructura gráfica de datos espaciales bidimensionales. El núcleo del marco es utilizar una red convolucional de gráficos para realizar operaciones de convolución en los nodos del gráfico para extraer información de características.

  4. Deep Graph Nets ( https://github.com/dsgiitr/dgmc )
    es un marco de red neuronal de gráficos dinámicos (Dynamic Graph Neural Networks, DGN) implementado con TensorFlow, que puede editar y actualizar dinámicamente diferentes gráficos para adaptarse a una escena más compleja.

Los marcos prácticos anteriores proporcionan un modelo de algoritmo de red neuronal gráfico completo y los métodos de implementación correspondientes, que se pueden seleccionar de acuerdo con las necesidades específicas cuando se usan.

GCN

Para un gráfico de entrada, tiene N nodos, las características de cada nodo forman una matriz de características X, y la relación entre los nodos forma una matriz de adyacencia A, y X y A son las entradas del modelo.

GCN es una capa de red neuronal con las siguientes reglas de propagación capa por capa:
inserte la descripción de la imagen aquí

en,

  • ˜A = A + I, donde A es la matriz de conexión del grafo de entrada e I es la matriz identidad.
  • ˜D es la matriz de grados de ˜A, ˜D ii = ∑ j ˜A ij
  • H es la característica de cada capa, para la capa de entrada H = X
  • σ es la función de activación no lineal
  • W es la matriz de peso entrenable para una capa específica

Después de la propagación capa por capa de GCN multicapa, la matriz de características del gráfico de entrada cambia de X a Z, pero la matriz de adyacencia A siempre se comparte, como se muestra en la siguiente figura: Puede usar pyg (torch_geometric)
inserte la descripción de la imagen aquípara construir un GCN red:

import torch
import torch.nn as nn
from torch_geometric.nn import GCNConv
import torch.nn.functional as F


class GCN(torch.nn.Module):
    def __init__(self, in_channels, hidden_channels, out_channels):
        super().__init__()

        self.conv1 = GCNConv(in_channels, hidden_channels)
        self.conv2 = GCNConv(hidden_channels, out_channels)

    def forward(self, x, edge_index):
        x = self.conv1(x, edge_index)
        x = x.relu()
        x = F.dropout(x, p=0.5, training=self.training)
        x = self.conv2(x, edge_index)
        return x

inserte la descripción de la imagen aquí

Varias preguntas de entrevista para redes neuronales gráficas

El siguiente es un breve análisis de algunas preguntas comunes de las entrevistas sobre las redes neuronales gráficas mencionadas anteriormente:

  1. Presente brevemente qué es una red neuronal gráfica y cuáles son sus escenarios de aplicación.

La red neuronal gráfica es un modelo de aprendizaje profundo para datos de gráficos. Se utiliza principalmente en la clasificación de nodos, la clasificación de gráficos, la predicción de enlaces, el sistema de recomendación y otros campos. También se ha aplicado a investigaciones relacionadas en química, física, redes sociales y otros campos. recientemente.

  1. ¿Cuál es la diferencia entre una red neuronal convolucional gráfica y una red neuronal convolucional normal?

Las redes neuronales convolucionales ordinarias (CNN) se utilizan principalmente para procesar datos en el espacio euclidiano. La red neuronal convolucional de gráficos (GCN) se utiliza principalmente para procesar datos en gráficos irregulares, y su núcleo es realizar operaciones de convolución en la matriz de adyacencia en el gráfico.

  1. ¿Qué son la matriz de adyacencia y la matriz de características?

La matriz de adyacencia describe la relación de conexión entre cada nodo del gráfico, es una matriz bidimensional de n×n, donde n representa el número de nodos, para los nodos i y j, si están conectados, la matriz de adyacencia Aij= 1, de lo contrario Aij=0. La matriz característica describe la información característica del nodo, que es una matriz bidimensional de n×d, donde d representa la dimensión de la característica del nodo, y cada fila representa el vector característico de un nodo.

  1. Presente brevemente el mecanismo de paso de mensajes en la red neuronal convolucional de gráficos.

En una red neuronal convolucional gráfica, cada nodo recibe información de sus vecinos, agrega la información y finalmente actualiza su propia representación de características. Específicamente, cada nodo i recibirá la representación de características (matriz de características V) y su matriz de adyacencia Aij que le pasa su nodo vecino j. Después de agregar esta información, el nodo i obtendrá su representación de características actualizada.

  1. ¿Qué es una red de atención gráfica (GAT)? ¿Cuál es la diferencia con el GCN tradicional?

Graph Attention Network (GAT) es un modelo de red neuronal gráfica basado en un mecanismo de autoatención, que puede actualizar la representación de características del nodo actual fusionando de forma adaptativa la información de los nodos circundantes. En comparación con el GCN tradicional, la característica más importante de GAT es que la importancia de los nodos adyacentes ya no es fija, sino que se puede aprender de forma adaptativa según la situación específica.

  1. Describa brevemente el proceso de cálculo de GraphSAGE.

GraphSAGE es un enfoque de red neuronal gráfica basado en la vectorización de los vecinos de los nodos en gráficos heterogéneos. Específicamente, utiliza un método similar a la agrupación de agregación, empalmando todos los vectores de nodos en el subgrafo donde se encuentra el nodo actual y luego convirtiéndolos a través de un modelo de red neuronal (generalmente un perceptrón multicapa), y el resultado transformado se usa como la nueva representación característica del nodo actual.

  1. ¿Qué es el codificador automático de gráficos (GAE)? ¿Cuáles son los escenarios de aplicación?

Graph Auto-Encoder (GAE) es un método para el aprendizaje no supervisado de representaciones gráficas. Su idea principal es lograr una representación incrustada de características semisupervisadas y de baja dimensión mediante el entrenamiento de un códec. Los escenarios de aplicación incluyen redes sociales, predicción de estructura de proteínas y otros campos.

  1. Describa brevemente la operación de agrupación de gráficos en la red neuronal de gráficos.

La operación de agrupación de gráficos en la red neuronal de gráficos se utiliza principalmente para reducir el número de nodos en el gráfico. Específicamente, agrega varios nodos en el subgráfico actual en un nuevo nodo y luego continúa con la siguiente ronda de extracción de características.

  1. ¿Qué es ChebNet? ¿Cuál es la diferencia con el GCN tradicional?

ChebNet es un modelo de red neuronal convolucional de gráficos basado en polinomios de Chebyshev. Su principal ventaja es que puede considerar la información del vecindario local y la información global al mismo tiempo, y tiene un mejor rendimiento de generalización. La principal diferencia con el GCN tradicional es que utiliza polinomios de Chebyshev para aproximar el Laplaciano de la matriz de adyacencia y luego convierte operaciones de convolución complejas en multiplicación de matrices, lo que reduce la complejidad computacional.

  1. ¿Qué es el aprendizaje de la representación gráfica? Por favor, da un ejemplo.

El aprendizaje de la representación gráfica se refiere a la transformación de estructuras gráficas complejas en representaciones vectoriales de baja dimensión. Por ejemplo, para un nodo de usuario en un gráfico de red social, los nodos adyacentes del nodo se pueden agregar y el resultado agregado se puede usar como una nueva representación de características del nodo actual. Para otro ejemplo, para la estructura atómica en biomoléculas, se puede representar mediante una red neuronal convolucional de gráfico básico acoplada de conversión capa por capa.

Supongo que te gusta

Origin blog.csdn.net/weixin_43598687/article/details/131234059
Recomendado
Clasificación