Exploiting the Structure of Two Graphs with Graph Neural Networks

Victor M. Tenorio,Antonio G. Marques
2024-11-08
Abstract:Graph neural networks (GNNs) have emerged as a promising solution to deal with unstructured data, outperforming traditional deep learning architectures. However, most of the current GNN models are designed to work with a single graph, which limits their applicability in many real-world scenarios where multiple graphs may be involved. To address this limitation, we propose a novel graph-based deep learning architecture to handle tasks where two sets of signals exist, each defined on a different graph. First we consider the setting where the input is represented as a signal on top of one graph (input graph) and the output is a graph signal defined over a different graph (output graph). For this setup, we propose a three-block architecture where we first process the input data using a GNN that operates over the input graph, then apply a transformation function that operates in a latent space and maps the signals from the input to the output graph, and finally implement a second GNN that operates over the output graph. Our goal is not to propose a single specific definition for each of the three blocks, but rather to provide a flexible approach to solve tasks involving data defined on two graphs. The second part of the paper addresses a self-supervised setup, where the focus is not on the output space but on the underlying latent space and, inspired by Canonical Correlation Analysis, we seek informative representations of the data that can be leveraged to solve a downstream task. By leveraging information from multiple graphs, the proposed architecture can capture more intricate relationships between different entities in the data. We test this in several experimental setups using synthetic and real world datasets, and observe that the proposed architecture works better than traditional deep learning architectures, showcasing the importance of leveraging the information of the two graphs.
Machine Learning,Signal Processing
What problem does this paper attempt to address?
The problem that this paper attempts to solve is: **How to process and learn the mapping relationship between signals defined on two different graphs?** Specifically, most of the existing graph neural networks (GNNs) can only process data on a single graph, but in many practical application scenarios, data may involve multiple graphs. For example, in a recommendation system, user - user and item - item interactions can be represented by two different graphs respectively; in computational fluid dynamics, simulations on coarse and fine grids can also be represented by two different graphs. To solve this problem, the author proposes a new graph - based deep - learning architecture that can handle two sets of signals involved in the task, with each set of signals defined on a different graph. This architecture consists of three modules: 1. **GNN (Graph Neural Network) on the input graph**: First, use a GNN to process the signal on the input graph. 2. **Transformation function**: Then apply a transformation function to map the signal from the input graph to the output graph. This transformation can be carried out in the latent space. 3. **GNN on the output graph**: Finally, use another GNN to process the signal on the output graph. In addition, the paper also explores the application in the self - supervised learning (SSL) scenario, where the focus is not on the output space but on the representation in the latent space. By maximizing the correlation between the two graph signals in the latent space, a more informative data representation can be obtained and then used for downstream tasks. ### Formula summary 1. **Definitions of input and output signals**: - The input graph \( G_X \) has \( N_X \) nodes, and the input signal \( X\in\mathbb{R}^{N_X\times F_X} \), where \( F_X \) is the number of input features. - The output graph \( G_Y \) has \( N_Y \) nodes, and the output signal \( Y\in\mathbb{R}^{N_Y\times F_Y} \), where \( F_Y \) is the number of output features. 2. **Overall mapping function**: \[ \hat{Y}=\psi_Y^{\Theta_Y}\left(\psi_Z^{\Theta_Z}\left(\psi_X^{\Theta_X}(X|G_X)\right)|G_Y\right) \] where: - \( \psi_X^{\Theta_X}:\mathbb{R}^{N_X\times F_X}\to\mathbb{R}^{N_X\times F_{ZX}} \) is the GNN on the input graph. - \( \psi_Z^{\Theta_Z}:\mathbb{R}^{N_X\times F_{ZX}}\to\mathbb{R}^{N_Y\times F_{ZY}} \) is the transformation function. - \( \psi_Y^{\Theta_Y}:\mathbb{R}^{N_Y\times F_{ZY}}\to\mathbb{R}^{N_Y\times F_Y} \) is the GNN on the output graph. 3. **Training objective**: - In the fully - supervised setting, minimize the loss function: \[ \hat{\Theta}=\arg\min_{\Theta_X,\Theta_Z,\Theta_Y}\sum_{p = 1}^P L\left(Y_p,\hat{Y}_p\right) \] where \( \hat{Y}_p=\psi_Y^{\Theta_Y}\left(\psi_Z^{\Theta_Z}\left(\psi_X^{\Theta_X}(X_p|G_X)\right)|G_Y\right) \)