The work I've seen so far have the nodes containing features. Any resources for how to use a GCN on a graph where the edges are the ones that contain features rather than the nodes?
-
$\begingroup$ one practice ive seen used is to define a new graph where each edge in the previous is a node and connection are determined by if there was a vertex between two edges. This is an invertible process $\endgroup$– mshlisCommented Aug 7, 2019 at 11:38
-
$\begingroup$ @mshlis Where did you see this? Maybe you could also provide your answer! $\endgroup$– nbroCommented Aug 7, 2019 at 19:46
-
$\begingroup$ @nbro i saw it used on at a project at my work and turns out it only works for DAGs with a couple of additional assumptions about the graph/task. so my comment isnt general enough. i.e. was probably a mishap of me messaging on something I wasn't too familiar with $\endgroup$– mshlisCommented Aug 8, 2019 at 1:02
1 Answer
In the paper Neural Message Passing for Quantum Chemistry (2017), the authors (from Google, Google Brain and Google DeepMind) introduce a framework called message passing neural network (MPNN), which generalizes previously proposed geometric deep learning models. In section 2 of the paper, they describe this MPNN framework and they state that edge features can also be learned, using the MPNN framework, by introducing hidden states for all edges in the graph, $\mathbf{h}_{e_{vw}}^t$, where $t$ is the iteration number and $e_{vw}$ is the edge from node $v$ to node $w$.
See also the paper Machine learning prediction errors better than DFT accuracy, which is cited in the MPNN paper as an example where the authors also learn the edge features. In section 2 of the MPNN paper, they briefly describe this specific instantiation of the MPNN framework, called the Molecular Graph Convolutions.