A conceptual question about GNN

Hello DGL!

I’m asking another quick question coming out of personal curiosity. Suppose I’m conducting a link prediction under the following two scenarios:

case 1. node features - an n-dim zero vector for all nodes, edge features - none
case 2. node features - an n-dim zero vector for all nodes, edge features - a single feature(i.e., a column vector) assumed to help prediction.

Essentially, case 2 should outperform case 1. But my question is how case 1 can make some performance without any information but graph structure? Is it just because some learnable weights inside the model are adjusted through backpropagation in training?

Thanks!

It’s complicated. More specifically, it depends on your architecture, including how you transform node features and how you aggregate messages.

If your GNN module’s linear projection includes a bias term, then after the first message passing step, the node features essentially will become something related to node degree. Then the performance will depend on how you aggregate messages. If your aggregation is as simple as mean (e.g. GraphSAGE), then probably the model will always output the same value regardless of the actual nodes since the biases are averaged. If your aggregation is sum or weighted sum (e.g. GIN, GCN or GAT) then the model will probably do better since it can distinguish nodes with different degrees.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.