chapter one

1 Discovering Graph Neural Networks

 

This chapter covers

  • Defining Graphs and Graph Neural Networks (GNNs)
  • Understanding why people are excited about GNNs
  • Recognising when to use GNN
  • A big picture look at solving a problem with a GNN

For data practitioners, the fields of machine learning and data science initially excite us because of the potential to draw non-intuitive and useful insights from data. In particular, the insights from machine learning and deep learning promise to enhance our understanding of the world. For the working engineer, these tools promise to deliver business value in unprecedented ways.

Experience deviates from this ideal. Real-world data is usually messy, dirty and biased. Furthermore, statistical methods and learning systems come with their own set of limitations. An essential role of the practitioner is to comprehend these limitations and bridge the gap between real data and a feasible solution. For example, we may want to predict fraudulent activity in a bank but we first need to make sure that our training data has been correctly labeled. Even more importantly, we will need to check that our models won't incorrectly assign fraudulent activity to normal behaviors, possibly due to some hidden confounders in the data.

1.1 Graph-based learning

1.1.1 What are graphs?

1.1.2 Different types of graphs

1.1.3 Graph-based learning

1.1.4 What is a GNN?

1.1.5 Differences between tabular and graph data

1.2 GNN applications: Case studies

1.2.1 Recommendation engines

1.2.2 Drug discovery and molecular science

1.2.3 Mechanical reasoning

1.3 When to use a GNN?

1.3.1 Data modeled as a graph

1.3.2 Incorporation of node and edge features

1.3.3 A graph-specific prediction task is involved

1.4 Understanding how GNNs operate

1.4.1 Mental model for GNN development

1.4.2 Unique mechanisms of a GNN model

1.4.3 Message passing

1.5 Under the hood

1.6 Summary

1.7 References and further reading