[Red convolucional de grafos] 03-Introducción a la convolución espacial (1)

Nota: este artículo son notas de video de convolución del espacio aéreo 3.1-3.2 , solo para uso de estudio personal


1. Convolución del gráfico de dominio espectral

1.1 Revisión

El último blog [Graph Convolutional Neural Network] 02-Introduction to Spectral Domain Graph Convolution habló sobre tres convoluciones de gráficos de dominio espectral clásicas:

  • SCNNReemplace el kernel de convolución de dominio espectral con una matriz diagonal aprendible.
    inserte la descripción de la imagen aquí

  • ChebNetUso de polinomios de Chebyshev en lugar de núcleos de convolución en el dominio espectral
    inserte la descripción de la imagen aquí

  • GCNPuede considerarse como una simplificación adicional de ChebNet. Solo se consideran polinomios de Chebyshev de primer orden, y cada núcleo de convolución tiene un solo parámetro, las
    inserte la descripción de la imagen aquí
    características comunes a los tres son:Ambos se basan en el teorema de convolución y la transformada de Fourier de gráficos.


1.2 Defectos de la convolución del gráfico de dominio espectral

  1. La convolución de gráficos de dominio espectral no funciona con gráficos dirigidos
    • La aplicación de la transformada gráfica de Fourier se limita a gráficos no dirigidos.
    • El primer paso en la convolución del gráfico del dominio espectral es convertir la señal del dominio espacial al dominio espectral.Cuando no se puede usar la transformada de Fourier del gráfico, la convolución del gráfico del dominio espectral no puede continuar.
    • En un gran número de escenarios prácticos, W ij ≠ W ji .
  2. Las circunvoluciones de gráficos de dominio espectral asumen una estructura de gráfico fija
    inserte la descripción de la imagen aquí
    • Durante el entrenamiento del modelo, la estructura del gráfico no se puede cambiar (los pesos entre los nodos no se pueden cambiar, los nodos no se pueden agregar o eliminar).
    • En algunos escenarios, la estructura del gráfico puede cambiar (como datos de redes sociales, datos de tráfico).
  3. Problemas de complejidad del modelo
    • SCNN necesita realizar la descomposición espectral de la matriz laplaciana, lo que requiere mucho tiempo y la complejidad es .
    • ChebNet y GCN no requieren descomposición espectral. Pero sus parámetros de aprendizaje están demasiado simplificados. Si bien reduce la complejidad del modelo, también limita el rendimiento del modelo.

¿Podemos pasar por alto la teoría de grafos y redefinir la convolución en el gráfico? Este documento presenta cuatro modelos de convolución de gráficos espaciales, cada uno de los cuales puede considerarse como cuatro respuestas diferentes a las
preguntas anteriores.

  1. GNN
  2. GráficoSAGE
  3. REVÓLVER
  4. PGC
    inserte la descripción de la imagen aquí

2. Cuatro modelos de convolución espacial


2.1 GNN

2.1.1 Pregunta: ¿Qué es la convolución?

论文:GNN Hechtlinger Y, Chakravarti P, Qin J, et al. Una generalización de redes neuronales convolucionales a datos estructurados por grafos. [J]. arXiv: aprendizaje automático, 2017

Respuesta 1: == Convolución significa que después de ordenar un número fijo de nodos vecinos, se multiplica por el mismo número de parámetros del kernel de convolución y se suma ==. La convolución tradicional tiene un tamaño de vecindario fijo (por ejemplo, un kernel de convolución 3X3 es un vecindario de ocho) y tiene un orden fijo (generalmente desde la esquina superior izquierda hasta la esquina inferior derecha).
inserte la descripción de la imagen aquí

2.1.2 Idea central

La operación de convolución se puede dividir en dos pasos.

  1. Construir barrios.
    • Encuentre un número fijo de nodos vecinos.
    • Ordene los nodos vecinos encontrados.
  2. El producto interno de los puntos en la vecindad y los parámetros del kernel de convolución.

Para datos estructurados en grafos, existen algunas dificultades en la construcción de vecindarios:

  1. No existe una estructura fija de ocho barrios. El tamaño de la vecindad de cada nodo es variable.
  2. No hay orden para los nodos en el mismo vecindario.
    inserte la descripción de la imagen aquí

2.1.3 Soluciones

  1. Utilice el método == paseo aleatorio (random walk) == para seleccionar un número fijo de nodos vecinos de acuerdo con el tamaño esperado de la probabilidad de ser seleccionado.
  2. Luego, los vecindarios se ordenan de acuerdo con la probabilidad esperada de que se seleccione el nodo.

marca de símbolo

  1. es la matriz de transición de caminata aleatoria en el gráfico, donde P ij representa la probabilidad de transición del nodo i al nodo j.

  2. La matriz de similitud es S. La matriz de similitud en este artículo puede entenderse como la matriz de adyacencia W.

  3. D es la matriz de grados, inserte la descripción de la imagen aquí.

2.1.4 Pasos específicos

  • GNN asume la existencia de una matriz de transición de gráfico. Si se conoce la estructura del gráfico, entonces se conoce la suma. La matriz de transición de probabilidad de caminata aleatoria se define de la siguiente manera:PAG = D -1 S
  • ¡Utilice la matriz de adyacencia normalizada como matriz de transición!
  • La expectativa de transición de varios pasos se define como:inserte la descripción de la imagen aquíinserte la descripción de la imagen aquí
  • Seleccione la vecindad según el tamaño deseado, y Π i (k) representa el número de serie del nodo. Este nodo es el nodo con el césimo mayor número esperado de visitas del nodo i (dentro de k pasos). Luego están:inserte la descripción de la imagen aquí
  • Realizar convolución 1D (producto interno)
    inserte la descripción de la imagen aquí

2.1.5 Ejemplo de operación de convolución CNN

inserte la descripción de la imagen aquí
El significado del elemento P n ij de la matriz P n es: la probabilidad de dar n pasos del nodo i al nodo j. De hecho, la matriz de similitud S (matriz de adyacencia D) está normalizada para que cada fila sume 1, lo que puede representar probabilidad. Calcule la Q esperada, suponiendo un máximo de 3 pasos, es decir, k = 3. De acuerdo con Q, seleccione p nodos como la vecindad. Supongamos que p = 3. Realice la convolución 1D. Para el nodo No. 5, la operación de convolución es la siguiente: donde x c ​​​​5 es la señal en el nodo No. 5 de la capa c. Tenga en cuenta que el orden de x 5 , x 2 y x 1 no se puede cambiar, se organizan de acuerdo con el tamaño esperado.
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí


2.1.6 Resultados experimentales

Documento: GNN Hechtlinger Y, Chakravarti P, Qin J, et al. Una generalización de redes neuronales convolucionales a datos estructurados en gráficos. [J]. arXiv: aprendizaje automático, 2017 Detección de actividad molecular y experimentos en el conjunto de datos MNIST
inserte la descripción de la imagen aquí
.
Este método es superior a la capa totalmente conectada tradicional (Fully connectedNN) y al bosque aleatorio (Bosque aleatorio).


Repensando la GNN:Esencialmente, el enfoque de GNN es forzar que los datos de una estructura gráfica se transformen en datos regulares similares. Por lo tanto, puede ser procesado por convolución 1D.
inserte la descripción de la imagen aquí


2.2 GraphSAGE

2.2.1 Pregunta: ¿Qué es la convolución?

论文:Aprendizaje de representación inductiva en gráficos grandes, en Proc. de PNI, 2017

Respuesta 2:¡Convolución = muestreo + agregación de información!

2.2.2 Idea central

  • Integre la convolución en dos pasos de muestreo y agregación.
  • La abreviatura de SAGE es: Muestra y AggreGatE
  • Las funciones agregadas deben ser independientes del orden de entrada. Es decir, el autor cree que no es necesario ordenar los nodos del vecindario.inserte la descripción de la imagen aquí

2.2.3 Proceso de implementación

  1. Por muestreo, se obtienen los nodos vecinos.
  2. Use la función de agregación para agregar la información de los nodos vecinos para obtener la incrustación del nodo de destino;
  3. Utilice la información agregada en el nodo para predecir la etiqueta del nodo/gráfico; ¡ inserte la descripción de la imagen aquí
    convolución = muestreo + agregación de información!
  • muestreo
    • GraphSAGE utiliza un método de muestreo uniforme (Muestreo uniforme) para muestrear nodos de vecindad fijos. Es decir, para un nodo, se realiza un muestreo uniforme en sus nodos conectados de primer orden para construir una vecindad con un número fijo de nodos. Los nodos muestreados en diferentes iteraciones por lotes para el mismo nodo pueden ser diferentes.
  • polimerización
    • Agregador medio
      inserte la descripción de la imagen aquí

    • Agregador LSTM (red neuronal recurrente de memoria a largo plazo a corto plazo, es una red neuronal recurrente especial). Use LSTM para codificar las características de los vecinos. Aquí, el orden entre los vecinos se ignora, es decir, se baraja aleatoriamente y se ingresa en LSTM.

  • Agregador de agrupaciones.inserte la descripción de la imagen aquí
  • proceso de cálculo a futuroinserte la descripción de la imagen aquí

Diferencias de GNN

  • En las GNN (así como en las CNN tradicionales) es necesario determinar el orden de los nodos de vecindad. Sin embargo, los autores de GraphSAGE argumentan que los nodos de vecindad de convolución gráficaNo hay necesidad de ordenar
  • Cada nodo en la vecindad en GNN tiene diferentes parámetros de kernel de convolución. Vecindarios en GraphSAGETodos los nodos comparten los mismos parámetros del kernel de convolución
  • En el método de selección de vecindario, GNN pasaCaminata aleatoriaEl tamaño de probabilidad para construir el vecindario, GraphSAGE a través demuestreo uniformeConstruir barrios.

2.2.4 Ejemplo de operación de convolución de GraphSAGE

inserte la descripción de la imagen aquí
Para el nodo No. 5, hay tres nodos adyacentes de primer orden No. 1, No. 2 y No. 4. Estos tres nodos son nodos candidatos y se toman muestras de estos tres nodos para construir la vecindad del nodo 5.

  • Suponga que se toma la función agregada media. Supongamos que ahora estamos en la k-ésima capa.
  • Suponga que es necesario muestrear 2 nodos (muestreo con reemplazo). El resultado de un determinado muestreo de la vecindad del nodo 5 es: nodo 1 y nodo 4.
  • En el primer paso, el resultado de agregar nodos de vecindad es:inserte la descripción de la imagen aquí
  • En el segundo paso, el resultado de combinar la información del nodo central es: inserte la descripción de la imagen aquí
    h k 5 es la salida de la capa k-ésima.

En otro muestreo iterativo, el resultado de un determinado muestreo de la vecindad del nodo 5 es: nodo 1 y nodo 1 (esto es posible gracias al muestreo con reemplazo).

  • En el primer paso, el resultado de agregar nodos de vecindad es:inserte la descripción de la imagen aquí
  • El segundo paso es el mismo que
    inserte la descripción de la imagen aquí
    h k 5 , que es la salida de la k-ésima capa.

2.2.5 Resultados experimentales

论文:Aprendizaje de representación inductiva en gráficos grandes, en Proc. de PNI, 2017
inserte la descripción de la imagen aquí

  • En efecto, GraphSAGE es superior a los métodos tradicionales como DeepWalk.
  • En términos de tiempo de cálculo, la velocidad de entrenamiento de LSTM en GraphSAGE es la más lenta, pero en comparación con DeepWalk, el tiempo de predicción de GraphSAGE se reduce entre 100 y 500 veces.
  • Además, para GraphSAGE (que se muestra en la Figura B), a medida que aumenta la cantidad de muestras vecinas, F1 aumenta y el tiempo de cálculo también aumenta.
  • "unsup F1" y "sup F1" se refieren a los resultados en aprendizaje no supervisado y aprendizaje supervisado, respectivamente.

2.3 TAG

2.3.1 Pregunta: ¿Qué es la convolución?

Ponencia: GRÁFICO ATENCIÓN REDES ICLR 2018

Respuesta 3:La convolución se puede definir como una agregación discriminativa de nodos vecinos que utilizan la atención.

¿Qué es la atención?

El mecanismo de atención es una técnica que permite que el modelo se centre en información importante y la aprenda y absorba por completo. Imita la forma en que los humanos miran los objetos. La lógica central es "de centrarse en todo a centrarse en los puntos clave"
inserte la descripción de la imagen aquí

2.3.2 Idea central

  • GAT es GRAPH ATTENTION NETWORKS, y su idea central es introducir la atención en el modelo de convolución de grafos.
  • El autor cree que todos los nodos de la vecindad comparten los mismos parámetros del kernel de convolución, lo que limita la capacidad del modelo. Debido a que el grado de asociación entre cada nodo de la vecindad y el nodo central es diferente, es necesario tratar los diferentes nodos de la vecindad de manera diferente al realizar la convolución y agregar la información de los nodos de la vecindad.
  • El mecanismo de atención se utiliza para modelar el grado de asociación entre los nodos vecinos y los nodos centrales.

2.3.3 Pasos específicos

  1. Usa el mecanismo de atención para calcular el grado de asociación entre nodos
    • Calcular relevancia
      inserte la descripción de la imagen aquí

    • normalización softmax. Para facilitar la comparación de los coeficientes de atención entre diferentes nodos, los autores utilizan una función softmax para normalizar los coeficientes de atención de cada nodo.
      inserte la descripción de la imagen aquí

  2. El coeficiente de atención se utiliza para realizar la agregación de información discriminativa en los nodos vecinos para completar la operación de convolución del gráfico.inserte la descripción de la imagen aquí

2.3.4 Ejemplo de operación de convolución GAT

inserte la descripción de la imagen aquí

  1. Para el nodo No. 5, hay tres nodos adyacentes de primer orden No. 1, No. 2 y No. 4. Estos tres nodos son la vecindad de GAT.
  2. Utilice el mecanismo de atención para calcular el grado de asociación entre nodos. Por ejemplo, el grado de asociación entre el nodo 5 y el nodo 1 es el siguiente:inserte la descripción de la imagen aquí
  3. normalización softmax
    inserte la descripción de la imagen aquí
  4. El coeficiente de atención se utiliza para realizar la agregación de información discriminativa en los nodos vecinos para completar la operación de convolución del gráfico. inserte la descripción de la imagen aquí
    Tenga en cuenta que el W de los 4 nodos vecinos es común.

2.3.5 Resultados experimentales

Ponencia: GRÁFICO ATENCIÓN REDES ICLR 2018.
inserte la descripción de la imagen aquí

2.3.6 Comparación con otras convoluciones de gráficos

  1. En la construcción de nodos de vecindad, a diferencia de GNN (recorrido aleatorio) y GraphSAGE (muestreo), GAT selecciona directamente nodos adyacentes de primer orden como nodos de vecindad (similar a GCN).
  2. En términos de clasificación de nodos, no es necesario clasificar todos los nodos en la vecindad en GAT y compartir los parámetros del kernel de convolución (similar a GraphSAGE).
  3. Dado que GAT introduce el mecanismo de Atención, se puede construir la relación entre nodos adyacentes, que es una agregación diferenciada de nodos adyacentes. Si αij y W se combinan como un coeficiente, de hecho, GAT implícitamente asigna diferentes parámetros del núcleo de convolución a cada nodo en la vecindad.

2.3.7 Repensar el TAG

  1. GAT se puede considerar como un tipo de aprendizaje de la estructura del gráfico local. Los métodos de convolución de gráficos existentes a menudo prestan más atención a las características de los nodos e ignoran la estructura del gráfico.
    inserte la descripción de la imagen aquí
  2. El mecanismo de atención se puede considerar como una función aprendible con parámetros aprendibles. Utilizando el mecanismo de atención, GAT construye una función de aprendizaje para obtener la relación entre los nodos adyacentes, es decir, la estructura del gráfico local.

2.4 PGC

2.4.1 Pregunta: ¿Qué es la convolución?

论文:Redes convolucionales de grafos temporales espaciales para acciones basadas en esqueletos. AAAI. 2018.

Respuesta 4:La convolución se puede considerar como una suma después de multiplicar una función de muestra específica (función de muestra) y una función de peso específica (función de peso).

Partiendo de la convolución clásica, el kernel de convolución de K x K se puede escribir como la siguiente fórmula:
inserte la descripción de la imagen aquí
K es el tamaño del kernel de convolución (comúnmente 3). P ( ) es una función de muestreo, es decir, los nodos se sacan secuencialmente de la vecindad para participar en el cálculo de la convolución. w() es la función de peso, que asigna parámetros del kernel de convolución a los nodos extraídos. Toda esta fórmula es en realidad el producto interno de las características del nodo y los parámetros del kernel de convolución.

2.4.2 Idea central

En el proceso de extender la convolución de datos regulares a datos estructurados en gráficos, seleccione la función de muestreo y la función de ponderación apropiadas
inserte la descripción de la imagen aquí

función de muestreo

  • La función de muestreo es sacar nodos secuencialmente en la vecindad. La atención se centra en cómo construir la vecindad de los nodos, es decir, dónde muestrea la función de muestreo.
  • En datos con estructura gráfica, PGC puede definir una función de muestreo en los nodos de los vecinos de orden D. Es decir, inserte la descripción de la imagen aquí
    donde d(v j , v i ) representa la distancia más corta del nodo i al nodo j.
  • Tome D=1 en el experimento y muestree uno por uno en el vecindario de primer orden. Pero también se puede configurar para otros barrios.

función de peso

  • Primero, los puntos de la vecindad se dividen en K clases diferentes.
    inserte la descripción de la imagen aquí
    Debido a la operación de clasificación, este método se llama Partition Graph Convolution (PGC).
  • Cada clase comparte un parámetro de kernel de convolución. Los parámetros del kernel de convolución son diferentes entre las diferentes clases.
    inserte la descripción de la imagen aquí

Estrategias de clasificación para funciones de peso

  • Uni-etiquetado (Figura b). Todos los nodos de la vecindad se tratan por igual. Solo hay una categoría. Así que todo dividido en un solo color.
  • Partición a distancia (Figura c). Las diferentes categorías se determinan según el orden. El de orden cero es él mismo, una clase, y el de primer orden es otra clase, todo en azul.
  • Partición de la configuración espacial (Figura d), clasificada según la distancia al centro del esqueleto humano. Hay tres categorías. La distancia desde el centro es menor que el nodo central es una clase (azul), y la distancia desde el centro es mayor que una clase (amarillo).
    inserte la descripción de la imagen aquí

La fórmula de convolución definida por PGC en el gráfico es finalmente la siguiente: El significado de inserte la descripción de la imagen aquí
Z i (v j ) es el número de nodos en la clase del nodo j (en la vecindad del nodo i). El coeficiente de normalización es para equilibrar la contribución de cada tipo de nodos en la vecindad.

2.4.3 Ejemplo de operación de convolución de PGC

inserte la descripción de la imagen aquí

  • Para el nodo No. 5, hay tres nodos adyacentes de primer orden No. 1, No. 2 y No. 4. Estos tres nodos son la vecindad del PGC. La función de muestreo
    toma muestras de los nodos n.° 1, n.° 2, n.° 4 y n.° 5 por turno. No importa el orden, ya que los parámetros correspondientes a cada nodo se
    asignan a través de la función de peso.

  • Suponga que cuando se clasifica la función de ponderación, el nodo 5 se clasifica en la primera categoría, los nodos 1 y 2 se clasifican en la segunda categoría y el nodo 4 se clasifica en la tercera categoría.inserte la descripción de la imagen aquí

  • Suponiendo que la función de peso está clasificada, los cuatro nodos se clasifican en una clase.inserte la descripción de la imagen aquí

  • Suponga que cuando se clasifica la función de ponderación, los cuatro nodos se dividen en cuatro categorías diferentes y cada categoría tiene un nodo.inserte la descripción de la imagen aquí

2.4.4 Resultados experimentales

inserte la descripción de la imagen aquí

2.4.5 Relación con otras convoluciones de grafos

  • En comparación con GraphSAGE, que utiliza muestreo medio para determinar vecindarios, PGC define la construcción de vecindarios como una función de muestreo, que es más generalizable.
  • GNN necesita determinar el orden de la vecindad y no es necesario ordenar los puntos de la vecindad de GraphSAGE. PGC adopta un enfoque más general: define una función de peso. El enfoque de GNN/GraphSAGE para los nodos vecinales puede verse como los dos extremos de PGC: tratamiento diferente/igual.

3. Resumen

3.1 La esencia de la convolución espacial

Los diferentes métodos de convolución de gráficos espaciales corresponden esencialmente a diferentes interpretaciones de la convolución.
inserte la descripción de la imagen aquí

3.2 Características de la convolución de gráfico espacial

  • Pasando por alto la teoría de grafos, no hay necesidad de transformar la señal entre los dominios espacial y espectral.
  • Es más intuitivo definir la operación de convolución directamente en el espacio aéreo.
  • Sin los grilletes de la teoría de grafos, la definición es más flexible y los métodos son más diversos.
  • En comparación con la convolución de gráficos de dominio espectral, carece de apoyo teórico matemático.

3.3 Comparación de convolución de cuatro tipos de mapas del espacio aéreo

método de convolución Definición de convolución Método de selección de nodos de vecindad Si los nodos vecinos deben ordenarse En el mismo vecindario, si los parámetros del núcleo de convolución se comparten
GNN Después de ordenar el número fijo de nodos vecinos, se multiplican y se suman con el mismo número de parámetros del kernel de convolución Caminata aleatoria necesita clasificación no compartas
GráficoSAGE Muestreo + Agregación de Información muestreo uniforme No hay necesidad de ordenar compartido
REVÓLVER Agregación discriminatoria de nodos de vecindad mediante el mecanismo de atención Usar directamente nodos vecinos de primer orden No hay necesidad de ordenar compartido. Sin embargo, después de ser corregido por el mecanismo de atención, cada nodo se asigna a un parámetro de kernel de convolución diferente.
PGC Una función de muestreo específica se multiplica por una función de peso específica y luego se suma determinado por una función de muestreo específica determinada por una función de peso específica determinada por una función de peso específica

3.4 Requisitos para la estructura del gráfico

  • GNN, GraphSAGE y GAT no requieren una estructura gráfica fija, es decir, la estructura gráfica del conjunto de entrenamiento y el conjunto de prueba pueden ser diferentes.
  • Este tema no se trata en el texto del PGC. Sus experimentos también operan sobre datos gráficos con una estructura fija.
  • Sin embargo, como un marco con fuerte generalización, las tres circunvoluciones anteriores pueden considerarse como casos especiales de PGC.Se puede considerar que PGC no requiere que la estructura del gráfico sea fija.
  • En esencia, debido a que la convolución del gráfico de dominio espacial no usa la transformada de Fourier del gráfico, no necesita considerar el cambio de la función base (el vector propio U de la matriz laplaciana) después de que cambia la matriz laplaciana L.

Supongo que te gusta

Origin blog.csdn.net/happy488127311/article/details/128762586
Recomendado
Clasificación