GNN与Transformer在图上结合的Graphormer
解释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全局注意力结合,兼顾两者优势。