Geometric Deep Learning#
As mentioned previously, a graph is a structured data type that consists of 3 sets, namely, vertices/ nodes (entities that hold information), edges (connections between nodes that can also hold information) and a set representing relations between vertices and edges. Graph deep learning (GDL) is a subfield of machine learning that combines both graph theory and deep learning.
GDL = Graph Theory + Deep Learning
The objective of GDL is to build neural networks that can learn from non-Euclidean data or graphs. The following table summarizes the differences between Euclidean and Non-Euclidean data:
Aspects |
Euclidean Data |
Non-Euclidean Graph Data |
---|---|---|
Dimensionality |
1d data: numbers, text, speech 2d data: images or videos |
large dimensionality |
Data modality |
Unimodal |
Multimodal |
Structure |
Structured data |
Arbitrary structure |
Spatial locality |
yes |
no |
shift-invariance |
yes |
no |
ordinality or hierarchy |
yes |
No fixed node ordering or reference point |
the shortest path between 2 points |
a straight line |
is not necessarily a straight line |
Basic operations like dot products, norms & convolution |
Well-defined |
Not well defined |
Data storage |
Can be stored as a tensor |
cannot be easily stored as a tensor |
Convolutional Neural Networks (CNNs) can only operate on regular Euclidean data like image (2D grid) and text (1D sequence) and cannot deal with non-Euclidean data. In order to deal with this problem, graph structure needs to be encoded where nodes are encoded as low-dimensional vectors in latent space. The geometric relations in this latent space correspond to interactions (e.g. edges) in the original graph. Data-driven approaches are used to learn the node embeddings. These representation learning approaches consist of the following three main steps [11]:
Collect neighbors
Aggregate feature information from neighbors
Decode graph context and/or label using aggregated information
DeepWalk and node2vec are random walk-based methods for graph embedding based on representation learning. Graph Neural Network (GNN) [12] is commonly used to adapt existing machine learning technologies to directly process non-Euclidean structured data as input, so that this (possibly useful) information is not lost in transforming the data into a Euclidean input as required by existing techniques [13].