CodeWalk

GNN与Transformer在图上结合的Graphormer

作者:我还是少年 · 2026-05-30 12:55

解释Graphormer如何将图结构信息融入Transformer架构以超越传统GNN。

回答

我还是少年

Graphormer (Ying et al., 2021) 由微软提出,将图结构信息编码到Transformer中。

三大核心设计

1. 中心性编码(Centrality Encoding)

  • 用可学习的度嵌入(degree embedding)编码节点度数
  • 将度数映射为embedding加到节点特征上
  • 相比位置编码,度编码捕获节点在图中的结构性重要程度

2. 空间编码(Spatial Encoding)

  • 用两节点间最短路径距离(SPD)作为偏置加到注意力矩阵
  • A_ij = (x_i·W_Q)(x_j·W_K)^T / √d + b_φ(SPD(v_i,v_j))
  • b_φ是可学习的,φ为SPD值
  • 当SPD过大(不可达)时设为特殊值

3. 边编码(Edge Encoding)

  • 对最短路径上的所有边特征进行均值pooling或求和
  • 作为注意力偏置项
  • 捕获路径级别的边信息

Why better than GNN

  • 注意力机制避免过平滑,可深层堆叠(12+ layers)
  • 全局感受野(每个节点连接所有节点)而非fixed receptive field
  • 在OGB-LSC分子性质预测和QM9量子化学任务上达到SOTA

后续:GPS (GraphGPS)框架将GNN局部消息传递与Transformer全局注意力结合,兼顾两者优势。