# Why the non-exploitation of edge labels in current graph convolutions "results in an overly homogeneous view of local graph neighborhoods"?

I am currently reading a paper called Dynamic Edge-Conditioned Filters in Convolutional Neural Networks on Graphs (2017, CPPR), and I cannot understand the following sentence:

We identify that the current formulations of graph convolution do not exploit edge labels, which results in an overly homogeneous view of local graph neighborhoods, with an effect similar to enforcing rotational invariance of filters in regular convolutions on images.

What does this sentence mean?

## 1 Answer

Consider a two-dimensional convolution layer with 3x3 kernels. The 2d inputs of this layer can be seen as a particular graph with each pixel being a graph node, that is connected to 8 of his neighbors:

The 3x3 kernels of the convolutional layer not only process the information about neighborhood relation between pixels, but also about their relative orientation. For example the [0,0] element of the kernel might represent the weight of the node to NW. And the [1,2] element of the kernel represent the weight the node across the S edge:

Now, if we make a convolution that "doesn't exploit edge labels" then we'll have to forget the labels on the picture above, making us loose directional information:

All we can say now is that the "red" node has those neighbors, but we don't really know how they are oriented relative to it. Since now the sub-graph does not provide any directional information, the learned convolution kernels will be direction-agnostic - in other words, they will be rotation-invariant.

• This answer is interesting but it's not fully clear to me. When you say "The 3x3 kernels of the convolutional layer not only process the information about neighborhood relation between pixels, but also about their relative orientation", are you talking about the regular convolutional layer of a CNN or a graph CNN? Because, if you're talking about CNNs, I don't see how the multiplication of the kernel by that specific subwindow of the 2d input keeps track of the relative positions (i.e. it's just a dot product).
– nbro
May 20 at 23:55
• Maybe you mean the application of the whole kernel across all subwindows of the input (i.e. the convolution/cross-correlation)? That would make more sense to me. But, from your example that you continue below, it doesn't seem that's what you mean. In any case, although it's been a while I had to deal with graph CNNs, your interpretation of the potential utility of including edge labelling info in the graph convolution seems reasonable to me, although maybe it's important to note that the edges do not necessarily represent directions (I guess).
– nbro
May 20 at 23:57
• Although maybe it's clear to you, I think you should also explicitly state where the translation invariance comes into play in your answer and explanations, and how it relates to the regular graph convolution.
– nbro
May 21 at 0:01