Page 394 - 《软件学报》2025年第5期
P. 394
2294 软件学报 2025 年第 36 卷第 5 期
传统 GNN 模型的表示学习框架如公式 (7) 所示:
( ( ))
(l)
h = UPDATE h (l−1) ,AGG h (l−1) : u ∈ N(v) (7)
u
v
v
公式 (7) 所示的节点表示学习过程中, 首先通过 AGG(·) 聚合邻域信息 (具体操作如, 求和、取均值、最大池
UPDATE(·) 将邻域信息与上一层自身表示结合得到新的节点表示 (例如线性组合层). 本节将结合恶
化等), 再通过
意节点检测任务场景中的问题, 对 AGG(·) 和 UPDATE(·) 进行改进.
3.4.1 自适应邻域聚合
AGG(·) 进行改进. 具体来说使用第 3.3 节中得到的类别感知注
为了学习到有区分度的节点表示向量, 本节对
意力系数 α vu 来指导信息聚合过程, 计算如公式 (8) 所示:
( ) ∑ ( )
AGG h (l−1) = λ att α vu +λ adj h (l−1) (8)
u u
u∈N(v)
v
其中, N(v) 表示邻居节点的集合, h (l−1) 表示邻居节点在 l−1 层的表示向量. α vu 为类别感知注意力系数, 节点 和
u
u 的类型相似度越高, α vu 越大, 反之越小. 考虑到直接使用 α vu 作为聚合权重可能会损失原本的图结构信息, 为了
[0,1] , 前者越大
更灵活地调和注意力系数与原始邻接关系的比例, 此处引入两个超参 λ att 与 λ adj , 二者取值范围为
则类别感知注意力系数对于聚合过程的贡献越大, 而后者越大则原始图结构信息在聚合过程中所做的贡献越大.
通过这种方式, 在聚合邻域信息时, 可以减少类型相似度低的邻域节点信息聚合, 同时多聚合类型相似度高的
邻域节点信息, 从而让每个节点更准确地聚合到自身所需要的信息, 提高学习到的节点表示的区分度.
3.4.2 高阶邻域信息获取
本节的主要目的是使不一致图神经网络编码器在进行表示学习时, 可以为节点编码更丰富的邻域信息. 研究
表明 [16,17] , 传统的图神经网络卷积层常聚焦于一个中心节点的局部性, 这种机制对于节点与邻居类型大多相同的
情况很有效, 而对本文中数据不一致的情况反而会带来负面影响. 而每次聚合更高阶的邻居信息会减少这种影响,
对于大部分邻居节点与自身类型不同的情况, 获取全局信息而非仅获取局部信息会提升模型效果. 此外, 也有研究
表明 [8] , 对于恶意节点检测问题, 恶意节点会表现出高度的结构相似性, 但可能彼此相距较远. 较直观的一个解释
是, 平台中的恶意用户通常是有组织有预谋的黑色产业, 因此他们会避免直接产生联系, 但每个恶意用户的行为模
式都较为相似. 鉴于此, 本节进一步对 AGG(·) 改进, 在进行聚合操作时, 将获取信息的范围从局部拓展到非局部,
以尝试从全局信息中挖掘恶意节点的共性.
具体来说, 每次对两跳的邻居信息分别进行上一节的自适应邻域信息聚合操作, 为了避免混合不同范围的邻
域信息, 将两跳邻居信息以拼接的方式进行组合, 作为第 l 层的邻域信息, 具体如公式 (9) 所示:
( ) ( ) ( )
AGG h (l−1) = AGG h (l−1) : u 1 ∈ N 1 (v) ∥ AGG h (l−1) : u 2 ∈ N 2 (v) (9)
u u 1 u 2
∥
其中, N 1 (v) 为节点 v 的一阶邻居集合, N 2 (v) 为节点 v 的两阶邻居集合, 代表拼接操作.
3.4.3 中间层组合
传统 GNN 编码器的表示学习过程如公式 (7) 所示, 这种表示学习方式在数据不一致的情况下, 首先可能会导
致节点因为伪装行为或噪声将错误的邻域信息与自身合并, 造成最终学习到的节点表示特征混淆. 此外, 随着模型
深度的增加, 学习到的节点表示会趋于相近, 增加过平滑的概率, 同时也会使不必要的噪声参与聚合, 特别是对于
本文数据不一致的情况, 仅使用最后一层的表示向量用于分类任务, 很容易因为原本重要的信息被弱化或被抹去,
使得分类效果不佳.
图卷积操作的相关研究表明 [17,18] , 使用中心节点与邻域分离的策略会使节点表示即使在多层 GNN 卷积层中
进行传播也不会出现和邻居节点非常相似的情况. 而图卷积网络每层学习到的信息都具有不同的局域性, 前几层
更具有局部性, 而后几层则会捕获到越来越多的全局信息. 显式的组合这些信息可以在数据不一致情况下有效提
升模型的效果.
AGG(·) 得到的邻域信息, 不再融合
基于以上思想, 本节改进 UPDATE(·) , 在每一层更新节点表示时, 仅使用
h (l−1) 的信息, 而将其以残差连接的方式直接传入最后一层. 具体来说, 将所有节点的中间层表示向量以拼接的形式
v