Abstract
Graphs, which can represent patterns along their relationships, are used in several application domains, including, f.i., bioinformatics, physics, chemistry, and social network analysis. Graph Neural Networks (GNNs) are a large class of machine learning models designed to be directly employed on graph data without any preprocessing. This course aims to present modern GNN models, along with the related theory, some applications and the perspective. First, we will introduce the main concepts behind machine learning for graphs and most common models based on neural networks, f.i., GCNs, GraphSAGE, GAT. Moreover, main theoretical results, which describe the expressive power and generalization capability of GNNs, will be presented. Later, we will examine more advanced models and we will examine the basic building modules that are used to design the recent architectures. A particular focus will be dedicated graph generation based on GNNs. Some applications will also be discussed in order to clarify the possible uses of GNNs.