WtaoZhao / GraphGLOW

PyTorch implementation of GraphGLOW: Universal and Generalizable Structure Learning for Graph Neural Networks
35 stars 0 forks source link

Intuition of training approach #2

Closed AmosDinh closed 7 months ago

AmosDinh commented 7 months ago

Hello, I find GraphGLOW to be an interesting idea, thank you for providing the code as well! I have multiple questions regarding the approach, which I think are not explained explicitly in the paper.

  1. In the inner training loop, what is the intuition behind using the output node representations of the GNN in the last step "Z^(t-1)" for getting the new Adjacency Matrix gamma, instead of always using the representations which are calculated by the initial GCN/MLP?

  2. What is the intuition behind the condition which breaks the inner training loop (in the code)? I think it is something like Frobenius(Gamma^t - Gamma^(t-1))^2 / Frobenius(Gamma^t)^2 < const?

  3. If I read the code correctly: Why do you use the same first GCN layer of the feedforward network to also calculate initial node representations for the structure learner, instead of a different GCN?

PS: Is there a reason for row-normalizing, instead of column-normalizing the node features in the Facebook graphs?

Thank you

WtaoZhao commented 7 months ago

Hi, thanks for your interest in GraphGLOW. In response to your questions:

  1. Initial node representations may not be optimal for learning graph structures due to factors such as noise in data collection and graph heterophily. Learned node representations can significantly enhance structure learning.

  2. We terminate the loop when the learned graph structure converges.

  3. This remains an open question with numerous possible solutions. Initially, it seems promising to employ an additional MLP or GCN layer for learning initial node representations. However, we discovered that utilizing the first layer of the trained GCN is more efficient and yields equally competitive performance.

  4. Row normalization is more commonly used, as seen in datasets like Cora, CiteSeer, and PubMed. We have simply opted for this widely employed normalization method.

AmosDinh commented 7 months ago

Hello, I appreciate the quick response. This has helped me a lot. Thank you