transforms and combines information from neighbouring pixels in an image 0 –1 0 –1 4 –1 0 –1 0 Convolution filter learned during training to extract higher level features e.g., edges
to decide: Message What get passed from one node to another Pooling / Aggregation How messages from all neighbours are combined Update How the node is updated given the pooled message Σ
invariant to node ordering and the number of nodes All take a variable number of inputs and provide an output that is the same, no matter the ordering 4 2 ? Function Node value Max 4 Mean 3 Sum 6
𝑖 + 𝐁𝒗" Training convolutional graph neural networks Feed the final node embeddings to a loss function Run an optimiser to train the weight parameters 𝐖 and 𝐁 are shared across all nodes
due to its connectivity Message, pool, and update functions are shared for all nodes Can increase number of nodes without increasing the number of parameters Can introduce new unseen node structures and just plug in the same matrices
only see other nodes 𝒕 convolutions away Multiple convolutions increases the “receptive field” of the nodes 0 2 3 4 1 𝒕 = 𝟏 𝒕 = 𝟑 𝒕 = 𝟐 Not seen by node 0
have edges too — can we learn something about edges from nodes? Edge embedding 𝑖 𝑗 𝒆"! 𝒎" = & !∈𝒩 " 𝑀% (𝒗" , 𝒗! , 𝒆"! ) 𝒗" & = 𝑈% (𝒗" , 𝒎" ) Update function stays the same
to treat edges in the pooling function Edge embeddings may have different dimensionality to node embeddings An option is to pool all edges and concatenate them at the end
for crystals and but we have extra design constraints Networks should be permutation and translation invariant Properties depend on atom types and coordinates not just connectivity
boundaries Include all atoms within a certain cut-off as neighbours 𝑟./0 Perform the procedure for each atom in the unit cell Nodes can share multiple edges to the same neighbour due to PBC
time graph convolutions were applied to crystals R Conv + ... L 1 hidden Pooling L 2 hidden Output Xie and Grossman Phys. Rev. Lett. 120, 145301 (2018)
the initial node and edge embeddings? Nodes The element type is one-hot encoded (dimension of 119) and passed through an MLP Edges The bond distance is projected onto a Gaussian basis (40 basis functions)
predictions, how are these generated from the final node embeddings? 𝒖4 = , "∈𝒢 𝒗 " (6) 𝒢 Final pooling of all nodes SLP readout num atoms 𝐸 = 𝜎 𝐖7 𝐮4 + 𝒃7
GNNs work by i) building a graph and ii) propagating information between neighbours using NNs • GNNs are scalable and can generalise well • There are many possibilities for designing GNNs