Page 244 - 《软件学报》2026年第2期
P. 244
于朋健 等: 面向节点分类的多层异质图神经网络 723
1 l ∑ 1 l ∑
(i)
(i)
类似地, 可以获得替代品关系表征 H S = H = A S ∗X∗W . 最后将互补品关系表征矩阵 H C 和替代品
s
s
l l
i=1 i=1
关系表征矩阵 H S 进行串联, 得到融合后的节点表征 H SC = Concat(H S ,H C ).
3.4 对比学习
对比学习在各种图学习任务中展示了其优越性.受此启发, 本文使用对比学习协调局部和全局两个视图中学
习到的差异性特征和相似性特征, 来增强模型的表征学习能力, 从而最大限度地提高跨不同视图学习的节点表示
的一致性, 捕获节点之间的复杂关系, 从而得到更有效的节点嵌入, 提高节点分类任务的效果.
对比学习模块中, 在不同视图中将相同节点的表征视为正样本对, 不同节点的表征视为负样本对. 对差异性和
相似性视图节点表征 H UV 和 H SC 使用 InfoNCE [42] 得到下面的跨视图对比损失:
exp s H UV,i ,H SC,i /τ
∑ ( ( ) )
L cl = − log∑ (13)
( ( ) )
exp s H UV,j ,H SC,j /τ
i∈V
j∈V
其中, H UV,i 和 H SC,i 表示第 i 个节点的差异性节点表征和相似性节点表征; s(·,·) 表示余弦相似度函数; τ 是可调节的
温度系数超参数, 用于调整 Softmax 的尺度. 对比学习使得局部和全局两个视图相互协作监督, 从而增强节点表征
H ∈ R N×d :
学习. 最后, 模型聚合多关系局部信息和高阶全局语义信息, 通过平均池化操作获得最终的节点表示
1
H = (H UV +H SC ) (14)
2
这种加权方法能简单有效地平衡不同关系的重要性, 增强模型对节点特征的表达能力, 同时保持对全局语义
信息的敏感性, 从而使节点表示更具鲁棒性.
3.5 模型学习
根据节点分类任务的特点和要求, 本文采用半监督的学习范式来训练 MHGNN, 使用反向传播和梯度下降通
过最小化交叉熵损失来优化模型参数.
∑
L nc = − Y i ×ln(C×H i ) (15)
i∈V ids
i
其中, V ids 是具有标签的节点索引集, Y i 是第 个节点的标签, C 是节点分类器参数. 模型在标签信息的指引下基于
反向传播和梯度下降训练模型中的参数, 最终得到网络中的节点表征并预测节点标签.
最后, 将半监督学习损失与对比学习损失相结合, 共同优化模型:
(16)
L = L nc +γ×L cl
其中, γ 是用于调整对比学习重要性的超参数. MHGNN 框架的具体算法如算法 1 所示.
算法 1. MHGNN 框架.
输入: 图 G, 特征矩阵 X, 嵌入维度 d, 卷积层数 l;
输出: 节点嵌入 H. /*用于下游的节点分类任务*/
1. 将属性多层异质网络解耦为同质网络和二部网络, 得到邻接矩阵 {A r |r = 1,2,...,|R|}
(l)
(l)
2. 学习各个子图下的节点表征: H = σ( ˆ A r ∗H (l−1) ∗W )
r r r
( )
l
V
3. H r = f H ( H r 由用户嵌入矩阵 H U 和商品嵌入矩阵 H 组成) /* f 表示串联操作*/
r r r
4. 使用公式 (4) 计算语义融合系数 a r
u
5. for i = 1 to l do
6. 使用公式 (5)、公式 (6) 分别计算 h (l) 和 h (l)
u v
7. end for
(l)
(l)
8. H UV = f(h ,h ) /*串联操作*/
u v

