Graph Transformer Networks(GTN,图变换网络)是一种用于图结构数据的深度学习模型,由 Seongjun Yun等人于 2019 年在论文《Graph Transformer Networks》中提出。GTN 的主要创新在于:在多种关系的异构图(heterogeneous graph)中,自动学习“元路径”(meta-path)组合方式,构造新的图结构用于下游任务(如节点分类),而非手工设计固定的路径。
📌 一、GTN 提出背景
在异构图中,存在不同类型的节点和边,例如:
学生(Student)、课程(Course)、教师(Teacher)之间的图:
学生-选修-课程,课程-由-教师授课等。
传统方法如元路径(meta-path)需要人工设计如:
Student-Course-Student(选修同一课程的学生)
这种方法虽然有效,但严重依赖领域知识与先验假设,可扩展性差。
GTN 的目标是:自动学习“路径”组合与构图方式。
📌 二、GTN 核心思想
GTN 使用可学习的“软”图变换操作,将原始多种关系的图,组合生成新的邻接矩阵,从而获得有意义的“语义路径”,最终在新的图上进行图卷积。
🧠 三、GTN 网络结构
1. 输入数据
原始异构图,包含 K种边类型(不同关系)
节点特征矩阵 X
2. 可学习图转换(Graph Transformer Layer)
通过可学习的边类型组合,构造新的邻接矩阵 A。关键在于:
每种边类型 A_i 是一个邻接矩阵;
GTN 构造可微分的图乘法链条,如:
A′=Ai1⋅Ai2⋅⋯⋅Aik
使用 $1 \times 1$ 卷积对 $A_i$ 加权求和,形成soft selection(而非硬选择固定路径)。
3. 图卷积(GCN Layer)
在新构造的图上进行图卷积操作,对节点进行信息聚合。
🔧 四、GTN 模型流程简图
graph TD
A[多关系邻接矩阵 A_1, A_2, ..., A_K]
B[图转换层 Graph Transformer Layer]
C[新构造图 A']
D[图卷积层 GCN]
E[分类/表示学习]
A --> B --> C --> D --> E
📐 五、GTN 的数学表示(简化)
给定多关系邻接矩阵 $A_1, ..., A_K$,定义变换路径:
A′=Ai1⋅Ai2⋅⋯⋅Aik每一步用可学习的卷积核 $\Theta$ 权重化选择:
图卷积:
📌 六、GTN 的特点
特性 | 描述 |
---|---|
✅ 自动学习 | 无需人工定义元路径,完全端到端学习 |
✅ 多关系建模 | 适用于异构图、多跳关系建模 |
✅ 可解释性 | 输出的路径权重可以解释哪些关系重要 |
❗ 计算成本 | 多跳路径构造和矩阵乘法带来一定计算开销 |
📚 七、GTN 与 GAT / GCN 的区别
模型 | 是否支持异构图 | 是否自动构造路径 | 信息聚合机制 |
---|---|---|---|
GCN | ❌ 单一关系图 | ❌ 固定邻居 | 均值聚合 |
GAT | ❌ 单一关系图 | ❌ 固定邻居 | 注意力加权 |
GTN | ✅ 支持异构图 | ✅ 自动学习路径 | 在新图上GCN聚合 |
🧪 八、典型应用
异构图节点分类(如学术网络、推荐系统)
多关系知识图谱学习
图表示学习(graph embedding)