Multigraph neural networks in Julia

bad_at_math
Fri, 29 Oct 2021 01:38:26 +0000
Machine Learning

GeometricFlux.jl (https://fluxml.ai/GeometricFlux.jl/dev/manual/conv/#Crystal-Graph-Convolutional-Network-1) and GraphNeuralNetworks.jl (Convolutional Layers · GraphNeuralNetworks.jl) both implement a layer based on the Crystal Graph Convolutional Neural Network (CGCNN)(Phys. Rev. Lett. 120, 145301 (2018) - Crystal Graph Convolutional Neural Networks for an Accurate and Interpretable Prediction of Material Properties).

The CGCNN architecture is usually defined over a multi-graph, where a pair of nodes might have multiple connecting edges, and each edge has a different encoding vector. Is this input datatype supported in current Julia graph network packages; or, failing that, is it easily implemented? Light searching has revealed a separate Multigraph.jl package (https://github.com/QuantumBFS/Multigraphs.jl) that is not (perhaps?) integrated into the general Graphs ecsystem.

It’s not obvious that the GNNGraph type (https://github.com/CarloLucibello/GraphNeuralNetworks.jl/blob/master/src/gnngraph.jl) in GraphNeuralNetworks.jl supports multigraphs, but I might be missing something obvious.

5 posts - 3 participants