Question about SAGE unsupervised learning without node features

I’m reading the graph sage example code and I want to know how to generate embeddings for nodes without raw features.

I have a graph where the nodes doesn’t have any raw features, so I just randomly init embedding vectors for each node as their feature vector. Then the SAGE model is trained upon the graph with those random inited node vectors in the unsupervised way. Here are some points I want to confirm:

  • Is this inductive unsupervised embedding training way correct?
  • If this way is correct, since the node embeddings is not updated by the model, do we have to run the model to inference upon the training graph to get each node’s final embedding? I found this in the graph sage paper section 3.2 and I think we have to do this inference step.

the representations z_u that we feed into this loss function are generated from the features contained within a node’s local neighborhood, rather than training a unique embedding for each node (via an embedding look-up).

Thanks!

  • I think this is a transductive setting rather than an inductive setting as you need to know all the nodes in advance.
  • The approach seems to be correct by itself.
  • Do you plan to use learnable initial node embeddings?
  • For the final prediction, you need to inference upon the training graph to get each node’s final embedding.

Do you plan to use learnable initial node embeddings?

I think learnable initial node embeddings is more suitable for my task. So the way of doing that is to store the trainable embedding lookup table in the model, and use node ID feature to get the embedding before the conv steps? I would like to have a try and compare with the non-trainable embedding one.

So the way of doing that is to store the trainable embedding lookup table in the model, and use node ID feature to get the embedding before the conv steps?

Right.

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