De la red neuronal convolucional (CNN) a la red neuronal convolucional gráfica (GCN) en detalle

Tabla de contenido

1. La relación entre CNN y GCN

2. Conocimiento preliminar de "imagen"

3. Red convolucional gráfica (GCN)

4. Optimización de red para clasificación de imágenes hiperespectrales

5. Graficar redes neuronales convolucionales en el dominio de la frecuencia


        Recientemente, vi un artículo con un número muy alto de citas, que utiliza redes convolucionales de gráficos para procesar tareas de clasificación de imágenes hiperespectrales. Fue publicado en julio del año pasado y tiene más de 300 citas hasta el momento. Esto es para el campo de clasificación hiperespectral. un dato muy rápido y muy alto. Después de ponerme en contacto con la red neuronal convolucional de grafos, descubrí que la mayor parte de la información trata de explicar la parte de la fórmula intermedia mediante un razonamiento matemático, lo que crea ciertos obstáculos para la comprensión, comprensión y uso general de esta red. información, intente Comprender esta red desde una perspectiva más macro y luego agregue lentamente algo de contenido matemático, para esforzarse por comprender y aprender esta red sin problemas.

1. La relación entre CNN y GCN

       Para conjuntos de datos con estructuras de datos tradicionales, todos pertenecen al espacio euclidiano, como imágenes, videos, audios, etc., se pueden transformar en matrices con formas irregulares. Tales estructuras de datos se pueden procesar por convolución, porque el núcleo de convolución es también una matriz muy regular.

Figura 1.1 Proceso de convolución de CNN

           

Pero para las estructuras de datos en el espacio no euclidiano, este tipo de convolución no se puede realizar, como las redes de relaciones sociales, los diagramas de redes de tráfico, las estructuras moleculares químicas, etc.

Figura 1.2 Red de relaciones interpersonales

Figura 1.3 Estructura molecular química

        Cada nodo de datos tiene N bordes que conectan diferentes nodos, y estos N no son iguales. Obviamente, estas estructuras de datos no pueden realizar el procesamiento de convolución tradicional, porque ni siquiera podemos encontrar un kernel de convolución cuyo tamaño pueda cambiar irregularmente en cualquier momento. Entonces, ¿qué debemos hacer si queremos conocer las características de este tipo de datos a través de la convolución?, en este momento se propone la GCN, que es la protagonista de este artículo, la red neuronal convolucional de grafos. Este tipo de red necesita 1. Puede ser procesada por computadora (para que la estructura de datos sea regular, como una matriz), 2. Además de retener la información de cada nodo, también debe contener la información de los nodos adyacentes.

2. Conocimiento preliminar de "imagen"

       La red neuronal gráfica (GNN) procesa "gráficos", que son tipos de estructura de datos como la red interpersonal y la estructura química molecular mencionadas anteriormente. Resúmalo como el siguiente gráfico. Llamamos a este gráfico sin flecha apuntando hacia él un gráfico no dirigido, lo que significa comunicación bidireccional entre dos nodos. En GNN, casi solo se usa este tipo de gráfico no dirigido. Otra estructura unidireccional con flechas la llamamos gráfico dirigido.

2.1 Gráfico no dirigido

        Hay 4 nodos en el gráfico representado por 2.1. En el "gráfico", llamamos a este tipo de nodo vértice, y la conexión entre los vértices se llama "arista". El grado indica el número de aristas conectadas por un vértice. , como en 2.1, el gráfico contiene cuatro vértices V1, V2, V3, V4, el grado de V3 es 2, el grado de V1 es 3, el grado de V2 es 1... . Los vértices que están directamente conectados entre sí se denominan vértices vecinos de primer orden, como V2, V3 y V4 son vértices vecinos de primer orden de V1, y aquellos con al menos un vértice en el medio se denominan vértices vecinos de segundo orden. , como V4 son los vértices vecinos de segundo orden de V2, y así sucesivamente tienen vértices vecinos de orden superior.

        Con algunas definiciones básicas de grafos

, comenzamos a considerar que no importa cuán extraña sea la estructura del gráfico, eventualmente será enviado a la computadora para su procesamiento. Entonces esperamos encontrar una estructura regular para representar este gráfico, como una matriz para representarlo, entonces que se puede enviar a la computadora para su procesamiento. Entonces esta matriz debe estar compuesta por al menos dos partes. Primero, debe poder representar la relación entre cada vértice, es decir, si hay una conexión. Además, es mejor considerar la fuerza de esta conexión. En segundo lugar, debe contener la información de cada nodo en sí, es decir, caracterizar quiénes son los nodos en sí.

        De acuerdo con las dos pautas anteriores, nos damos cuenta paso a paso, primero satisfaga la primera condición, es decir, para representar la relación entre cada vértice, lo que introduce el concepto de "matriz de adyacencia", echemos un vistazo a lo que hace la matriz de adyacencia . Tomando 2.1 como ejemplo, queremos expresar la relación entre cada vértice, es decir, necesitamos expresar la relación entre V1 a (V1, V2, V3, V4) y V2 a (V1, V2, V3, V4) y así sucesivamente hasta V4 y la relación de todos. No es difícil ver que necesitamos dos dimensiones

Tabla 2.1 Matriz de adyacencia
V1 v2 V3 V4
V1 0 1 1 1
v2 1 0 0 0
V3 1 0 0 1
V4 1 0 1 0

        La tabla anterior muestra la relación de Vi a Vj. Consideramos la relación de vértices directamente conectados como 1, y la relación de vértices no directamente conectados como 0, de modo que obtenemos la matriz de adyacencia A, que puede ser muy buena. entre cada vértice. Además, si podemos marcar la fuerza y ​​la debilidad del borde cerca de cada borde, entonces podemos mejorar aún más esta matriz en lugar de usar solo (0, 1) para representarla. Figura 2.2 y la tabla a continuación

Figura 2.2 Gráfico con relaciones fuertes y débiles

V1 v2 V3 V4
V1 0 2 5 6
v2 2 0 0 0
V3 5 0 0 3
V4 6 0 3 0

       Hasta aquí el primer problema está resuelto, a través de la matriz de adyacencia A podemos caracterizar bien la relación entre los vértices en el grafo, luego falta resolver el segundo problema que es caracterizar las características de cada vértice.

       Por ejemplo, V1 es una persona, parte de su información personal se almacena en este vértice y esta información se representa como un número (incrustación) mediante un determinado método de codificación: suponga que para V1, el nombre es 239, el género es 2 , y la altura es 239. es 175 y el peso es 120. Para V2, el nombre es 542, el género es 1, la altura es 168 y el peso es 100. Por analogía, todas las Vis están codificadas y yo se obtienen vectores como el de V1 El vector es H1 (239, 2, 175, 120), y el vector de V2 es H2 (542, 1, 168, 100), a este vector lo llamamos señal del vértice correspondiente. Posteriormente, los i vectores columna obtenidos se concatenan en una matriz H (H1, H2, H3, H4) ⊺, donde H es una matriz de bloques, representada por una columna.

H1 239 2 175 120
H2 542 1 168 100
H3 937 2 188 150
H4 365 1 163 90

       Tomamos la primera fila A1 en la matriz A, multiplicamos A1 por H, es decir:                

A1\cdot H =(0\veces H1 + 2\veces H2 + 5\veces H3 + 6\veces H4)

       Se puede observar que este resultado es la suma ponderada de las señales de los nodos vecinos de V1, donde el peso es el valor de la fuerza de la relación, la cual es proporcionada por A, pero este peso no ha sido normalizado, es decir, si vértice vecino de un nodo Cuanto más, cuanto más fuerte es el valor de la relación, mayor es el resultado Para evitar esta situación, realizamos una operación de normalización, es decir, deje que el peso se divida por la suma de los valores de la relación. de todos los bordes del nodo, y los valores de relación de estos bordes se convierten en un "peso" con una suma de 1 en el verdadero sentido. Entonces el proceso matemático que necesitamos es dividir cada fila de A por la suma de la fila. Aquí es donde introducimos una nueva matriz D, que es una matriz diagonal, y los elementos de la diagonal de cada fila son la suma de los elementos de esta fila de A, es decir, el grado del vértice.

matriz D
13 0 0 0
0 2 0 0
0 0 8 0
0 0 0 9

        Ejecute D^{-1}Ala operación, es decir, normalice cada valor de relación de A y conviértalo en un peso, y el resultado es

0 2/13 5/13 6/13
2/2 0 0 0
5/8 0 0 3/8
6/9 0 3/9 0

        En este momento, ejecute (D^{-1}A)_{i}H, es decir D^{-1}A, multiplique la i-ésima línea y H, (establezca i en 1, que es la primera línea) para obtener

D_{1}^{-1}A1\cdot H =(1/13)\times (0\times H1 + 2\times H2 + 5\times H3 + 6\times H4)

        Todas las filas realizan la misma operación, D^{-1}AHentonces la dimensión de cada fila es la misma y el resultado del cálculo de una determinada fila no será particularmente exagerado. En este momento, consideremos cuál es el resultado, es equivalente a sumar (agregar) las señales de todos los vértices alrededor de un cierto vértice según la relación (peso), entonces este resultado puede representar la influencia de los nodos circundantes sobre sí mismo, y debido a que es a través de operaciones matriciales, la estructura de datos se vuelve muy regular y las computadoras se pueden usar para las operaciones.

3. Red convolucional gráfica (GCN)

        Llegados a este punto, tenemos que pensar en dos cuestiones:

        Primero , esta influencia requiere que un objeto soporte:

        Por ejemplo, tengo cinco amigos, algunos tienen buenas relaciones, algunos tienen relaciones promedio y algunos tienen malas relaciones, y sus habilidades de aprendizaje también son diferentes. Quiero saber que después de hacer estos cinco amigos, mis calificaciones serán las que sean. parece. En este ejemplo, yo soy el objeto, y necesito soportar la influencia de cinco amigos, y finalmente expresar las consecuencias de hacer estos cinco amigos, que es lo que quiero calcular al final. En el cálculo de ahora, obviamente falta la participación de "I", como por ejemplo:            

A1\cdot H = (1/13)\times (0\times H1 + 2\times H2 + 5\times H3 + 6\times H4)

        Se puede ver que las señales H1, H2 y H3 de V2, V3 y V4 están todas ponderadas y sumadas, y no hay información sobre la señal H1 de V1 (es decir, no hay "I"). Entonces supongamos que soy un maestro de escuela, y ellos no tienen ningún efecto en mí, o he hecho una gran diferencia en mis estudios, y hacerme amigo de ellos me ha mejorado mucho. En este caso, si queremos representar el " consecuencias" de hacer amigos, entonces la información de "yo" es esencial, por lo que necesitamos hacer amigos con ellos. La matriz de adyacencia A se mejora un poco, y la información de "yo" se agrega para crear una nueva matriz                     

\widetilde{A}= A + I

        Al mismo tiempo, D también cambia en consecuencia, convirtiéndose en                                         

\widetilde{D}= D+I

        Entre ellos, I es la matriz unitaria. De esta manera, la nueva fórmula de cálculo es la siguiente. \widetilde{D}^{^{-1}}\widetilde{A}HDe esta manera, la información de "I" debe ser considerada al ponderar. En cuanto a la proporción de mi información, puedo establecer teóricamente yo mismo, es decir,                   

\widetilde{A}= A + aI

        Entre ellos, a es el parámetro de intensidad y, por supuesto, D tiene que cambiar en consecuencia. Pero en la práctica, no necesitamos considerar este tema, porque las dimensiones de "consecuencias" y "puntajes" no necesitan ser consistentes, es decir, las consecuencias no tienen que medirse por puntajes y pueden considerarse como un nuevo índice de evaluación dimensional, bajo este índice, el peso de "mi" solo representa 1/10 del valor del grado, y solo se debe tener en cuenta la información de "yo", para que este resultado tenga significado físico, es decir, tienen un significado físico para mí Las "consecuencias" de la influencia, es decir, en lo que me convertí después de ser influenciado por ellas. En ese momento, de repente nos dimos cuenta, ¿no es este resultado un "nuevo yo" hasta cierto punto? Después de tales cálculos, todos los vértices se convierten en su nuevo yo, por lo que obtenemos otro gráfico. En el nuevo gráfico, la relación entre todos permanece sin cambios (independientemente del borde o el valor de la relación), y podemos recalcular un nuevo gráfico. el turno. Pero en este momento, el nuevo I ya contiene la información del vértice original conectado directamente conmigo, como en el ejemplo, el nuevo V1 ya contiene la información del antiguo (V1, V2, V3, V4), y el nuevo V4 también contiene la información de (V1, V3, V4), pero tenga en cuenta que en la primera ronda de cálculo, debido a que V4 y V2 no están conectados directamente, V4 no contiene la información de V2, luego el segundo impacto, debido a V4 y V1 Hay un lado, el nuevo V1 contiene la información del V2 original, luego el nuevo V4 puede obtener parte de la información del V2 original a través del nuevo V1, luego encontramos que después de solo una ronda de cálculo (o llamada una transmisión), solo la información de los vértices vecinos de primer orden puede interactuar entre sí. Después de la segunda propagación, la información entre los vértices vecinos de segundo orden también interactúa. Por analogía, después de N veces de propagación, la información del También se producen vértices vecinos de orden N. interact. Esto permite el cálculo de matrices que representan las consecuencias de las interacciones entre vértices.

       En segundo lugar , el valor de la relación generalmente se obtiene por la distancia euclidiana entre las señales de los dos vértices, que solo está relacionada con estos dos vértices y no tiene nada que ver con las señales de sus vecinos de segundo orden, pero obviamente, los vecinos de los vecinos tienen una influencia en mi Debería haber alguna, ¿cómo podemos tener en cuenta la influencia de los vecinos de segundo orden?

        Por ejemplo, mi nombre es V2 y soy un paciente autista. Hay cuatro personas en la clase. Nuestra propia señal es el valor de la habilidad social. Solo conozco a V1. Conozco a V1 no porque pueda conversar con él, sino porque porque V1 es un Sheniu, todos conocen V1. En este ejemplo, si se considera el nuevo V2 formado por V2 después de una propagación, se calcula \widetilde{D}^{_{2}^{-1}}\widetilde{A}_{2}Hy el resultado es \widetilde{D}^{_{2}^{-1}}\widetilde{A}_{2}H=(1/3)×(2×H1 + 1×H2 + 0×H3 + 0×H4) =2 /3 H1 + 1/3H2, se puede ver que la mayor parte de la nueva señal V2 proviene de la señal V1 original en este momento. Por supuesto, esto no es posible. ¿Cómo puedo convertir un miedo social en una vaca social después de uno? transmisión? Obviamente, todavía hay un problema con la propagación. Espero tener en cuenta tanto a los vecinos de segundo orden como a los vecinos de primer orden. Cuando hay una gran diferencia entre los vecinos de segundo orden y los vecinos de primer orden , espero atenuar este efecto y hacer mi propia señal tanto como sea posible. Separar lo más posible de las señales de otras personas, entonces es fácil obtener dos ideas, una es mantener mi propio peso tanto como sea posible en la comunicación. , y reducir el peso de los demás, es decir, para tratar con él, y el segundo es dejar que "mi" \widetilde{A}señal De acuerdo con la propagación, hay un cierto cambio lineal, es decir, cuanto mayor es la diferencia entre el número de segundo -vecinos de orden y vecinos de primer orden, cuanto más pequeña es mi señal, para que pueda distinguirme de los demás, y también puedo tener mis propias características independientes, es decir, la señal es particularmente pequeña Bueno. En GCN, sigue la segunda idea, y el nuevo proceso de propagación en matemáticas se expresa como:                  

\widetilde{D}^{-\frac{1}{2}}\widetilde{A}\widetilde{D}^{-\frac{1}{2}}H

        Dado que tanto D como D \widetilde{D}^{-\frac{1}{2}}son matrices diagonales, podemos considerarla como una matriz unitaria que ha sufrido una serie de transformaciones elementales, o simplemente hacer la transformación elemental de la multiplicación.Multiplicar A desde la izquierda por uno y multiplicar por uno desde la derecha, y la multiplicación de la izquierda es equivalente \widetilde{D}^{-\frac{1}{2}}a \widetilde{D}^{-\frac{1}{2}}realizar una transformación elemental de fila, la multiplicación de la derecha es equivalente a realizar una transformación elemental de columna en A. Entonces \widetilde{D}^{-\frac{1}{2}}\widetilde{A}\widetilde{D}^{-\frac{1}{2}}se puede considerar como \widetilde{A_{i,j}}las siguientes operaciones:  

\widetilde{A}_{ij}=\frac{A_{ij}}{\sqrt{D_{ii}},\sqrt{D_{jj}}}

        De esta forma, cuando el grado del vértice vecino de primer orden j (el número de aristas, es decir, el número de sus vecinos de primer orden) es muy grande, la señal se volverá muy pequeña después de una propagación, por ejemplo, para V2:               

\widetilde{D}_{22}^{-\frac{1}{2}}\widetilde{A}_{2}\widetilde{D}_{11}^{-\frac{1}{2} }H = \frac{1}{\raíz cuadrada{3}\raíz cuadrada{14}}(2H1 + H2)

        Porque \frac{1}{3} > \frac{1}{\sqrt{3}\sqrt{14}}, se puede ver que la señal del nuevo V2 ha sido atenuada, y el factor de atenuación es \frac{1}{\sqrt{D_{ii}},\sqrt{D_{jj}}}, obviamente, sólo cuando i=j, la suma de pesos es igual a 1, y los demás tiempos son <1, y cuanto mayor sea diferencia entre iyj, el factor de atenuación se atenúa cuanto más despiadado. Arriba, el segundo problema también ha sido resuelto.

        Hasta ahora hemos resuelto la representación matricial del gráfico, esta matriz no solo contiene su propia señal, sino que también contiene la relación entre cada vértice, y cada capa de propagación tiene nuevas señales generadas, estas nuevas señales son equivalentes a Y = en CNN Cada capa en XW+ b es X. Podemos compararlo con CNN. Se puede decir que el valor obtenido por cada propagación anterior es la característica de cada capa. Si queremos usar el gráfico para entrenar la red neuronal convolucional, necesitamos para agregar datos que pueden capturar información.La matriz de parámetros de entrenamiento W y b, y luego a través de una función de activación, se corresponden perfectamente con la red neuronal convolucional CNN, por lo que tenemos la fórmula final de propagación hacia adelante:                                                     

H^{l+1} = \sigma (\widetilde{D}^{-\frac{1}{2}}\widetilde{A}\widetilde{D}^{-\frac{1}{2}} alto^{l}ancho^{l} + fondo^{l})

        Lo anterior es una explicación detallada de la fórmula de propagación de la red neuronal convolucional gráfica. Entre ellos \widetilde{D}^{-\frac{1}{2}}\widetilde{A}\widetilde{D}^{-\frac{1}{2}}, es fijo y todas las capas no cambian.Luego, es exactamente igual que CNN, construyendo una capa completamente conectada, función de pérdida, retropropagación y parámetros de actualización.

4. Optimización de red para clasificación de imágenes hiperespectrales

        Se ha introducido la propagación de toda la red, entonces, ¿qué funciones realiza? Dividimos en dos aspectos a tener en cuenta:

        1. No/semi-supervisado: es decir, cuando ingresamos muestras, ingresaremos muestras no etiquetadas (vértices y sus señales) en la red juntas, y cada vez que la red se propaga, las señales de estos vértices no etiquetados se pueden recibir La información de señales cercanas forma nuevas características y se convierte en el "nuevo yo" de la siguiente capa. Este es en realidad un método de transmisión de "cerca del bermellón es rojo, y cerca de la tinta es negro". Después de varias veces de transmisión, habrá El efecto de agrupamiento, es decir, las señales de ciertos vértices son cada vez más similares, pero conservan parte de su información original, para lograr el efecto de agrupamiento 2. Supervisión: Esta es la
       clasificación de imágenes hiperespectrales mencionada al comienzo de este artículo. La idea utilizada en el artículo es que el GCN tradicional adopta modos semi-supervisados ​​y no supervisados. Al ingresar, el conjunto de prueba no etiquetado se ingresa en la red, y el conjunto de prueba se "infecta" lentamente con la información del etiquetado. vértices. , se asemejan gradualmente para formar grupos, y esperamos usar solo el conjunto de entrenamiento durante el entrenamiento, y podemos predecir nuevas etiquetas de muestra sin volver a entrenar la red durante la prueba. Así que imitamos las ideas de CNN e hicimos tres cambios:

        Primero, agregue la función de clasificación softmax.

        En segundo lugar, reduzca la cantidad de cálculo. La cantidad de cálculo está relacionada con el tamaño de la muestra que ingresamos cada vez. Por ejemplo, datos hiperespectrales, el conjunto de datos UP tiene más de 4w muestras, y el número de bandas por muestra es 103 (señales En este ejemplo, si usa GCN directamente, debe ingresar todas las muestras, luego D y A son matrices de 40000 × 40000, H es una matriz de 40000 × 103, W es una matriz de 103 × 103 y la complejidad computacional es (40000 * 103 * 103), y la matriz actualizada cada vez en CNN está casi apilada con múltiples 3 × 3 y 5 × 5. Con un tamaño de muestra tan grande, consume mucha memoria en comparación con CNN. De acuerdo con esto, la literatura mencionada anteriormente proporciona una idea para resolver el problema.De acuerdo con el método de procesamiento por lotes en cnn, el conjunto de entrenamiento de imágenes hiperespectrales se divide aleatoriamente en diferentes áreas pequeñas, y se seleccionan aleatoriamente 10 píxeles en cada área pequeña. Apunte y genere una imagen, seleccione los puntos varias veces para asegurarse de que se seleccionen todos los píxeles válidos en esta pequeña área, luego haga un lote de todas las imágenes en esta pequeña área. De esta forma, cada H es 10×103 y la complejidad del cálculo es (10*103*103), lo que reducirá en gran medida la cantidad de cálculo. 

       En tercer lugar, admita muestras no entrenadas para predecir directamente a través de la red entrenada. A través del segundo artículo, hemos logrado la división del conjunto de entrenamiento por lotes y el entrenamiento de la red. En este momento, solo necesitamos dividir los datos del conjunto de prueba en regiones de acuerdo con la forma del conjunto de entrenamiento y generar gráficos. Los gráficos generados Esto se logra alimentando la red entrenada: las muestras no entrenadas también pueden ser predichas por la red entrenada.

      Entonces, ¿cuáles son las ventajas de GCN para CNN? Consideramos la señal de cada vértice como la entrada de una muestra, entonces GCN puede realizar tal función: cuando la información espacial se distribuye en un espacio no europeo, es decir, cuando no hay una relación adyacente regular, la relación entre cada muestra de entrada Las relaciones y su fuerza se pueden tener en cuenta en la red. Normalmente, la información de correlación entre las muestras introducidas por CNN no se introduce en la red. En hiperespectral, aunque 3D-CNN y 2D-CNN han agregado información espacial, pero la extracción de información espacial de los datos hiperespectrales originales es solo en un parche, este paquete a veces contiene una variedad de características terrestres, y el parche La etiqueta de es solo determinado por la etiqueta de píxel del punto central, por lo que habrá la siguiente situación. Cuando varios píxeles cerca del punto central son diferentes de la etiqueta, sus parches son muy similares, pero las etiquetas son diferentes. La dificultad de entrenamiento aumentará. En el GCN mejorado, dado que la entrada ya no es un parche, sino un gráfico que contiene información más lejana, cada punto de señal del gráfico también se selecciona aleatoriamente en una zona determinada, evitando la aparición de gráficos con diferentes etiquetas (pacth) Demasiado similar problemas, por lo que en el gráfico de resultado de predicción generado, el límite será más claro.

5. Graficar redes neuronales convolucionales en el dominio de la frecuencia

     Originalmente era el final del asunto aquí, pero algunos grandes propusieron usar la idea del dominio de la frecuencia para explicar la red neuronal convolucional gráfica, porque el producto del dominio de la frecuencia corresponde a la convolución del dominio del aire, y el Obviamente, el producto es más conveniente de calcular que la convolución, por lo que la señal que se va a convolucionar y el núcleo de la convolución se someten a la transformada de Fourier o la transformación de Laplace, se transforman al dominio de la frecuencia, se multiplican y luego se transforman nuevamente al dominio del espacio. en este momento es el resultado de la convolución del dominio del espacio, es decir

g\estrella f = F^{-1}[F[g]\cdot F[f]]

       Donde F[·] es la transformada de Fourier o la transformada de Laplace.

       La idea es buena, pero (g, f) en la fórmula son todas funciones. Hay series de Fourier, por lo que es natural hacer una transformación, pero ¿cuál es la transformación de Fourier en la forma de nuestra estructura gráfica?

        A continuación, debemos explorar la esencia de la transformada de Fourier. Primero, echemos un vistazo a la serie tradicional de Fourier.


        Aquí encontramos que F(w) no es más que encontrar el coeficiente Cn de cada base, y este método es multiplicar f(x) y el conjugado de la base y luego integrar, y corresponder f(x) y la base de continuo a discreto Aquí, ¿no es solo multiplicar y sumar los elementos correspondientes, no es esto solo el producto escalar de dos vectores? A través de este producto escalar, se puede determinar el valor de F(w) bajo un cierto w, y se puede obtener F(w) realizando el producto escalar bajo diferentes w varias veces. Hagamos un resumen, la esencia de encontrar la transformada tradicional de Fourier es encontrar los coeficientes Cn del producto interno con la base ortogonal   

        Ahora hagamos una analogía, en la figura, son las señales de cada capa las que deben participar en el cálculo de la convolución, luego "f(x)" está ahí, y luego solo es necesario encontrar un conjunto de bases ortogonales. La transformada de Fourier tradicional se realiza en una función.Después de discretizar la función, se convierte en una matriz unidimensional, por lo que la base es una función unidimensional sobre w, y necesitamos realizar la transformada de Fourier en los vértices. También es necesario considerar la influencia mutua entre ellas, entonces el conjunto de bases ortogonales que buscamos debe contener al menos la información de la matriz de adyacencia. Entonces, ¿cuáles son los requisitos para la base ortogonal de la transformada tradicional de Fourier? Aquí se intercalan algunas conclusiones matemáticas, la razón por la que podemos usarla e^{-jwt}como función base es porque satisface la ecuación característica del operador laplaciano, y w está relacionado con el valor característico. Veamos la definición de la ecuación característica:   

AV=\lambda V

         donde A es una transformación, V es el vector propio y λ es el valor propio. e^{-jwt}satisfacer: 

\Delta e^{-iwt} = \frac{\parcial ^{2}}{\parcial t^{2}}e^{-iwt} = - w^{2}e^{-iwt}

         Entre ellos \Deltase encuentra el operador laplaciano, es decir, el operador de derivadas de segundo orden. Se puede ver que en esta fórmula, \Deltala regla de transformación A e^{-jwt} es el vector propio V (aunque e^{-jwt}solo hay un elemento en lugar de una matriz), -w^{2} que es el valor propio λ, por lo que e^{-jwt}satisface la ecuación característica de Laplace, por lo que lo elegimos e^{-jwt}como el base.

        Luego calculamos la transformada de Fourier de cada señal, podemos también encontrar una "matriz de Laplace" que contenga la información de la matriz de adyacencia A, en ese caso, es suficiente encontrar sus vectores propios, pero este conjunto de vectores propios debe ser correcto Intersección , entonces es mejor que la matriz laplaciana que encontramos sea una matriz simétrica real, y sus vectores propios sean ortogonales, y este conjunto de bases sea un conjunto de bases ortogonales después de la normalización.

         Aquí viene la pregunta, en la estructura del gráfico, ¿existe tal matriz? La respuesta es sí, esta matriz se llama matriz laplaciana L, el algoritmo es L = D - A, D es la matriz de grados y A es la matriz de adyacencia. Que conciso, como L se da cuenta de la función del operador laplaciano (buscando la función derivada de segundo orden en la estructura del gráfico), encontré que un grandote de la Universidad de Tsinghua escribió muy bien este contenido, explicándolo de una manera simple y sencilla Se explica el significado y el sentimiento intuitivo de la matriz laplaciana, y se da un ejemplo muy apropiado para presentarlo, que es muy adecuado para que lean los principiantes de GCN. pórtico _

         Con esta matriz laplaciana, podemos obtener su vector propio tu_{yo}, y luego tu_{yo}podemos formar este conjunto de bases ortogonales U, luego realizar la transformada de Fourier en una determinada señal f para obtener la forma del producto interno de U, es decir, F[f] = U^{T}fF[] es la transformada de Fourier , y la transformada inversa se U^{T}fconvertirá en f, entonces F[f] = U^{T}flos lados izquierdo y derecho se pueden multiplicar por U al mismo tiempo, porque U es una matriz ortogonal, por lo que UU^{T} = Ela fórmula de la transformada inversa es: f = UF[f].

          Ahora operamos la señal f y el kernel de convolución h, entonces h\estrella f = U((U^{T}h)\bigodot (U^{T}f)), donde \bigodotrepresenta la multiplicación de los elementos correspondientes, se puede (U^{T}h)\bigodot (U^{T}f)reescribir como \begin{pmatrix} \theta _{1} \cdots 0 \\ \vdots \ddots \vdots \\ 0 \cdots \theta _{n} \end{pmatrix} \begin{pmatrix} \widetilde{f}_{ 1}\\ \vdots \\ \widetilde{f}_{n} \end{pmatrix}, donde, \ thetaes el elemento transformado de Fourier de h, n es la dimensión de la señal, y \widetilde{f}es el Fu de f Los elementos transformados se reescribirán diag( \ theta) =  g_{\theta}, por lo que tenemos

        En este momento, encontramos que el número de columnas de U puede ser infinitamente muchas, porque siempre que \Delta e^{-iwt} = \frac{\parcial ^{2}}{\parcial t^{2}}e^{-iwt} = - w^{2}e^{-iwt}w se duplique en esta fórmula, la relación anterior se cumple, entonces hay una cantidad infinita de vectores propios y el tu_{yo}costo de calcular tantos es demasiado alto Ponemos Uno o dos componentes de baja frecuencia se utilizan para reemplazar o aproximar toda la U. En base a esto, se hacen algunas aproximaciones. En el caso de solo la frecuencia fundamental, obtenemos una fórmula de propagación que es completamente igual a el dominio del tiempo por aproximación:

H^{l+1} = \sigma (\widetilde{D}^{-\frac{1}{2}}\widetilde{A}\widetilde{D}^{-\frac{1}{2}} alto^{l}ancho^{l} + fondo^{l})

          En el proceso de aproximación, la definición del núcleo de convolución h ha cambiado, y se ha omitido el proceso matemático en el medio.Si está interesado, puede usar el enlace del portal para ver una explicación más detallada resumida por cierto Tsinghua jefe universitario.

        

Supongo que te gusta

Origin blog.csdn.net/weixin_42037511/article/details/126271782
Recomendado
Clasificación