-
After taking a deep look at the source code of GATConv and GATv2Conv, although the difference between them is limited, I have a common concern to the implementation of these two conv layers. Original ideasPaper 1From the original paper of GATConv, "GRAPH ATTENTION NETWORKS" by Velickovic et al. We can see that double vertical lines denote for "Concatenation". Paper 2From the original paper of GATv2Conv, "HOW ATTENTIVE ARE GRAPH ATTENTION NETWORKS?" by Brody et al. We can see that they means "Concatenation" as well. ImplementationPaper 1In the code of GATConv,
Paper 2In the code of GATv2Conv,
QuestionsSo in essence, both of the methods replace the concatenation with the addition. Mathematically, these two operations are not equivalent. Could you guys give me more information about the correctness and precision behind this? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
|
Beta Was this translation helpful? Give feedback.
a.[k||h] = a.k + a.h
. The implementation is using this equivalence to convert concatentation and then dot product TO dot product and addition.So the formula from the paper and the code in pyg achieve the same thing.