Page 125 - 《软件学报》2026年第4期
P. 125

1566                                                       软件学报  2026  年第  37  卷第  4  期


                 将此表示映射至查询空间、键空间和值空间, 继而进行注意力系数计算. 形式化定义如下:

                                                                  Q
                                                              ˜
                                                            ′
                                                     Q = f Q (Z ), Q =                                (7)
                                                                 ||Q||

                                                              K
                                                K = f K (Z ), ˜ K =  , V = f V (Z )                   (8)
                                                                       ′
                                                       ′
                                                             ||K||
                 其中,   f Q 、 f K 、 f V  是单层神经网络. 基于以上表示, all-pair 注意力分数的计算表示如下:

                                                          (          )
                                                              1  (  )
                                                               ˜
                                                                  T
                                                    D = diag 1+ Q ˜ K 1                               (9)
                                                              n
                    经过全局信息传播的表示可被定义如下:

                                                           [          ]
                                                               1  (  )
                                                                ˜
                                                                   T
                                                  Z global = D −1  V + Q ˜ K V                       (10)
                                                               n
                 其中,   1 表示  n 维全  1  的列向量,  diag(·) 是将   n 维向量转换为  n×n 的对角矩阵的过程. 类似的, 我们将经过全局相关
                 性建模的表示与初始表示相减, 得到全局视角下的残差特征:

                                                      H global = Z global − Z ′                      (11)
                  3.3   基于注意力机制的重建学习和异常分数计算
                    在获得局部与全局视角下的残差特征表示后, 我们进而将二者按列拼接, 作为节点的最终表示为:

                                                     H = [H local ||λ×H global ]                     (12)
                 其中,  λ 是可调节的参数, 用来平衡局部信息和全局信息的使用程度.
                    此外, 由于对于每个数据集, 我们有可利用的少量正常                 (上下文) 节点. 为了进一步利用它们, 同时为方便在测
                 试阶段进行更好的适配, 将模型的训练设计为基于这些节点的重建学习. 即对于每个节点, 利用已知的                                n k  个正常
                 节点特征的组合来重建其特征信息. 在这里, 同样利用了注意力机制. 操作过程如下.
                    基于融合后的特征       H ∈ R n×d r  , 少量正常节点和待训练节点的特征可以拆分出来, 进而分别被定义为:               H k ∈ R n k ×d r
                 和  H q ∈ R n q ×d r  . 重建过程则可被形式化表达如下:

                                                                                                     (13)
                                                    Q r = H q W q , K r = H k W k

                                                             (    T  )
                                                              Q r K
                                                    ˇ H q = Softmax  √  r  H k                       (14)
                                                                d r
                 其中,      W k  为可学习的参数矩阵. 接着, 对于图上的每一个节点  , 损失函数可被定义如下:
                     W q  和                                         v i
                                                    {
                                          (       )   1−cos(θ),           if y i = 0
                                                ,y i =                                               (15)
                                                      max(0,cos(θ)−margin),  if y i = 1
                                        L H q i , ˇ H q i
                 其中, margin 是超参数, 默认为   0, 用于控制不相似样本的惩罚强度,          max(·,·) 是最大化的操作; cos(·) 计算如公式   (16):

                                                             H q i  · ˇ H q i
                                                    cos(θ) =                                         (16)
                                                                  ˇ
                                                           || H q i  ||·|| H q i  ||
                    对应地, 在测试过程中, 节点       v i  的重建分数可被定义为:

                                                       √
                                                         ∑
                                                           d r        2
                                                  s(v i ) =  (H q i_j  − ˇ H q i_j )                 (17)
                                                            j=1
                 其中,   H q i_j   和   ˇ H q i_j   分别为节点重建前后特征向量上第   j 维的值.
                  3.4   GRAD  方法流程
                    根据前文介绍, 我们给出所提方法           GRAD  的详细流程, 如算法     1  所示.
                 算法  1. GRAD  方法.
                 输入: 训练数据集     T train , 建模残差特征以及重建学习中的多个初始化神经网络;
                 输出: 模型参数, 包括: 训练轮数 E; 特征传播次数 L.
   120   121   122   123   124   125   126   127   128   129   130