Page 406 - 《软件学报》2025年第9期
P. 406
何玉林 等: 基于时空注意力的多粒度链路预测算法 4317
2
2
2
2
2
2
2
2
,
G = {G ,G ,...,G 2 } G 对应的邻接矩阵序列表示为 A = {A ,A ,...,A 2 }. 然后, 将 G 利用 GWMA 进行计算,
1 2 l−n+1 1 2 l−n+1
得到粒度 3 社交网络时间序列 G = {G ,G ,...,G 3 }, 其对应的邻接矩阵序列为 A = {A ,A ,...,A 3 }. 至此生成
3
3
3
3
3
3
1 2 l−2n+2 1 2 l−2n+2
了 3 种不同粒度的社交网络时间序列, 这 3 个时间序列分别作为短期分量、中期分量和长期分量输入到模型中,
以分别表示社交网络演化过程的短期、中期和长期趋势.
2.4 时间注意力网络
在时间维度方面, 许多工作采用循环神经网络来学习网络序列的时间信息, 这是一种有效的方式, 但其在处理
长序列时可能会丢失重要的信息, 导致模型在预测时考虑不到全局信息, 且每个时间步都使用相同的权重来处理
输入序列. 为了解决这些问题, 基于注意力机制的神经网络被提出, 并在机器翻译、文本摘要等序列任务中取得了
显著的成果. 在本文工作中, 使用基于注意力机制的神经网络提取社交网络序列的全局时间特征, 模型在每个时间
步根据输入的不同位置信息来动态地调整权重, 从而更好地学习到关键信息.
在建模社交网络序列的时间信息之前, 本文先使用一个全连接层对社交网络进行约简, 以较低的维度表示网
1
络中的每一个节点. 以短期分量 G 为例, 对序列内的每个快照进行约简, 具体如公式 (3) 所示:
1
1
1
1
1
1
[H ,H ,...,H ] = FC([A ,A ,...,A ]) (3)
1
1
l
2
2
l
1
其中, FC 是表示线性变换的全连接层, H ∈ R N×F ,1 ⩽ k ⩽ l 是约简后的社交网络快照表示, N 是节点数, F 是约简维
k
1
1
1
1
数. 约简后的短期分量表示为 G = [H ,H ,...,H ] ∈ R N×l×F .
H 1 2 l
现实中, 社交网络等动态图因多种潜在因素的影响而呈现多元演化的特点 [30] . 例如在工作日和节假日, 社交
网络呈现不同的演化趋势. 为了建模社交网络的多元演化, 本文使用多头注意力神经网络从不同角度学习的社交
网络的演化. 通过对约简后的社交网络快照表示序列 G 1 进行线性变化, 得到 Q i ,K i ,V i , 计算如公式 (4) 所示:
H
K
V
Q
1
[Q i ,K i ,V i ] = G [W ,W ,W ] (4)
H
i
i
i
V
K
Q
其中, Q i ,K i ,V i ∈ R N×l×d k 分别是第 i 个头的查询、键和值的表示, W ,W ,W ∈ R F×d k 是第 i 个头的权重参数. 然后计
i i i
算每个社交网络快照的上下文表示, 计算过程如公式 (5) 所示:
( / √ )
head i = Softmax Q i K T d k V i (5)
i
其中, head i ∈ R N×l×d k 表示第 i 个头的注意力输出. 最后, 将每个头得到的注意力表示进行拼接, 从而将每个头学习到
的不同时间特征进行整合, 并对多头合并后的表示进行线性变换得到多头注意力机制的最终输出, 计算方式如下:
1 O
X = concat(head 1 ,...,head h )W (6)
tatt
O
其中, X 1 ∈ R N×l×h·d k 为时间注意力网络对短期分量社交网络序列学习到的时间特征, W ∈ R h·d k ×h·d k 是可学习的权重
tatt
参数, h 是注意力的头数.
2.5 基于掩码注意力机制的图卷积网络
在空间维度方面, 一种有效且常用的信息表示方法是对社交网络快照序列中的每个快照提取空间结构, 但这
也存在一定的局限性, 这种方法无法从长期的角度考虑节点的邻居对节点的影响, 只能从短期的角度简单地认为
所有邻居的重要程度是一样的. 为了解决这个问题, 本文使用注意力神经网络从社交网络序列的时间特征中自适
应地学习社交网络图结构, 然后基于社交网络快照序列内节点的所有历史邻居信息对图结构进行掩码更新图结
构, 避免引入节点的非邻居信息, 并利用学习到的图结构对时间特征进行图卷积, 从而以数据驱动的方式学习社交
网络快照序列的空间信息.
1 ˜ 1 N×h·d k , 然后使用注意力机制 [31] 自适应
首先, 取 X 中最后一个时间步的特征作为全局时间特征, 记为 X ∈ R
tatt tatt
学习空间维度中节点之间的相互影响关系, 具体计算方式如下:
T
˜ 1
˜ 1
S = V s ·σ((X W 1 )W 2 (X W 3 ) +b s ) (7)
tatt
tatt
其中, W 1 ∈ R h·d k ×D 1 ,W 2 ∈ R D 1 ×D 2 ,W 3 ∈ R h·d k ×D 2 ,V s ,b s ∈ R N×N 是可学习的参数, σ 是 Sigmoid 激活函数. S ∈ R N×N 是学习
i
到的注意力矩阵, S 中的元素 S i,j 表示节点 对节点 的影响程度.
j
然后, 使用 S , 计算如公式 (8):
′
Softmax 函数对注意力矩阵 S 进行归一化得到注意力矩阵

