Page 391 - 《软件学报》2025年第5期
P. 391

王晨旭 等: 基于半监督和自监督图表示学习的恶意节点检测                                                    2291


                 节点在聚合时注意力系数为负, 一致边两端的节点在聚合时注意力系数为正. 同时对欺诈节点和正常节点进行原
                 型提取, 缩短节点与其对应标签类型的原型之间的距离. H2-FDetector 与本文方法的区别在于: 1) H2-FDetector 考
                 虑了数据存在的不平衡问题, 在训练时, 采用下采样的方式进行损失函数的计算, 每次计算时, 将负样本                               (正常类)
                 随机采样到与正样本        (欺诈类) 相同的数量, 再进行计算; 本文所提方法没有进行任何的采样, 不会造成节点信息
                 丢失, 但在设计损失函数时考虑了数据不平衡的影响, 以此解决数据不平衡问题. 2) H2-FDetector 模型聚合机制的
                 目的是为不同类型的边传递不同消息; 本文提出的节点自适应邻域聚合机制能够为类别不同的邻居分配不同的权
                 重. 3) H2-FDetector 在执行聚合操作时, 只聚合了一跳邻居信息; 本文提出的不一致图神经网络编码器可以获取两
                 跳以内的邻居信息, 从而包含了高阶的邻域信息. 4) H2-FDetector 对数据不一致的处理策略是通过预测边类型, 之
                 后将不一致边的聚合注意力系数设为负值, 以此防止节点信息被混淆; 本文提出的不一致图编码器同时考虑了不
                 同类型邻居节点聚合时的注意力系数, 旨在减少类型相似度低的邻域节点信息聚合, 同时加强聚合类型相似度高
                 的邻域节点信息.

                 2   问题描述与定义

                    本文的任务旨在发现电商、社交网络等不同领域平台中出现的恶意用户, 具体来说, 将恶意用户检测任务建
                 模为基于图神经网络的恶意节点检测任务, 并采用半监督学习的方式进行节点分类. 首先, 基于用户间的关系构建
                 图结构, 用户作为图中的节点, 正常节点的标签设为               0, 恶意节点的标签设为       1. 接着, 使用基于图神经网络的编码
                 器为节点生成表示向量, 并将其送入分类器中计算每个节点为恶意节点的概率, 从而达到检测恶意用户的目的.
                    为了形式化定义, 本文用          G = {V,E,X,Y}  表示包含有恶意节点的图数据, 其中           V  表示图中节点的集合
                                           v
                                                                                                v
                                                                             v
                 {v 1 ,...,v n },(u,v) ∈ E 表示节点  u 和   之间的边, 而  N(v) = u : (u,v) ∈ E 表示节点   的邻居节点. 每个节点   的特征为
                 x v ∈ R d x   , 其中  d x  表示节点原始特征的维度,   X = [x 1 ,...,x n ] ∈ R n×d x   表示所有节点特征构成的特征矩阵.   y v ∈ {0,1} ∈ Y
                 表示所有节点标签的集合.
                    图神经网络编码器       g ϕ : x v 7→ h (L)  的节点表示学习过程如公式  (1) 所示:
                                           v
                                                       (        (          ))
                                             (l)
                                            h = UPDATE h (l−1) ,AGG h (l−1)  : u ∈ N(v)               (1)
                                             v
                                                                 u
                                                         v
                                                           (0)
                                   l
                 其中,   h (l)   是节点   v 在第   层的表示向量, 其中  l ∈ [1,L],h = f (x v ), f(·) 为参数化函数, 可以将原始特征  x v  映射到隐
                       v                                   v
                                                                                  v
                 层空间,   AGG(·) 表示邻域信息聚合函数,      UPDATE(·) 为节点表示向量更新函数. 节点   经过         GNN  编码得到最终层
                                                                       v
                 表示向量后, 将其送入下游分类器            f Θ : h (L)  7→ p v , p v = [p v1 , p v2 ]  为节点   的类别概率分布,   p v1  为正常节点的概率,
                                                v
                 p v2  为恶意节点的概率.
                                                                                   v ∈ V 的表示向量. 随后, 通
                    本文以半监督的方式对模型进行训练, 首先, 通过图编码器                  g ϕ  编码得到每个节点
                 过最小化训练集上的分类损失对模型进行优化, 目标函数如公式                     (2) 所示:

                                               ∗
                                                 ∗
                                              Θ ,ϕ ⊨ argminL GNN (E,X,Y train ,Θ,ϕ)
                                                     Θ,ϕ
                                                         ∑
                                                                 (        )
                                                  ⊨ argmin      J f Θ (g ϕ (x v i  )),y i             (2)
                                                     Θ,ϕ   v i ∈V train
                 其中,    J(·) 为损失函数,    V train = {v 1 ,...,v l } ⊂ V,Y train = {y 1 ,...,y l },Θ 为分类器的可训练参数,   ϕ 为图编码器的可训练
                                              U                 u 的类别概率分布, 如公式       (3) 所示:
                 参数. 训练完成后, 预测节点集合中         V = V/V train  中所有节点

                                                       p u = f Θ ∗(g ϕ ∗(x u ))                       (3)
                       ∗                        ∗
                 其中,    Θ  训练得到的最优分类器参数,       ϕ  为最优的图编码器参数.

                 3   基于类别感知的恶意节点检测方法               CAMD

                 3.1   数据分析
                    为了更具体地了解恶意节点检测中存在的问题与伪装行为的比例, 本文对恶意检测任务场景中常见的数据进
   386   387   388   389   390   391   392   393   394   395   396