Is SAGEConv really "the GraphSAGE operator"? #2190
andrei-rusu
started this conversation in
General
Replies: 1 comment
-
We currently provide To me, central part of |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I had a look over the implementation of SAGEConv and it really doesn't look like operators from the GraphSAGE paper.
GraphSAGE proposes the concatenation of neighborhood embedding aggregations with the node embeddings. The most similar algorithm to SAGEConv in that paper (i.e. with a mean aggregator) also seems to have a different form: mean over both the neighborhood and the current node embedding, the result of this operation being ultimately fed to a transformation W.
SAGEConv, on the other hand, mean-aggregates the neighborhoods, then feeds both the latter and the node's embedding through different linear layers before finally summing them up. There also seems to be no easy way to modify the aggregation operator or the concatenation behavior (central themes in GraphSAGE) except for creating an entirely new MessagePassing subclass.
In light of these aspects, shouldn't SAGEConv documentation at least explain the differences to the actual paper? Given this is also a model of reference, I believe an implementation that more closely resembles it should be included in a graph learning framework.
Beta Was this translation helpful? Give feedback.
All reactions