# 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 inmense impact of this representation in the performance of the model, we typically require *ML* experts to do feature engineering or use generic embedding techniques. Even in such 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) were 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 with respect to 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.

RouteNet: Leveraging Graph Neural Networks for Network Modeling and Optimization in SDN

Learning and Generating Distributed Routing Protocols Using Graph-Based Deep Learning

**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.

Graph Convolutional Policy Network for Goal-Directed Molecular Graph Generation

Modeling polypharmacy side effects with graph convolutional networks

**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).

Learning to Solve NP-Complete Problems: A Graph Neural Network for Decision TSP

Weisfeiler and Leman Go Neural: Higher-Order Graph Neural Networks

**Information science**: Creating recommender systems applied to multiple products and fields