Equivariances & Graphical Neural Networks
Graphs! They’re everywhere
Three tasks visualized: here with nodes that carry features
Graphs can be static, varying, or even evolving with time
Regular structures vs graphs
Attributes
The attention score is measured by these softmax
The dot product here it ends up being 2x3 again
Adjacency matrix for undirected graphs
Weighted adjacency matrix
Graph representation for us
Applications of the Graph Laplacian
Applied Laplacian written out:
The shift operator, a special circulant matrix
As it turns out: circulant matrices commute
What this means: Translation equivariance > circulant matrices/convolutions
Maths: All circulant matrices have the same eigenvectors!
All circulant matrices have the same eigenvectors!
Circulant eigenvectors © Shift eigenvectors
But first: What are the eigenvectors of the shift operator
Computing a convolution in the frequency domain
Frequency representation:
Convolution theorem: x * w = ®- (A(w) - (®* - x))
If translation equivariance leads to CNNs, what else is there?
A large field: Group Equivariant Deep Learning
“I was lucky…
How research gets done part 6
From convolutions to spectral graph convolutions
Approach: Use Eigenvectors of Graph Laplacian to replace Fourier
In analogy to convolutions in frequency domain:
We now define spectral graph convolutions
Why the graph Laplacian*?
Spectral graph convolution
Some drawbacks of this variant
Easy to increase the field of view with powers of the Laplacian
Putting it together: stacking graph convolutions
. Quiz: What nronerties does this nolvnomial variant have? |
Some drawbacks of this variant now
What can we use from the spectral approach?
Graph Convolutional Networks (GCN)
Graph Convolutional Networks (GCN)
Other kind of aggregation: Graph Attention Networks (GAT)
Self-attention for graph convolutions
Message Passing Neural Network (MPNN)
PyTorch Geometric baseclass
Finally, a note about coarsening graphs