Motivation on GNNs
Graphs are an essential data type that enables the representation of information that is relational in a properly structured manner. In this context, GNN has recently emerged as an efficient Neural Network (NN) technique with outstanding applications in many different fields where data is fundamentally represented as graphs. Before GNNs, a common approach to address graph-based problems was to use conventional NN (e.g., fully-connected NN) which were fed with plain representations of the graph that attempted to preserve its most meaningful information. Due to the immense impact of this representation on the performance of the model, we typically require ML experts to do feature engineering or use generic embedding techniques. Even in such a scenario, however, we still, end up with a model that works as well as the relevance of the features we handcrafted, which can be a cumbersome task in complex scenarios.
In this context, Graph Neural Networks (GNNs) was recently proposed as a novel NN family specifically designed to process, understand, and model graph-structured data autonomously. Similar to the way Convolutional NNs process images, GNNs process input graphs in raw format, without any pre-processing. Thus, during training, GNNs learn how to process graphs according to the problem goals (e.g., predict a particular global metric of the graph). Moreover, GNNs are invariant to node and edge permutations, and offer strong relational inductive bias over graphs. This endows them with powerful capabilities to generalize to other graphs of different sizes and structures not seen during the training phase. As a result, we have witnessed a plethora of applications where GNN has shown unprecedented generalization properties over graphs concerning previous NN architectures. Below we provide several use-cases of different fields which are solved through the use of Graph Neural Networks:
Networking: Modeling the performance of networks, optimizing the routing, or scheduling jobs in data centers.
Chemistry and biology: Predicting complex molecular properties, drug side effects, protein-protein interactions, or generating personalized medication recommendations and novel compounds with some desired properties.
Physics: Modeling interactions between particles in complex systems, or reconstructing particle tracks in high-energy particle accelerators.
Mathematics: Solving complex graph-based problems like graph clustering, or combinatorial optimization (e.g., TSP).
Information science: Creating recommender systems applied to multiple products and fields