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.

