图神经网络中的多关系图表示学习详解
1. 问题描述与背景
在传统图神经网络中,图的边通常只表示一种单一类型的关系(如“朋友”关系)。但在现实世界(如知识图谱、社交网络、生物网络)中,节点之间往往存在多种不同类型的关系(如“朋友”、“同事”、“亲属”)。这种包含多种关系类型的图称为多关系图(Multi-relational Graph)或异质图(Heterogeneous Graph)的一个核心子类。
核心问题:如何让图神经网络能够有效处理、区分并利用图中的多种关系类型,以学习到更丰富的节点表示?
2. 核心挑战
- 关系多样性:不同类型的关系具有不同的语义和强度,需要区别对待。
- 参数爆炸:如果为每种关系设计独立的、完全不共享参数的模型,参数量会随关系类型数量线性增长,导致过拟合和计算成本高。
- 信息融合:对于一个中心节点,来自不同类型关系的邻居信息如何有效聚合?
3. 核心思想与演进
多关系图表示学习的核心思想是:在消息传递框架中,将“关系类型”作为一个关键条件,来调节节点间信息传递和聚合的权重与方式。
其演进路径可以概括为:
基础GCN(忽略关系) → 关系特定参数化(R-GCN) → 更灵活的关系相关聚合机制。
4. 经典方法:R-GCN 原理详解
R-GCN(Relational Graph Convolutional Network)是多关系图处理的基础模型。它在标准GCN的消息传递框架上,为每种关系引入特定的、可学习的变换矩阵。
核心公式(对于节点 \(i\) 在第 \(l+1\) 层的表示 \(h_i^{(l+1)}\)):
\[h_i^{(l+1)} = \sigma \left( \sum_{r \in \mathcal{R}} \sum_{j \in \mathcal{N}_i^r} \frac{1}{c_{i, r}} W_r^{(l)} h_j^{(l)} + W_0^{(l)} h_i^{(l)} \right) \]
让我们一步步拆解:
- \(\mathcal{R}\): 图中所有关系类型的集合(例如,关系A、关系B、自环关系等)。
- \(r\): 其中一种特定的关系类型。
- \(\mathcal{N}_i^r\): 在关系 \(r\) 下,节点 \(i\) 的邻居节点集合。
- \(W_r^{(l)}\): 对应于关系 \(r\) 在第 \(l\) 层的可学习权重矩阵。这是R-GCN的核心!不同的关系拥有自己独立的变换矩阵,这使得模型能学习到该关系特有的信息转换模式。
- \(c_{i, r}\): 归一化常数,通常取 \(|\mathcal{N}_i^r|\),用于稳定训练,避免邻居数量多的节点占主导。
- \(W_0^{(l)} h_i^{(l)}\): 这是自连接项,类似于残差连接。它确保节点自身在上层的表示也能传递到下一层,保留自身特征,防止信息过度稀释。
- \(\sigma\): 非线性激活函数,如ReLU。
工作流程:
- 关系特定消息生成:对于节点 \(i\) 的每一个邻居 \(j\),根据它们之间的关系类型 \(r\),使用对应的权重矩阵 \(W_r\) 对邻居的表示 \(h_j\) 进行线性变换,生成一条“关系特定的”消息:\(m_{j \rightarrow i, r} = W_r h_j\)。
- 关系内聚合:对于同一种关系 \(r\),将来自该关系下所有邻居的消息进行求和(或平均)聚合:\(a_{i, r} = \sum_{j \in \mathcal{N}_i^r} m_{j \rightarrow i, r} / c_{i, r}\)。
- 跨关系聚合:将节点 \(i\) 在所有不同关系下得到的聚合信息 \(a_{i, r}\) 以及自身的表示 \(W_0 h_i\) 全部相加。
- 非线性激活:对加和结果应用激活函数,得到节点 \(i\) 新的表示。
5. R-GCN的优化与挑战
问题:如果关系类型非常多(成百上千),那么 \(W_r\) 的数量也会非常多,导致严重的参数爆炸和过拟合风险。
解决方案:参数共享与分解。
- 基础分解:将 \(W_r\) 分解为两个低秩矩阵的和:\(W_r = B_0 + B_r\)。其中 \(B_0\) 是所有关系共享的基础变换,\(B_r\) 是关系 \(r\) 特有的、低维度的调整矩阵。这减少了独立参数。
- 块对角分解:将 \(W_r\) 约束为块对角矩阵的形式。这相当于将特征维度分组,每组特征只受一部分特定参数控制,减少了不同特征组之间的交互参数,能提高计算效率并起到正则化作用。
- 向量分解:将 \(W_r\) 表示为多个基础变换的线性组合:\(W_r = \sum_{b=1}^{B} a_{rb} V_b\)。其中 \(V_b\) 是所有关系共享的一组基础矩阵,而 \(a_{rb}\) 是关系 \(r\) 特有的组合系数。这是最常用、最有效的正则化方法,能极大压缩参数量。
6. 更先进的思路:关系注意力与自适应结构
R-GCN为每种关系预设了固定的、独立的权重矩阵,这可能不够灵活。后续研究提出了更精细的机制:
-
关系感知的注意力机制:
- 思路:不预设固定的 \(W_r\),而是让节点在聚合时,动态计算与不同关系下邻居的注意力权重。
- 例如,可以设计一个关系特定的注意力函数,计算节点对 \((i, j)\) 在关系 \(r\) 下的注意力系数 \(\alpha_{ij}^r\)。聚合时,使用加权和而不是简单的平均。
- 公式示意:\(h_i’ = \sigma(\sum_{r \in \mathcal{R}} \sum_{j \in \mathcal{N}_i^r} \alpha_{ij}^r W_r h_j)\),其中 \(\alpha_{ij}^r\) 由节点 \(i, j\) 的表示和关系 \(r\) 的嵌入共同计算得出。
- 优点:能捕捉同一关系下不同邻居的重要性差异,以及跨关系的相对重要性。
-
自适应关系发现:
- 在多关系图中,有时显式给定的关系类型可能不完整或过于粗糙。
- 高级模型(如GATv2、Transformer-based GNNs)可以不依赖预定义的关系类型,而是直接从节点特征和初始图中,通过注意力机制学习出“潜在”的关系强度或类型。这相当于让模型自动发现节点间最有效的交互模式。
7. 总结与应用
- 核心:多关系图表示学习通过关系特定的参数化(如R-GCN)或关系感知的动态加权(如关系注意力),在消息传递中显式地建模不同关系的差异性。
- 关键技术:为缓解参数爆炸,广泛采用权重分解(如基础矩阵线性组合)进行正则化。
- 应用场景:知识图谱补全(链接预测)、多关系社交网络分析、生物多关系相互作用网络(药物-蛋白质-疾病)等任何涉及多种交互类型的图数据任务。
通过这种学习方式,模型能够产出更精准、信息量更丰富的节点表示,从而在下游任务(如节点分类、链接预测、图分类)中取得更优性能。