Page 187 - 《软件学报》2026年第1期
P. 187
184 软件学报 2026 年第 37 卷第 1 期
ˆ
图视角
原始图 X i ˆ 编码器 Z i ˆ
对比损
X i ˆ 参数共享
图视角 失函数
编码器 ˆ
ˆ
X i Z i
图数据增强 图神经网络编码 对比训练
图 2 图对比学习基本流程示意图
2.1 图数据增强阶段
我们使用 V 表示节点集, E 表示边集, X 表示节点属性矩阵. 给定输入图 G = (V,E,X) 和超参数 ˆ θ、 ˇ θ, 图数据
增强阶段可形式化表示为:
( ) ( )
ˆ
ˇ
G = Aug G, ˆ θ , G = Aug G, ˇ θ (1)
其中, Aug(·) 表示某种图数据增强方法, 例如属性掩码或边删除等. 以属性掩码为例, 若超参数 ˆ θ = 0.3, ˇ θ = 0.4, 这
ˆ
ˇ
代表在图数据增强时, 相比于原始图 G, 图视角 G、G 中分别有 30% 和 40% 的属性被掩盖为 0. 再以边删除为例,
ˆ
ˇ
若超参数 ˆ θ = 0.1, ˇ θ = 0.2, 这代表在图数据增强时, 相比于原始图 G, 图视角 G、G 中分别有 10% 和 20% 的边被删
除. 图数据增强阶段对于整个图对比学习具有非常重要的作用, 它定义了两个待学习的目标图数据是什么. 此外,
也有一些图对比学习方法生成 3 个或以上新的图视角, 然而它们所使用的图数据增强方法和公式 (1) 并无明显区
别, 因此这里不过多介绍. 不同的图数据增强策略所导致的图视角之间的差异性也不尽相同, 所以针对不同任务合
理选择有效的图数据增强策略是一个十分关键的问题.
2.2 图神经网络 (GNN) 编码阶段
( ) ( )
ˇ
ˆ
ˇ
ˆ
ˇ
ˆ
在获取到图视角 G = V,E, ˆ X , G = V,E, ˇ X 后 ( ˆ X、 ˇ X 分别表示 G、G 上的节点属性矩阵), 图神经网络编码
ˆ ˇ G、G 上
ˇ
ˆ
阶段就是使用同一个图神经网络模型对它们进行编码, 进而得到 G、G 上的节点嵌入表征. 令 ˆ A、 ˇ A 分别为
的邻接矩阵, ˆ A norm 、 ˇ A norm 分别为 ˆ A、 ˇ A 的标准化矩阵, 以双层的图卷积网络模型 GCN 为例, 该过程可以形式化表示为:
( ) ( )
ˆ ˇ
ˆ Z = ˆ A norm σ ˆ A norm XW 1 W 2 , ˇ Z = ˇ A norm σ ˇ A norm XW 1 W 2 (2)
其中, W 1 、 W 2 表示第 1、2 层 GCN 的神经网络权重矩阵, σ(·) 表示激活函数 (例如 Sigmoid 函数). 由于两个通道
( ) ( )
上使用了同一个 GCN 模型, 而输入的图信息 ˆ A, ˆ X 、 ˇ A, ˇ X 并不相同, 因此每一层 GCN 的输出结果也不相同, 故
ˆ Z、 ˇ Z 也必然不同. 与经典的半监督图深度学习模型
所得到的节点嵌入表征 GCN 不同的是, 这里的 GCN 模型仅
仅用来生成节点嵌入表征, 并不会根据图中的半监督信息对未知标签节点进行预测.
2.3 对比损失训练阶段
ˆ Z、 ˇ Z 并不相同, 也就意味着两个图视角下的节点表征存在差异, 这为图对比学习的第 个阶段 (即对比损失
3
训练阶段) 提供了必要条件. 常用的对比损失目标有很多, 其中最经典的是信息噪声对比估计 (information
noise contrastive estimation, InfoNCE) 损失. 对比损失目标旨在最大化不同视角下相同节点的表征相似度, 同时最
小化不同节点的表征相似度. 对比损失目标的形式化表示如下:
∑ ( ) ∑ ( ) ( ) ( )
L = −Sim ˆ Z i , ˇ Z i + Sim ˆ Z i , ˇ Z j +Sim ˆ Z i , ˆ Z j +Sim ˇ Z i , ˇ Z j (3)
i∈V i,j∈V,i,j
其中, Sim(·,·) 表示两个嵌入表征之间的相似度值. 观察公式 (3) 可以看到, 同一节点的嵌入表征相似度计算只需计
算 1 对表征间的结果, 而不同节点的嵌入表征相似度计算则需要计算 3 对表征间的结果. 在某些图对比学习算法
中, 为了降低模型计算的复杂度, 不同节点的嵌入表征之间的相似度计算最终可简化为仅计算 1–2 对嵌入之间的
相似度. 也有一些图对比损失函数的设计采用的是最小化不同图视图中同一节点嵌入表征的距离, 并同时最大化

