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 detracts from this ideal. Real data is messy, dirty, biased. Statistical methods and learning systems have limitations. An essential part of the practitioner’s job involves understanding these limitations, and bridging this gap to obtain a solution.
For a certain class of data, graphs, the gap has proven difficult to bridge. Graphs are a data type that is rich with information. Yet, they can also explode in size when we try to account for all this information. They are also ubiquitous, appearing in nature (molecules), society (social networks), technology (the internet), and everyday settings (roadmaps). In order to use this rich and ubiquitous data type for machine learning, we need a specialized form of neural network dedicated to work on graph data: this is the graph neural network or GNN.